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
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ö
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ö
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
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
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
d9502aa71d
rename the strategy to enum
2015-01-19 10:49:38 +08: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
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
zhiliang wang
01b74ea7c1
Add asm code for NoneZeroCount and refine related code
2015-01-04 16:39:17 +08:00
Sijia Chen
6050bf89f6
add interface of simulcast avc, the actual support is coming later
2014-12-29 10:54:01 +08:00
ruil2
0babd8d7ab
add profile and level checking in ParamValidation
2014-12-24 15:40:30 +08:00
Martin Storsjö
bdbda13929
Use the correct types instead of void pointers in function signatures in rc.h
2014-12-22 23:54:06 +02:00
ruil2
e3bf63db59
using function pointer to make different branch for different rc
2014-12-22 12:00:39 +08:00
ruil2
3ae2507c99
remove macro definition to the header file
2014-12-19 10:53:06 +08:00
Martin Storsjö
f89780ddd8
Use the correct types instead of void pointers in function signatures
...
This gets rid of 50 lines of code with just casts of void pointers,
making the code shorter and clearer.
2014-12-16 22:13:38 +02:00
ruil2
ec99819ce8
Merge pull request #1614 from sijchen/fix_idr_id1
...
[Encoder] fix idr_id: idr_id should be adding regardless of the sps strategy
2014-12-11 16:41:59 +08:00
Sijia Chen
32d6193f97
fix idr_id: idr_id should be adding regardless of the sps strategy
2014-12-11 10:58:27 +08:00
ruil2
5ba9e409ba
update maxbitrate to control bitrate vary range
2014-12-11 10:56:58 +08:00
lyao2
c01606c28a
Rate control refine to fit MAX bitrate requirement
2014-12-05 12:09:08 +08:00
ruil2
7c0369da23
add iBitsVaryPercentage parameters to control bitrate
2014-11-27 15:55:48 +08:00
ruil2
d543ae89db
add maxbitrate verification
2014-11-25 17:12:06 +08:00
Sijia Chen
cdd410ca66
refactor Sps generation
2014-11-20 12:55:48 -08:00
Sijia Chen
0b2c82d92b
add UNSPECIFIED value for max bit rate setting
2014-11-19 16:05:19 -08:00
Sijia Chen
b56b8725fc
add total length in encoder output and complete most of the statistis calculation
2014-11-13 13:56:58 -08:00
Martin Storsjö
0aa77d2985
Remove a duplicated field in SWelsSvcCodingParam
...
The same field already exists in SEncParamExt. When the
initialization was deduplicated in ac404ce, this lead to
reading the now uninitialized field in SWelsSvcCodingParam,
instead of the properly initialized one in the base class.
2014-11-10 09:03:18 +02:00
ruil2
ac404ce69d
remove repeat initialization
2014-11-07 14:58:43 +08:00
Sijia Chen
54c677cdd7
fixing OverallMbMap for slice_idx>255 and some log improvements
2014-11-04 09:19:36 +08:00
Sijia Chen
24192cc235
add validation of slice parameters instead of assert
2014-10-30 18:31:50 +08:00
ruil2
100de97b49
move cabac table to common
2014-10-30 12:42:09 +08:00
ruil2
58cc29225e
Merge pull request #1463 from sijchen/after_review4
...
[Encoder] for reference selection under screen
2014-10-29 17:17:07 +08:00
Martin Storsjö
f2c1395ab6
Remove the pBuffer parameter from the entropy encoder stash functions
...
The parameter didn't make sense since it only pointed to the
pSliceBsa field, which isn't what should be used to stash
the cabac context.
2014-10-28 14:59:50 +02: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
sijchen
292d2511e2
Merge pull request #1457 from ruil2/enc_cabac
...
add encoder cabac support
2014-10-28 16:51:56 +08:00