Commit Graph

988 Commits

Author SHA1 Message Date
ruil2
13f6ff59cc add RC_TIMESTAMP_MODE mode 2014-12-24 14:57:03 +08:00
ruil2
cf6450b269 refine frame rate 2014-12-23 17:30:01 +08:00
sijchen
9cc395fc4e Merge pull request #1632 from ruil2/encoder_refine
use the same complexity computation branch for screen and camera
2014-12-23 10:51:53 +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
Martin Storsjö
7411469e1d Avoid a warning about an unused static variable 2014-12-19 11:06:51 +02:00
ruil2
3ae2507c99 remove macro definition to the header file 2014-12-19 10:53:06 +08:00
Martin Storsjö
8bfeae27a4 Add a public function for getting the codec version
If the codec library is loaded dynamically, it may be necessary that
the loaded library actually matches the version that was used when
it was built, to avoid issues due to ABI differences. Therefore add
a public function to allow getting the version of the currently
loaded library.
2014-12-18 13:20:33 +02:00
ruil2
ab480fe387 Merge pull request #1649 from sijchen/fix_trace
[Encoder] fix a potential problem of trace
2014-12-17 16:05:32 +08:00
ruil2
58e868c074 Merge pull request #1643 from mstorsjo/check-num-refs
If lowering the maximum number of ref frames, check iNumRefFrames as well
2014-12-17 15:51:52 +08:00
Sijia Chen
1b26bd4b88 put this file into good format 2014-12-17 14:15:10 +08:00
Sijia Chen
3c08f04993 add fix for protection of wrong reading if input is invalid 2014-12-17 14:14:23 +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
Martin Storsjö
4746ce8fd4 If lowering the maximum number of ref frames, check iNumRefFrames as well
Make sure we don't set iMaxNumRefFrames lower than iNumRefFrames.

