Commit Graph

202 Commits

Author SHA1 Message Date
Sindre Aamås
fe4a47a979 [UT] Add comment on X86_ASM checksum ifdef 2016-06-08 21:53:30 +02:00
Sindre Aamås
8a0af4a3f2 [Processing/x86] DyadicBilinearDownsample optimizations
Average vertically before horizontally; horizontal averaging is more
worksome. Doing the vertical averaging first reduces the number of
horizontal averages by half.

Use pmaddubsw and pavgw to do the horizontal averaging for a slight
performance improvement.

Minor tweaks.

Improve the SSSE3 dyadic downsample routines and drop the SSE4 routines.
The non-temporal loads used in the SSE4 routines do nothing for cache-
backed memory AFAIK.

Adjust tests because averaging vertically first gives slightly different
output.

~2.39x speedup for the widthx32 routine on Haswell when not memory-bound.
~2.20x speedup for the widthx16 routine on Haswell when not memory-bound.

Note that the widthx16 routine can be unrolled for further speedup.
2016-06-02 13:44:28 +02:00
Karina
9b2dd55324 add GetBsPostion for cabac and cavlc 2016-05-20 14:29:48 +08:00
sijchen
ffb85046b4 Refactoring: Wrap all the operations related to eSpsPpsIdStrategy to class, to improve code readability 2016-05-04 15:06:02 -07:00
Martin Storsjö
81493590f8 Remove a stray empty line
This disappears when regenerating the makefiles.
2016-03-24 10:01:48 +02:00
sijchen
33bb96f604 Merge pull request #2420 from sijchen/fix_sps
[Encoder] fix the lack of eSpsPpsIdStrategy==INCREASING_ID under simulcast avc on
2016-03-21 21:51:07 -07:00
huili2
a8d9576297 Merge pull request #2405 from HaiboZhu/Fix_UT_decoder_init_fail
Fix the decoder init failed case in UT
2016-03-16 16:28:14 +08:00
sijchen
c009183e97 fix the lack of eSpsPpsIdStrategy==INCREASING_ID under simulcast avc on 2016-03-14 11:28:44 -07:00
Haibo Zhu
46f42ec5f3 Fix the decoder init failed case in UT 2016-03-14 17:06:58 +08:00
Karina
f84f2315ab change downsampling logic that downsampling source is from the nearest layer instead of the highest layer 2016-03-14 09:55:36 +08:00
sijchen
47e3f4c45c correct and enhance the ut template 2016-01-19 17:16:39 -08:00
Karina
0f0d54ef51 using independent encoder control logic for SAVC case 2016-01-14 09:16:12 +08:00
sijchen
5cad0f9bba enhance a UT to cover more case 2016-01-11 22:01:02 -08:00
sijchen
0c820f4c06 adjust encoder test case to cover multi-thread without loadbalancing 2015-12-09 09:58:03 -08:00
sijchen
76ca56498a Add tasks and thread pool call for SM_SIZELIMITED_SLICE mode 2015-12-09 09:55:04 -08:00
sijchen
f38d24f036 fix the conflict with the current master 2015-11-30 23:42:26 -08:00
Guangwei Wang
c917d09263 fix bug in UT code 2015-12-01 08:55:00 +08:00
sijchen
420778f4d8 add valid adjustment in test to avoid outputing warning trace 2015-11-30 11:33:13 -08:00
sijchen
42ac53b5fc update win UT project after UT structure change 2015-11-30 11:29:47 -08:00
sijchen
46667588e3 moving test cases to specific files to avoid the too long encode_decode_api_test.cpp 2015-11-30 10:47:10 -08:00
sijchen
05c89b75f0 remove duplicated operation after thread pool and rename a task for clearer meaning 2015-11-25 13:46:21 -08:00
sijchen
67dab5d70e Merge pull request #2266 from sijchen/ut0
[UT] put class notification to header file
2015-11-25 09:57:43 -08:00
sijchen
5d03a8a692 put class notification to header file 2015-11-23 15:55:24 -08:00
sijchen
f3c4b878ff update the usage of flag and MD5 value 2015-11-23 11:54:43 -08:00
huili2
dc2cbe4a22 remove API data format in decoder in 1.6 2015-11-17 13:58:57 +08:00
Karina
7c1fbad53a fix crash 2015-11-13 17:16:26 +08:00
sijchen
e508c86dac fix the missing loadbalancing part 2015-11-12 13:15:07 -08:00
sijchen
33c378f7b7 change API for slicing part for easier usage (the UseLoadBalancing flag is still under working) 2015-11-10 09:50:06 -08:00
Karina
e20ce63778 do GOM rate control for I frame 2015-11-06 16:08:52 +08:00
HaiboZhu
f13f502203 Merge pull request #2208 from sijchen/fixslc
[Encoder] Fix for a slicing and multi-threading setting
2015-11-04 09:24:08 +08:00
HaiboZhu
e6d9d44344 Merge pull request #2204 from sijchen/ut_template2
[UT] add a .template file for codec UT
2015-11-04 09:23:26 +08:00
Sijia Chen
2dab8bf087 fix for a slicing and multi-threading setting 2015-11-03 14:42:56 -08:00
Sijia Chen
3350cf75a5 add one test case 2015-10-28 21:51:47 -07:00
Sijia Chen
054a297ca7 adjust encoder tasks, add ut and enable new thread pool under some slice modes 2015-10-28 09:39:26 -07:00
Sijia Chen
6ca397e758 correct a typo along with the in-plan v1.5 release 2015-10-15 09:55:06 -07:00
Sijia Chen
542fd232cc add a .template file for codec UT 2015-10-06 11:10:06 -07:00
Sijia Chen
82cc0535ae Add fix for simulcast if frame rate in the middle spatial layer is smaller 2015-09-30 17:26:50 -07:00
Sijia Chen
53c057a8a8 fix for simulcast case when the frame rate of lower resolution is higher, and add test case 2015-09-21 15:42:17 -07:00
Sijia Chen
829f216dbf fix a size range to avoid triggering latest constraints of input 2015-09-16 15:23:13 -07:00
karina li
1c3f7b2b11 fix UT failed 2015-09-15 13:07:30 +08:00
Guangwei Wang
64657d3cfd add new c and assembly functions to optimize downsampler when downscale equal 1:3/1:4 2015-09-11 16:45:40 +08:00
karina li
e8d09bac0c update UT that makes input width or height more than 16 2015-09-09 10:29:51 +08:00
Sijia Chen
9aafb779eb 1, refactor to remove similar function (WriteSliceToFrameBs is removed)
2, use slice-level variable in child-thread function so there can be a better independency in child-thread function
    3, add two more test cases
2015-08-03 21:42:47 -07:00
karina li
ab370cd607 refine RC parameters 2015-07-24 09:07:55 +08:00
Sijia Chen
e70621c194 save memory usage and improve error return logic under VLCOVERFLOW 2015-07-09 12:37:08 +08:00
Sijia Chen
2a15a7975f correct the termination of error handling under multi-thread 2015-06-26 17:40:49 +08:00
Martin Storsjö
78e0ec6130 Convert tabs to spaces before comments 2015-06-10 10:22:29 +03:00
Martin Storsjö
ca51ee0f44 Remove tabs where a simple space is just enough 2015-06-10 10:21:52 +03:00
Martin Storsjö
51efa57a3d Convert tabs to spaces in vertically aligned code 2015-06-10 10:21:29 +03:00
karina li
f2d391980e use the external setting for max_qp and min_qp 2015-06-08 00:44:42 +08:00