Sijia Chen
943981abc4
fix a nal generation for simulcast avc and add nal-type check for simulcast avc UT
2015-02-09 13:50:31 +08:00
sijchen
9008b15d94
Merge pull request #1799 from mstorsjo/copy-spatial-downsample
...
Allow forcing copying in downscale
2015-02-06 14:22:18 +08:00
ruil2
8fc2af760f
Merge pull request #1804 from sijchen/fix_over3
...
[Encoder] fix potential overflow under large bit rate
2015-02-06 14:22:01 +08:00
ruil2
296ab4d490
Merge pull request #1802 from sijchen/savc50
...
[Encoder] fix for in-middle changing simulcast avc setting
2015-02-06 14:21:47 +08:00
Sijia Chen
431bcee310
1, update the max-nal-size setting in UT and param check since we are using a larger input check
...
2, fix potential overflow (will change bs but little impact on bs)
2015-02-06 13:24:20 +08:00
Martin Storsjö
0a2cd1e59a
Allow forcing copying in downscale
...
Normally, the DownsamplePadding skips scaling if the target
size is the same as the source size, assuming that the caller
will use the source data pointer in that case. This is true
for the base layer (the first call to DownsamplePadding in
SingleLayerPreprocess), but when downsampling the other layers,
there is no special handling for the case when the target
is the same size as the source.
Previously, the encoding of such spatial layers will use
completely uninitialized data, encoding complete garbage.
Instead force DownsamplePadding to make a copy if no scaling
is required, for the dependency layers. The base layer still
avoids a copy unless scaling of that layer is required.
Whether it actually makes sense to have lower spatial layers
the same size as the original one is a different question
though - currently the code allows it, and
EncodeDecodeTestAPI.SetOptionEncParamExt will try to use it.
2015-02-05 13:10:39 +02:00
Sijia Chen
bc1b28b5dd
fix for in-middle changing simulcast avc setting
2015-02-05 16:34:28 +08:00
Sijia Chen
2211324e2b
add a para check for max_nal_size
2015-02-03 15:14:36 +08:00
Martin Storsjö
4f237b51ef
Move parts of wels_const.h into a shared header
2015-02-02 12:41:11 +02:00
Martin Storsjö
713beb7df7
Fix typos in header include guards
2015-02-02 12:41:11 +02:00
sijchen
5fdd01ec0c
Merge pull request #1787 from mstorsjo/remove-stray-semicolon
...
Remove accidental double semicolons
2015-02-02 18:15:02 +08:00
Martin Storsjö
a3063531c4
Remove accidental double semicolons
2015-02-02 09:20:35 +02:00
Martin Storsjö
2356eb1ff6
Move the memory allocation/deallocation routines to the common library
...
They are still used slightly differently in the encoder and decoder;
the decoder uses plain functions while the encoder uses one object
keeping track of the number of allocated bytes, and keeping track
of the requested alignment.
2015-01-30 11:30:59 +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ö
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ö
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ö
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
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
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ö
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ö
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
deccd1eadb
fix profileidc
2015-01-26 16:36:42 +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
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
e7fff10d91
Merge pull request #1745 from sijchen/fix_ut
...
[UT] fix a random failure of UT
2015-01-21 17:31:34 +08:00
Sijia Chen
d74234d975
enhance max-br checking logic
2015-01-21 16:54:43 +08:00
Sijia Chen
5b10c1ff8d
fix random failure of UT under randon seed 1421732719
2015-01-20 15:47:05 +08:00
Sijia Chen
ee40ba6392
improve the para checking of max-br
2015-01-20 10:31:13 +08:00
Sijia Chen
d9502aa71d
rename the strategy to enum
2015-01-19 10:49:38 +08:00
ruil2
aea1017562
Merge pull request #1732 from sijchen/sps_list2
...
[Encoder] add new SpsPpsStrategy and UT
2015-01-16 10:53:45 +08:00
Martin Storsjö
d6b4b5365d
Declare a float constant as float instead of as double
...
This avoids warnings about converting from double to float
in MSVC.
2015-01-15 12:38:42 +02:00
Martin Storsjö
75bbc286e1
Add explicit casts when converting from double to int32_t
...
This fixes build warnings with MSVC.
2015-01-15 12:38:39 +02:00
Martin Storsjö
c8972f1c32
Consistently use the right type for log prints
...
These fields were originally int64_t. Even though long long is
the same size as int64_t in all setups, some compilers treat
it as a different type than long long (in 64 bit environments,
int64_t is a long, not a long long, even if they are the same
size).
%"PRId64" is used for printing int64_t, while %lld is used
for printing long long.
This fixes build warnings with gcc.
2015-01-15 12:33:44 +02:00
Sijia Chen
98ed302990
add new SpsPpsStrategy and UT
2015-01-15 18:04:39 +08:00
sijchen
dbcbe180e6
Merge pull request #1729 from ruil2/rc_submit1
...
add rc function
2015-01-15 16:22:39 +08:00
ruil2
5b5cc8434e
add rc function
2015-01-15 11:14:05 +08:00
Sijia Chen
c02d9b0865
expand the mb_idx range so as to support frame size > 32767
2015-01-14 17:59:16 +08:00
Martin Storsjö
f594d96a51
Log all provided parameters in WelsEncoderApplyLTR
...
This fixes warnings with gcc and clang.
2015-01-14 09:06:36 +02:00
ruil2
cdd072e1d4
Merge pull request #1714 from sijchen/fix_ref4
...
[Encoder] enhance param checking with num-ref and related logging
2015-01-13 16:10:20 +08:00
ruil2
47dd4de412
Merge pull request #1717 from sijchen/fix_ltr1
...
[Encoder] fix for the valgrid warning of issue#1362
2015-01-13 15:30:53 +08:00
Sijia Chen
ea06cbe06b
enhance param checking with num-ref and related logging
2015-01-12 10:39:51 +08:00
ruil2
04cb9f3477
Merge pull request #1678 from sijchen/savc1
...
[Encoder] interface for simulcast avc
2015-01-12 09:23:17 +08:00
Sijia Chen
a4ae5e3747
add fix for the valgrid warning of issue#1362
2015-01-09 16:17:51 +08:00
Sijia Chen
76ef30dc82
refactor
2015-01-09 15:55:03 +08:00