Commit Graph

2049 Commits

Author SHA1 Message Date
Haibo Zhu
586893ca4b Add SPS/SubSPS/PPS update when AU number==0 and iOverwriteFlags==true
Add TotalNumMbRec>0 judgement for EC
2014-12-25 15:03:47 -08:00
sijchen
b455c035f7 Merge pull request #1670 from ruil2/level
add profile and level checking in ParamValidation
2014-12-25 17:37:01 +08:00
ruil2
00a2dc290c modify trace info for LEVEL_UNKNOWN 2014-12-25 16:58:29 +08:00
sijchen
bac135ae81 Merge pull request #1665 from ruil2/frame_rate
refine frame rate
2014-12-25 16:53:52 +08:00
huili2
9c0bbeb4da unify parseonly to have 0x0001 2014-12-24 23:11:49 -08:00
ruil2
0babd8d7ab add profile and level checking in ParamValidation 2014-12-24 15:40:30 +08:00
ruil2
13f6ff59cc add RC_TIMESTAMP_MODE mode 2014-12-24 14:57:03 +08:00
Martin Storsjö
8b7be9f3bc Initialize a local variable
This fixes warnings with GCC about a variable that may be used
uninitialized (if iResProperty was an incorrect value).
2014-12-23 23:18:20 +02:00
Martin Storsjö
8de54078d7 Use an unsigned variable for comparison with unsigned values
This avoids warnings about comparison between signed and unsigned.
2014-12-23 23:17:18 +02:00
Martin Storsjö
328094acfd Remove a write-only variable
This fixes warnings with GCC about a variable that is set but
not used.
2014-12-23 23:16:56 +02: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
huili2
2c99f5810e Merge pull request #1659 from syureyi/scalinglist
Scalinglist
2014-12-23 10:50:49 +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
sijchen
692614b057 Merge pull request #1660 from ruil2/frame_rate
using function pointer to make different branch for different rc
2014-12-22 15:55:46 +08:00
Sijia Chen
eb8e25a038 update the version header file for 1.3 2014-12-22 14:13:30 +08:00
ruil2
e3bf63db59 using function pointer to make different branch for different rc 2014-12-22 12:00:39 +08:00
sijchen
9a602cac1b Merge pull request #1657 from mstorsjo/clip-bitrate
Make sure the random test bitrate is high enough
2014-12-21 18:49:26 -08:00
Martin Storsjö
7411469e1d Avoid a warning about an unused static variable 2014-12-19 11:06:51 +02:00
dongzha
809adc4129 Merge pull request #1654 from syureyi/newest
maintain codec demo
2014-12-19 14:05:07 +08:00
zhuiling
f0934c7bf3 maintain codec demo 2014-12-19 13:53:29 +08:00
ruil2
3ae2507c99 remove macro definition to the header file 2014-12-19 10:53:06 +08:00
HaiboZhu
afd82b2cfa Merge pull request #1652 from huili2/newseq_bugfix
use picture-level new seq begin detection for output functions
2014-12-19 09:55:26 +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
Martin Storsjö
4fb442a983 Captizalize OpenH264 correctly in the version header 2014-12-18 13:18:30 +02:00
ruil2
91574afca4 Merge pull request #1603 from sijchen/add_ver1
add generating script and the first version of codec_ver.h
2014-12-18 17:33:29 +08:00
huili2
b8ce2eb40e use picture-level new seq begin detection for output functions 2014-12-18 01:19:33 -08:00
Sijia Chen
e6134b5972 skip the git version hash in the header 2014-12-18 16:07:37 +08:00
sijchen
5b2469c0b5 Merge pull request #1642 from mstorsjo/avoid-rebuilds
Avoid rebuilds if the version header hasn't changed
2014-12-18 15:51:07 +08:00
sijchen
4db34bdf43 Merge pull request #1634 from ruil2/trace
use WELS_LOG_ERROR as default trace level in console app
2014-12-18 10:11:38 +08:00
sijchen
b208cac1c5 Merge pull request #1638 from ruil2/default_trace
modify WELS_LOG_WARNING as the default trace level
2014-12-18 10:11:19 +08:00
huili2
916d24d99e Merge pull request #1650 from huili2/bugfix_cabac_mbqpdelta
unify spsid for pic and add check for mb_qp_delta
2014-12-18 10:01:37 +08:00
HaiboZhu
7f27198c68 Merge pull request #1648 from huili2/bugfix_cabacinitidc
add check for cabac_init_idc range in parsing
2014-12-18 09:07:17 +08:00
huili2
208400eeb4 unify spsid for pic and add check for mb_qp_delta 2014-12-17 00:31:20 -08: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
huili2
030d320e43 Merge pull request #1646 from dongzha/cabacfix
cabac fix
2014-12-17 11:18:23 +08:00
huili2
182ae421a1 Merge pull request #1647 from HaiboZhu/Debug_Check_Ref_Picture_Complete
Change the name and call logic of CheckRefPicturesComplete function
2014-12-17 11:18:11 +08:00
huili2
9f0ed3fc4b add check for cabac_init_idc range in parsing 2014-12-16 18:13:21 -08:00
ruil2
ac992acaa9 Merge pull request #1640 from mstorsjo/fix-tests
Fix occasional failures in some tests
2014-12-17 09:29:36 +08:00
dong zhang
490a3e5562 cabac fix 2014-12-17 09:27:41 +08:00
Haibo Zhu
590eef6059 Change the name and call logic of CheckRefPicturesComplete function. 2014-12-16 17:26:13 -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
Martin Storsjö
f90cd367d2 Avoid rebuilds if the version header hasn't changed
When generating the version header, don't overwrite it if the
new version is identical to the old one.
2014-12-16 12:23:50 +02:00
lyao2
9692f6cb20 Merge pull request #1639 from ruil2/qp_trace
fix error output info
2014-12-16 17:32:00 +08:00
Martin Storsjö
59fefbe7c7 Use an inline function instead of a macro for clipping which contains rand()
When using a macro, the macro parameters get evaluated
multiple times, which means that the rand() value compared
actually isn't the same that is used as return value.

