Bug 227

Summary: VP8 optimizations
Product: Libre-SOC's first SoC Reporter: cand
Component: Source CodeAssignee: Konstantinos Margaritis (markos) <konstantinos>
Status: RESOLVED FIXED    
Severity: enhancement CC: libre-soc-bugs, lkcl
Priority: ---    
Version: unspecified   
Hardware: PC   
OS: Linux   
See Also: http://bugs.libre-riscv.org/show_bug.cgi?id=230
NLnet milestone: NLNet.2019.10.031.Video total budget (EUR) for completion of task and all subtasks: 3000
budget (EUR) for this task, excluding subtasks' budget: 3000 parent task for budget allocation: 137
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:
markos={amount=3000, submitted=2022-09-27, paid=2022-10-11}
Bug Depends on:    
Bug Blocks: 137    

Description cand 2020-03-13 09:58:12 GMT
Optimizing VP8 code in ffmpeg with new instructions.

Results:

SVP64 assembly code of DCT 4x4 used in VP8 codec:

https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=media/video/libvpx/vpx_get4x4sse_cs_svp64_real.s;h=45bb5440ffc5a9aefea570ff965f1cfface3925d;hb=HEAD
Comment 1 Konstantinos Margaritis (markos) 2022-09-27 11:18:53 BST
Ok, Similarly to VP9, as VP8 is implemented in the same libvpx library, an SVP64 version of of the VP8 DCT 4x4 has been completed in commit 

https://git.libre-soc.org/?p=openpower-isa.git;a=commit;h=343853a711ca2dded15f8a713370a61454f2627f

Implementation method was similar to VP9 ticket: 

https://bugs.libre-soc.org/show_bug.cgi?id=228

Tests can be run by make all and then running

$ ./vp8_dct_test
[==========] Running 4 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 2 tests from C/FdctTest
[ RUN      ] C/FdctTest.SignBiasCheck/0
[       OK ] C/FdctTest.SignBiasCheck/0 (0 ms)
[ RUN      ] C/FdctTest.RoundTripErrorCheck/0
[       OK ] C/FdctTest.RoundTripErrorCheck/0 (0 ms)
[----------] 2 tests from C/FdctTest (0 ms total)

[----------] 2 tests from SVP64/FdctTest
[ RUN      ] SVP64/FdctTest.SignBiasCheck/0
[       OK ] SVP64/FdctTest.RoundTripErrorCheck/0 (202893 ms)
[----------] 2 tests from SVP64/FdctTest (576060 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 2 test suites ran. (576060 ms total)
[  PASSED  ] 4 tests.