Martin Storsjö
605f2fb858
Remove the now unnecessary mc_test_common.h
2015-01-28 23:59:41 +02:00
Martin Storsjö
f03edd79c2
Merge all MC unit tests into one file
...
Since both encoder and decoder use the same MC implementation now,
one set of tests is enough.
2015-01-28 23:59:37 +02:00
Martin Storsjö
9a0663620a
Move the MC routines to the common library
...
Use the decoder versions of the functions (which are capable
of handling widths 4/8/16 for luma, not only 16 as in the
encoder). By using the more generic versions, there may be a small
performance loss since the functions need to check the width
in every call. Actual measurements show that the actual change is
very small (and the shared routines turn out to actually be faster
than the existing ones in ARM NEON setups).
2015-01-28 15:32:46 +02:00
Martin Storsjö
1a7d0ab831
Hook up McChromaWidthEq8_ssse3 into use in the decoder as well
2015-01-28 15:20:43 +02:00
Martin Storsjö
9a9fc4c489
Change pfSampleAveraging to be a single function with internal width handling
...
This makes it match the behaviour of pMcLumaFunc and pMcChromaFunc.
2015-01-28 13:59:58 +02:00
Martin Storsjö
1127aa7761
Simplify the MC unit tests now that the naming is made consistent
2015-01-28 13:59:58 +02:00
Martin Storsjö
8b6bf0499f
Rename the encoder MC chroma/luma functions to match the naming in the decoder
2015-01-28 13:59:58 +02:00
Martin Storsjö
bb21b62cbd
Simplify the MC unit tests now that the luma functions have a similar signature
2015-01-28 13:59:58 +02:00
Martin Storsjö
1cf68cad13
Move the qpel function table into the luma function itself
...
This unifies the luma MC interface to match the decoder side.
2015-01-28 13:59:58 +02:00
sijchen
a8262dd9e6
Merge pull request #1767 from mstorsjo/fix-msvc-warnings
...
Use float literals instead of double literals when setting float values
2015-01-28 16:48:23 +08:00
sijchen
c245cd2d68
Merge pull request #1766 from mstorsjo/make-clean
...
Remove more generated files in "make clean"
2015-01-28 16:34:53 +08:00
sijchen
e4260f6e97
Merge pull request #1765 from mstorsjo/mccopy-neon
...
Handle width==2 for the neon version of McCopy
2015-01-28 15:40:02 +08:00
Martin Storsjö
b444f8d9d0
Remove more generated files in "make clean"
...
Make sure to remove *.exe also, if cross-building from unix to
windows (and running "make clean" without specifying mingw as
target OS).
2015-01-28 09:39:55 +02:00
Martin Storsjö
853d2922db
Use float literals instead of double literals when setting float values
...
This fixes warnings with MSVC 2008.
2015-01-28 09:19:09 +02:00
Martin Storsjö
7354a8cbae
Handle width==2 for the neon version of McCopy
...
Fall back on the C version of the algorithm here, just as in
McCopy_sse2.
This fixes 2 of the McCopy tests on arm/aarch64.
2015-01-28 09:01:00 +02:00
ruil2
c4c73ee5d6
Merge pull request #1764 from sijchen/fix_br3
...
[Encoder] fix potential overflow and save unnecessary calculation
2015-01-28 11:45:47 +08:00
ruil2
051a16e02e
Merge pull request #1762 from sijchen/fix_sta
...
[Encoder] fix statistics: updating should be independent with log interval
2015-01-28 10:51:51 +08:00
Sijia Chen
5752888c81
1, fix a potential overflow
...
2, remove some unnecessary multiplier and add input check of spatial BR
2015-01-28 10:51:27 +08:00
sijchen
a00dd56f1c
Merge pull request #1763 from mstorsjo/mc-ut-simplify
...
Remove the forceC parameter from DEF_MCCOPYTEST
2015-01-28 10:13:46 +08:00
Martin Storsjö
e5c2f333be
Remove the forceC parameter from DEF_MCCOPYTEST
...
Even if there actually is no SIMD optimized version of the
width==2 cases, luma function for SIMD still needs to handle
it by calling McCopyWidthEq2_c for these cases.
This simplifies the UT code a little, and makes sure that
those codepaths are tested properly.
2015-01-27 12:11:38 +02:00
sijchen
d9ee702031
Merge pull request #1759 from mstorsjo/enc-mc-ut
...
Add unit tests for encoder MC
2015-01-27 16:51:42 +08:00
Martin Storsjö
23b20fb14c
Simplify code in HorFilterInput16bit in MC
...
This avoids a gcc optimizer bug (which seems to be present in some
gcc 4.6 and 4.7 versions) at the -O3 level.
2015-01-27 09:41:00 +02:00
Martin Storsjö
279e14b34e
Add const to some inline functions within MC
2015-01-27 09:41:00 +02:00
Martin Storsjö
10e2f90b7e
Bundle MC tests for all motion vectors in one single test
...
This speeds up the compile time from 21.3 to 2.6 seconds
for the MC test files.
This makes it slightly harder to see exactly which test
failed on a quick glance, but it makes the overall structure of
the unit test output more manageable and readable, by reducing
the number of tests from 1300 to 430.
2015-01-27 09:41:00 +02:00
Martin Storsjö
ca97f78ae8
Add unit tests for special cased MC functions in the encoder
2015-01-27 09:41:00 +02:00
Martin Storsjö
8084a2c797
Add unit tests for encoder MC
2015-01-27 09:41:00 +02:00
Martin Storsjö
4df4c1d757
Prepare the shared MC test code for adding an encoder MC test
2015-01-27 09:41:00 +02:00
Martin Storsjö
49af2b592d
Split DecUT_MotionCompensation to a shareable header
...
This allows adding a version of the same test for the encoder.
2015-01-27 09:40:59 +02:00
Martin Storsjö
cf3e7b5dec
Make local functions and tables in DecUT_MotionCompensation static
2015-01-27 09:40:59 +02:00
Martin Storsjö
478af8f00c
Unify the pfChromaMc function signature with the decoder version
...
Instead of passing a struct with x/y, pass them as two separate
parameters.
2015-01-27 09:40:59 +02:00
Martin Storsjö
8ecb8b4200
Remove unused includes in DecUT_MotionCompensation
2015-01-27 09:40:59 +02:00
Martin Storsjö
420a81afe4
Unify the order of iX and iY in DecUT_MotionCompensation
...
They are in the order iX, iY in the rest of the file.
2015-01-27 09:40:59 +02:00
Martin Storsjö
9fc9acfd14
Avoid a duplicate local typedef
2015-01-27 09:40:59 +02:00
Martin Storsjö
7d9fc35235
Unify the encoder MC init function with the decoder
...
This simplifies the code a little, by passing a pointer to the sub-struct
SMcFunc instead of to the full SWelsFuncPtrList, which isn't necessary.
2015-01-27 09:40:59 +02:00
ruil2
5b27407993
Merge pull request #1757 from sijchen/sps_list4
...
[Encoder] add input checking and fix a bs length under new strategy
2015-01-27 10:43:20 +08:00
ruil2
1b48e6c88c
Merge pull request #1756 from sijchen/savc4
...
[Encoder] Implementation of bSimulcastAVC and UT
2015-01-27 10:42:50 +08:00
Sijia Chen
d557578be3
fix statistics: updating should be independent with log interval
2015-01-27 10:12:51 +08:00
sijchen
f404ce2e56
Merge pull request #1758 from mstorsjo/add-missed-test
...
Hook up the DecUT_ParseSyntax test
2015-01-27 08:47:40 +08:00
Martin Storsjö
e64e2bb620
Avoid warnings in DecUT_ParseSyntax
2015-01-26 23:54:34 +02:00
Martin Storsjö
4192165ec9
Add DecUT_ParseSyntax to the build system
...
This test seems to have been added to the git tree in commit
9a602cac
(which does much more than what the commit message
tells), and finally merged into git master in 2c99f581
.
2015-01-26 15:59:43 +02:00
Martin Storsjö
faf62464a8
Make DecUT_ParseSyntax.cpp actually build and run successfully
2015-01-26 15:59:43 +02:00
Martin Storsjö
4ca8ad2612
Initialize pCodecInstance in the constructor
...
This avoids using uninitialized memory if SetCodecInstance
isn't ever called (as in DecUT_ParseSyntax).
2015-01-26 13:16:09 +02:00
Sijia Chen
deccd1eadb
fix profileidc
2015-01-26 16:36:42 +08:00
ruil2
1ae06eab91
Merge pull request #1755 from sijchen/fix_lvl
...
[Encoder] fix level-idc related input checking and a statistics calculation
2015-01-26 15:58:03 +08:00
Sijia Chen
e2fb48d404
change the trace to warning
2015-01-26 15:42:09 +08:00
Sijia Chen
8d5ec6759d
add support of SimulcastAVC functions
2015-01-26 15:25:09 +08:00
sijchen
89159ab25f
Merge pull request #1754 from ruil2/status
...
use the new no delay decoderframe interface instead of old one
2015-01-26 15:23:49 +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
Sijia Chen
45e3424364
add input checking and fix a bs length under new strategy
2015-01-26 11:12:24 +08:00
ruil2
4b52d99d97
use the new no delay decoderframe interface instead of old one
2015-01-26 09:56:11 +08:00