This fixes occasional test failures in
EncodeDecodeTestAPI.SetOptionEncParamExt.
2014-12-16 13:56:50 +02:00
ruil2
0612b07a6f fix error output info 2014-12-16 16:10:52 +08:00
ruil2
b932547fe8 astyle two files 2014-12-16 15:16:09 +08:00
ruil2
173ec608ff use the same complexity computation branch for screen and camera 2014-12-16 10:42:36 +08:00
lyao2
ca2436bb5e add average QP in statistics 2014-12-16 10:32:44 +08:00
Martin Storsjö
54cc3daaa7 Cast a float to integer
This fixes warnings with MSVC.
2014-12-15 17:38:22 +02:00
ruil2
5ab5fe155b keep the consistency between sps level and parameter level 2014-12-15 09:56:54 +08:00
sijchen
cc1f3ade3a Merge pull request #1617 from ruil2/bits_update
fix a typo
2014-12-12 16:25:48 +08:00
ruil2
06c251fa48 fix a typo 2014-12-12 14:29:45 +08:00
sijchen
0ff1eb482f Merge pull request #1612 from huili2/log_add_this_codec
add this log for codec
2014-12-11 17:01:38 +08: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
huili2
3e57fdc448 add this log for codec 2014-12-10 22:15:32 -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
Martin Storsjö
7da17b5abd Log the encoder version later in the initialization
Previously, the encoder logging was done in InitEncoder(),
which is called from the constructor. Therefore, it was impossible
to override the log level, to silence this message.
2014-12-10 14:39:08 +02:00
Martin Storsjö
901a599b36 Add casts when converting from int64_t or double to int32_t
This fixes warnings when building with MSVC.
2014-12-08 11:48:31 +02:00
sijchen
cc5978b252 Merge pull request #1594 from lyao2/RC_maxBr_commit5
Rate control refine to fit MAX bitrate requirement
2014-12-08 11:03:43 +08:00
ruil2
56c895ffb4 1. should not set WELS_LOG_ERROR level in encoder initilization.
2.fix UT bug
2014-12-05 17:08:00 +08:00
lyao2
c01606c28a Rate control refine to fit MAX bitrate requirement 2014-12-05 12:09:08 +08:00
ruil2
dd24edc8ff Merge pull request #1585 from dongzha/issue1535New
fix issue #1535 new
2014-12-02 15:54:26 +08:00
ganyangbbl
6981aec743 fix chinese character 2014-12-02 14:30:31 +08:00
dong zhang
f668e1be98 fix issue 1535 2014-12-02 09:35:39 +08:00
sijchen
607d814e0f Merge pull request #1577 from ruil2/set_param
modify log info(remove unuseful log and add some new logs)
2014-12-01 11:36:24 -08:00
zhilwang
852ed8a2d0 Merge pull request #1578 from ruil2/rc
use existed assembly function in cabac encoder
2014-12-01 17:12:52 +08:00
ruil2
b1dccaa627 use existed assembly function in cabac encoder 2014-12-01 14:45:04 +08:00
sijchen
8c7aaa8421 Merge pull request #1568 from ruil2/cleanup
add iBitsVaryPercentage parameters to control bitrate
2014-11-30 21:39:39 -08:00
ruil2
a100fb8031 modify log info(remove unuseful log and add some new logs) 2014-12-01 12:13:58 +08:00
sijchen
8e39cb3a3a Merge pull request #1575 from ruil2/set_param
add SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder
2014-11-30 19:39:18 -08:00
ruil2
8028fe7130 add SetOption(ENCODER_OPTION_SVC_ENCODE_PARAM_BASE,&base) for encoder 2014-12-01 10:35:32 +08:00
ruil2
30820fd8b5 use iBitsVaryPercentage passed by the app instead of the macro 2014-12-01 09:16:35 +08:00
Sijia Chen
7cea82bdf8 remove a too-tight checking of bit rate 2014-11-28 16:15:49 -08:00
Martin Storsjö
0bae0f869a Validate that iLoopFilterDisableIdc is set to a sensible value in ParamValidationExt
In WelsEncoderParamAdjust it is already clipped in the
same way, but here we should probably rather error out
than to silently clip it to the right range.
2014-11-28 13:08:52 +02:00
Martin Storsjö
24cd934ba9 Log what uiDisableDeblockingFilterIdc was set to when printing an error message 2014-11-28 13:06:12 +02:00
ruil2
7c0369da23 add iBitsVaryPercentage parameters to control bitrate 2014-11-27 15:55:48 +08:00
HaiboZhu
69f6db1b90 Merge pull request #1560 from ruil2/max2
cleanup macro definition
2014-11-27 14:21:37 +08:00
ruil2
a43fa3aec2 cleanup macro definition 2014-11-26 15:22:04 +08:00
huili2
9da19758cf Merge pull request #1556 from ruil2/max2
remove some unused code
2014-11-26 13:33:21 +08:00
ruil2
4a6de5bb13 remove some unused code 2014-11-26 10:26:16 +08:00
sijchen
f48b2e55ba Merge pull request #1553 from ruil2/max2
add maxbitrate verification
2014-11-25 09:14:39 -08:00
Martin Storsjö
1ff9de36ce Explicitly cast int64_t to float
This fixes warnings when bulding with MSVC.
2014-11-25 14:28:20 +02:00
ruil2
d543ae89db add maxbitrate verification 2014-11-25 17:12:06 +08:00
Sijia Chen
cef85118b5 add parentness 2014-11-24 22:44:06 -08:00
Sijia Chen
3be7e90221 add one more conditin for statistics printing to avoid timestamp problem 2014-11-24 16:11:52 -08:00
sijchen
336b2d1537 Merge pull request #1542 from sijchen/review
[Encoder] refactor Sps generation: passed review at https://rbcommons.com/s/OpenH264/r/930/
2014-11-24 11:27:38 -08:00
ruil2
3025c58a67 add some traces 2014-11-21 13:27:10 +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
810b9770fc using same type as in interface rather than int32 for uiTimestamp to avoid missing of preciseness 2014-11-19 15:45:09 -08:00
ruil2
c13bfe6407 Merge pull request #1536 from sijchen/improve_br_valid
[Encoder] adjust the param validation of max bit rate
2014-11-18 18:42:03 +08:00
sijchen
0252f3f346 Merge pull request #1526 from ruil2/max_nal_size
add return value processing
2014-11-17 16:43:45 -08:00
Sijia Chen
7e24efc620 adjust the param validation of max bit rate 2014-11-17 16:39:42 -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
ruil2
66165a65d5 add return value processing 2014-11-13 13:26:14 +08:00
sijchen
b3922b1d3a Merge pull request #1519 from ruil2/max_nal_size
add maxnalsize control for gmp wrapper
2014-11-12 20:44:24 -08:00
ruil2
9ba0a1d977 Merge pull request #1522 from sijchen/after_review
[Encoder] fix a calculation of fAverageFrameRate
2014-11-12 12:29:13 +08:00
Sijia Chen
cd5928d397 fix a calculation of fAverageFrameRate 2014-11-11 16:12:38 -08:00
sijchen
a37f1abe5e Merge pull request #1517 from ruil2/cabac_qp
fix cabac encoding bug -- don't get the correct previous mb qp
2014-11-11 14:52:04 -08:00
ruil2
128546b992 add maxnalsize control for gmp wrapper 2014-11-11 14:18:02 +08:00
ruil2
560fcf17fd rename parameters 2014-11-11 12:21:01 +08:00
sijchen
9512515a41 Merge pull request #1515 from ruil2/add_nal_trace
add some traces for bitstream output
2014-11-10 15:00:08 -08:00
ruil2
c31511257b fix cabac encoding bug -- don't get the correct previous mb qp 2014-11-10 15:34:49 +08:00
ruil2
1c44c43b8a add some traces for bitstream output 2014-11-10 15:20:25 +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
ruil2
8ed4e83e93 Merge pull request #1490 from sijchen/after_review
[Encoder] Fixing for large number of slices
2014-11-04 15:12:38 +08:00
ruil2
18ed25fbb3 use %lld instead of %8d for longlong type 2014-11-04 10:37:23 +08:00
Sijia Chen
54c677cdd7 fixing OverallMbMap for slice_idx>255 and some log improvements 2014-11-04 09:19:36 +08:00
Martin Storsjö
8ffacf0918 Add casts to avoid warnings about comparison between signed and unsigned
This fixes warnings with gcc and msvc.
2014-11-03 11:28:40 +02:00
Martin Storsjö
0e9541247a Use the right data type for some local variables
pDecEngine->uiOffset is an uint64_t as well, and *pSliceNum
is uint32_t.

