Commit Graph

46 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
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
0c820f4c06 adjust encoder test case to cover multi-thread without loadbalancing 2015-12-09 09:58:03 -08:00
sijchen
f3c4b878ff update the usage of flag and MD5 value 2015-11-23 11:54:43 -08:00
Karina
7c1fbad53a fix crash 2015-11-13 17:16:26 +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
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
ab370cd607 refine RC parameters 2015-07-24 09:07:55 +08:00
karina li
f2d391980e use the external setting for max_qp and min_qp 2015-06-08 00:44:42 +08:00
ruil2
4c352d13f3 fix vui writting 2015-03-25 14:10:18 +08:00
ruil2
cce966fbba update bGapsInFrameNumValueAllowedFlag according to parameters setting 2015-03-18 13:44:03 +08:00
ruil2
ae9c5e2516 update vui parameters 2015-03-13 19:11:10 +08:00
ruil2
c109f4dc8d add VUI for base layer 2015-03-13 14:31:08 +08:00
Sijia Chen
f13624316e fix level-idc related input checking and a statistics calculation
will change bs but tested there is little impact on RD
being reviewed at: https://rbcommons.com/s/OpenH264/r/1084/
2015-01-26 15:20:58 +08:00
ruil2
5ab5fe155b keep the consistency between sps level and parameter level 2014-12-15 09:56:54 +08:00
sijchen
c7b5051738 Merge pull request #1469 from shihuade/APIUTV1.5.2
refactor --for BaseEncoderTest
2014-11-03 09:31:11 +08:00
Martin Storsjö
53e2f67e80 Set constraint set 0 and 1 flags for non-scalable as well
This allows decoders to know that a baseline stream doesn't
contain any of the features that aren't in the constrained
baseline subset.

Set the flags based on what profile we target.
2014-10-31 10:48:09 +02:00
huashi
54c24dfd60 refactor --for BaseEncoderTest 2014-10-29 17:53:08 +08:00
Sijia Chen
4fab8c2ee7 for reference selection under screen:
1, ref_list_mgr_svc.cpp, Ln314: fix a wrong DeleteLTRFromLongList which should not be used under screen strategy
2, ref_list_mgr_svc.cpp, Ln910: remove the frame which is furthest in distance to the current frame in ref list
3, wels_preprocess.cpp: use scene LTR ref list when the current frame is scene LTR
-, ref_list_mgr_svc.cpp, Ln811: add DEBUG trace
reviewed at: https://rbcommons.com/s/OpenH264/r/870/
2014-10-28 16:58:59 +08:00
ruil2
abc01e6b81 add encoder cabac support 2014-10-27 13:06:33 +08:00
Sijia Chen
4e89e71e8f reformat cpp files for unit tests 2014-10-23 17:54:33 +08:00
Sijia Chen
cf2cf9efd9 add basic strategy for lossy+no LTR route 2014-09-26 16:40:19 +08:00
Sijia Chen
84ca659f06 add parameter and one case in UT 2014-09-19 14:46:02 +08:00
lyao2
72862118f9 Fix bug RC_QUALITY_MODE not works as expected 2014-09-15 15:31:20 +08:00
lyao2
522aa4457a enlarge QP range when skipframeflag off on BitRate mode 2014-09-12 14:45:08 +08:00
ruil2
ac7fac9644 get mv and mvd from level limitation 2014-08-26 16:30:57 +08:00
ruil2
7fb9e57f30 Revert "ut_win32"
This reverts commit 462f56d413.
2014-08-21 10:07:03 +08:00
unknown
462f56d413 ut_win32 2014-08-20 10:46:05 +08:00
syureyi
4335167792 change the /sdcard/ and also alignment format 2014-07-28 13:25:27 +08:00
syureyi
f78f395683 checking the scripits for unittest automatically on mobile 2014-07-25 14:05:36 +08:00
ruil2
aaedb508c3 enable hashcode verification for screen content 2014-07-15 14:41:29 +08:00
Martin Storsjö
6e40991cc7 Only force iLoopFilterDisableIdc to 2 if multithreading has been enabled
Previously these lines were within an #ifdef MT_ENABLED block,
but now that threading is enabled by default, we should probably
only do it if threading has been requested.
2014-07-03 08:38:23 +03:00
Sijia Chen
49fb042f21 add bgd fix to camera route as well to avoid visible artifact when using fake content in video 2014-07-03 11:01:02 +08:00
huili2
dc3fae4477 astyle all 2014-06-25 18:50:41 -07:00
huili2
606d748e5b prevent int32 multiplication overflow 2014-06-24 18:59:02 -07:00
dongzha
f6ce43f83b Use Int instead of Double in Rate Control and Modify anchor SHA1 value 2014-06-12 17:30:13 +08:00
ganyang
2e6f180e95 remove max slice number constraint 2014-05-22 19:39:43 +08:00
Sijia Chen
7413032185 using WelsRound for all the double-int32_t conversion 2014-05-20 14:06:31 +08:00
ganyang
c08c0f85eb This refine is to remove slice number limitation in the future. The changes contains:
1. add pNalLen in Structure SWelsEncoderOutput to store each nal length
2. rename iNalLengthInByte[MAX_NAL_UNITS_IN_LAYER] to pNalLengthInByte in Structure SLayerBSInfo, the pointer point to pNalLen, like pBSBuf point to pFrameBS.
2014-05-14 16:00:36 +08:00
ruil2
a15e640137 add usagetype parameter in encoder unit test to test screen content 2014-04-18 11:17:25 +08:00
Martin Storsjö
04ca4ba488 Don't override the deblocking setting in the encoder test
Since this is on by default now, we don't need a separate test
that has it enabled. Thus we can now remove one of the encoder
tests.

By not overriding the deblocking setting at all, the hash
changes for the other tests that use SEncParamExt.
2014-04-14 15:38:10 +03:00
ruil2
1e3053208d update the default value for bPrefixNalAddingCtrl and iLoopFilterDisableIdc 2014-04-14 14:06:02 +08:00
Licai Guo
f26bb57415 reorganize tests 2014-03-24 22:14:43 -07:00