This makes sure that clipping works as intended for the
random tests.
2014-12-16 11:13:22 +02:00
dongzha
a4370b8ca8 Merge pull request #1637 from dongzha/SpeedUpSkipMode
astyle and speed up decoding by removing unnessary memset
2014-12-16 16:31:10 +08:00
ruil2
0612b07a6f fix error output info 2014-12-16 16:10:52 +08:00
dong zhang
89f78e9211 astyle and speed up decoding by removing unnessary memset 2014-12-16 15:30:09 +08:00
ruil2
fdb938a2c2 modify WELS_LOG_WARNING as the default trace level 2014-12-16 15:29:56 +08:00
ruil2
b932547fe8 astyle two files 2014-12-16 15:16:09 +08:00
ruil2
026ce4030a use WELS_LOG_ERROR as default trace level in console app 2014-12-16 13:14:53 +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
ruil2
827c7b2aef Merge pull request #1629 from mstorsjo/msvc-casts
Cast a float to integer
2014-12-16 09:09:53 +08:00
Zaheer Abbas Merali
91736e85e8 Fix comments to be up to date with current API. 2014-12-15 11:37:32 -08:00
Martin Storsjö
54cc3daaa7 Cast a float to integer
This fixes warnings with MSVC.
2014-12-15 17:38:22 +02:00
huili2
8fb4048241 Merge pull request #1627 from HaiboZhu/Debug_potential_out_of_memory
Reset parameter set status and clear AU list when out of memory
2014-12-15 17:39:36 +08:00
Haibo Zhu
57043d16ad (1) Reset parameter set status and clear AU list when out of memory
(2) Free un-complete malloc memory, keep the original state, special when increase memory
2014-12-15 00:53:40 -08:00
dongzha
ac061fe635 add protection 2014-12-15 14:47:55 +08:00
dongzha
091e5cba0a Merge pull request #1624 from huili2/au_data_check
change au_ready status and check au number
2014-12-15 13:46:27 +08:00
dongzha
eeee1a2e95 Merge pull request #1622 from dongzha/setunuse
add set unused in dpb
2014-12-15 13:35:36 +08:00
huili2
c20e1c6795 change au_ready status and check au number 2014-12-14 20:46:14 -08:00
ruil2
5ab5fe155b keep the consistency between sps level and parameter level 2014-12-15 09:56:54 +08:00
sijchen
7dcaaf5328 Merge pull request #1618 from huili2/modify_freeze_pos
modify freeze output to proper location
2014-12-12 17:50:02 +08:00
dong zhang
ad38cfe46c add set unused in dpb 2014-12-12 16:53:13 +08:00
sijchen
cc1f3ade3a Merge pull request #1617 from ruil2/bits_update
fix a typo
2014-12-12 16:25:48 +08:00
huili2
984497cc09 modify freeze output to proper location 2014-12-11 23:42:04 -08:00
ruil2
06c251fa48 fix a typo 2014-12-12 14:29:45 +08:00
sijchen
93265d7a44 Merge pull request #1616 from dongzha/testcrash
fix two continus IDR, with same sps/pps id, but different resolution
2014-12-12 10:43:32 +08:00
dongzha
1bdf00ddf4 fix two continus IDR, with same sps/pps id, but different resolution 2014-12-12 09:38:44 +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
sijchen
5ff55a6ec2 Merge pull request #1608 from ruil2/bits_update
update maxbitrate to control bitrate vary range
2014-12-11 13:46:07 +08:00
dongzha
44e4531897 Merge pull request #1609 from dongzha/NewFixEcRatioCalc
New fix ec ratio calc
2014-12-11 13:08:01 +08:00
dongzha
44bd61683a Merge pull request #1606 from huili2/log_for_memory_realloc
add log for ref pic buffer memory alloc
2014-12-11 13:07:43 +08:00
dong zhang
d20a3bdb28 fix typo bug 2014-12-11 12:28: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
dong zhang
2c468b96a9 add flag to count EC Mbs due to ref error
add UT
2014-12-11 10:49:55 +08:00
dong zhang
ecc8ae6ebb fix decodestatus uiEcRatio calc bug 2014-12-11 10:39:44 +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
dongzha
44017193ed Merge pull request #1601 from dongzha/FixDecodeStatusFps
add a decoder status: float fActualAverageFrameSpeedInMs
2014-12-10 10:40:08 +08:00
Sijia Chen
b65410ebdb add generating script and the first version of codec_ver.h 2014-12-10 10:10:23 +08:00
dong zhang
354eee3e2b add a decoder status: float fActualAverageFrameSpeedInMs; ///< actual average_Decoding_Time, includeing freezed picture 2014-12-10 10:00:34 +08:00
Haibo Zhu
e47a3638af Add subSPS pre-active check in CheckActiveSPS 2014-12-09 00:06:19 -08:00
huili2
14eeaf2278 add log for ref pic buffer memory alloc 2014-12-08 22:35:07 -08: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
317ac1ca85 change info level as default level 2014-12-05 17:36:03 +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
dongzha
fc895c13ce fix grey picture when resolution is the same 2014-12-04 17:22:27 +08:00
HaiboZhu
054b8eeb3a Merge pull request #1588 from huili2/dec_stat_accumulate
accumulate dec stat
2014-12-04 15:37:10 +08:00
huili2
928a7eac2a fix crash issue of sliceskip and inf-loop in fmo 2014-12-03 20:26:00 -08:00
ruil2
91ae2dab7a Merge pull request #1587 from mstorsjo/msvc-warnings
Don't implicitly convert int to bool
2014-12-02 15:54:35 +08:00
ruil2
dd24edc8ff Merge pull request #1585 from dongzha/issue1535New
fix issue #1535 new
2014-12-02 15:54:26 +08:00
Martin Storsjö
5d4eb63d52 Don't implicitly convert int to bool
This avoids warnings with MSVC.
2014-12-02 09:35:05 +02:00
ganyangbbl
6981aec743 fix chinese character 2014-12-02 14:30:31 +08:00
huili2
8b9be2b3dc accumulate dec stat 2014-12-01 19:01:06 -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
2e15351d6d Merge pull request #1567 from dongzha/FixMvCpBug
avoid using the same picture buff for prev pic and curr pic
2014-12-01 14:53:17 +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
9a08b7f97c Merge pull request #1574 from huili2/dec_stat_add_freeze
add dec status for freezing
2014-12-01 12:43:22 +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
dongzha
d58f90947c avoid using the same picture buff for prev pic and curr pic 2014-12-01 10:52:37 +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
huili2
504cabf106 add dec status for freezing 2014-11-28 00:05:36 -08:00
Martin Storsjö
917d41bd47 Add casts when converting pointer differences to integers
This fixes warnings when building with MSVC in 64 bit mode.
2014-11-27 11:31:13 +02:00
ruil2
7c0369da23 add iBitsVaryPercentage parameters to control bitrate 2014-11-27 15:55:48 +08:00
HaiboZhu
82b70b34fe Merge pull request #1561 from ruil2/cleanup
remove some macro definitions in header files
2014-11-27 14:22:06 +08:00
zhilwang
3a73179cab Merge pull request #1559 from HaiboZhu/EC_off_crash_no_output
Debug for (1) decoder crash when delay decoding (2) no output when EC off
2014-11-27 14:21:48 +08:00
HaiboZhu
69f6db1b90 Merge pull request #1560 from ruil2/max2
cleanup macro definition
2014-11-27 14:21:37 +08:00
HaiboZhu
c2c861f199 Merge pull request #1562 from zhilwang/asm-cabac
Add asm code for decoder cabac
2014-11-27 14:21:02 +08:00
zhiliang wang
92bc88eacb Add asm code for decoder cabac 2014-11-26 16:44:12 +08:00
ruil2
80ce939d7a remove some macro definitions in header files 2014-11-26 16:15:19 +08:00
ruil2
a43fa3aec2 cleanup macro definition 2014-11-26 15:22:04 +08:00
sijchen
e1262a9ac9 Merge pull request #1558 from huili2/comment_outputlog
comment output info with FREEZE
2014-11-25 22:54:43 -08:00
sijchen
fe7faf768a Merge pull request #1555 from huili2/comment_API_parseonly
add parse only comment in API
2014-11-25 22:54:04 -08:00
Haibo Zhu
aa5e7f7927 Remove the SPS/PPS exist ahead reset logic and change the CheckSpsActive logic 2014-11-25 21:53:40 -08:00
huili2
9da19758cf Merge pull request #1556 from ruil2/max2
remove some unused code
2014-11-26 13:33:21 +08:00
dong zhang
2e5243e5fc add timestamp in decoder 2014-11-26 13:03:46 +08:00
ruil2
4a6de5bb13 remove some unused code 2014-11-26 10:26:16 +08:00
huili2
347e4893a9 add parse only comment in API 2014-11-25 18:22:23 -08:00
huili2
94dde141fa comment output info with FREEZE 2014-11-25 18:09:01 -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
huili2
305a2421be Merge pull request #1549 from dongzha/ECMvCopy
add EC MV copy
2014-11-25 12:59:48 +08:00
dong zhang
9425c2ab10 add EC MV copy 2014-11-25 10:45:58 +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
48e79d51b5 Merge pull request #1547 from huili2/ParseDecode
parse only add and UT: passed reviewed at https://rbcommons.com/s/OpenH264/r/910/
2014-11-24 11:28:17 -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
huili2
b231e3f000 parse only add and UT 2014-11-24 00:04:36 -08:00
ruil2
3025c58a67 add some traces 2014-11-21 13:27:10 +08:00
ruil2
a0b0866597 Merge pull request #1543 from dongzha/Fix1535
Check and Fix some issue #1535
2014-11-21 11:30:36 +08:00
huashi
7175d3c90e 1.doxgen documentation format for comments in api/*.h 2. comments to wiki tools in openh264/docs/* 2014-11-21 10:38:30 +08:00