This fixes warnings about comparison between signed and unsigned
in gcc and msvc.
2014-11-03 11:28:35 +02:00
sijchen
dbd4330508 Merge pull request #1482 from ruil2/cabac_refine
add setoption trace
2014-11-03 15:39:45 +08:00
ruil2
c19db25043 add setoption trace 2014-11-03 10:37:07 +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
ruil2
3abd54ca73 Merge pull request #1477 from mstorsjo/avoid-msvc-warnings
Avoid warnings when building with MSVC
2014-10-31 15:36:14 +08:00
Sijia Chen
24192cc235 add validation of slice parameters instead of assert 2014-10-30 18:31:50 +08:00
Martin Storsjö
655f3b43b6 Add a cast when converting from int64_t to float
This avoids a warning when building with MSVC.
2014-10-30 11:07:22 +02:00
Martin Storsjö
a291470072 Avoid warnings about converting from int to bool
MSVC used to warn about this.
2014-10-30 11:06:46 +02:00
ruil2
100de97b49 move cabac table to common 2014-10-30 12:42:09 +08:00
Martin Storsjö
7ce4da8a41 Use WelsLog instead of fprintf for normal runtime errors 2014-10-29 22:45:44 +02: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
Martin Storsjö
9a9f92bcfe Don't stash the cabac state into the SBitStringAux buffer
This fixes crashes on some platforms, and fixes valgrind
errors.
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
ruil2
abc01e6b81 add encoder cabac support 2014-10-27 13:06:33 +08:00
dong zhang
d3c8ade8d0 fix Rc int32_t bitrate overflow 2014-10-27 09:54:44 +08:00
ruil2
2dbb757d30 Merge pull request #1451 from sijchen/for_format
Fixes and change naming
2014-10-24 15:18:55 +08:00
sijchen
34cb0d60aa Merge pull request #1450 from mstorsjo/avoid-warnings
Add casts to avoid warnings about comparison between signed and unsigned
2014-10-24 14:41:51 +08:00