Commit Graph

2036 Commits

Author SHA1 Message Date
huili2
1518b5da58 allow non-avc check when subset SPS exists 2015-01-12 22:29:18 -08:00
huili2
8e35224134 modify parse only flowchart to use DecodeFrameConstruction() 2015-01-11 23:16:24 -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
Martin Storsjö
44bce08d60 Avoid a spurious valgrind warning in DecoderIntraPredictionTest.WelsDecoderI16x16LumaPredPlane_sse2
valgrind thinks xmm2 is uninitialized - in fact it is, but
its value here doesn't really matter. Instead set it to a known value
before using it in SUMW_HORIZON.
2015-01-10 13:25:00 +02: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
dongzha
a5cb0ea22c Merge pull request #1711 from huili2/parseonly_noEC
disable EC for parseonly
2015-01-09 09:23:55 +08:00
huili2
900a908929 disable EC for parseonly 2015-01-08 00:16:01 -08:00
huili2
e48585236e prevent error propagation for parse only when frame is not complete 2015-01-07 22:34:55 -08:00
Ethan Hugg
71123f29ef Merge pull request #1702 from mstorsjo/adjust-comment
Clarify the comment about ABI issues with WelsGetCodecVersion
2015-01-07 09:07:12 -08:00
Ethan Hugg
178a18b30e Merge pull request #1703 from mstorsjo/add-cast
Add a cast to silence GCC warnings about comparison between signed and unsigned
2015-01-07 09:05:42 -08:00
Martin Storsjö
5c3c2a569c Add a cast to silence GCC warnings about comparison between signed and unsigned 2015-01-07 09:15:48 +02:00
Martin Storsjö
aa1ec23ecd Clarify the comment about ABI issues with WelsGetCodecVersion
The incompatibility between mingw and msvc is smaller than it seemed
at first; this turned out to only be a bug in older versions.
2015-01-07 09:15:34 +02:00
huili2
62c6a1e099 Merge pull request #1705 from HaiboZhu/Debug_Delay_mode_rawdata_update_error
Fix a bug when EC disable under delay mode
2015-01-07 15:12:11 +08:00
Haibo Zhu
207082e237 Fix a bug when EC disable under delay mode (buf point not update when early exit) 2015-01-06 17:48:58 -08:00
huili2
e8b68d2460 bug fix for parseonly for complete frame judge: reset total_mb if correct. 2015-01-05 23:07:17 -08:00
huili2
ac08cc4b2f Merge pull request #1694 from zhilwang/asm-SetNoneZero
Add asm code for NoneZeroCount and refine related code
2015-01-06 13:37:56 +08:00
sijchen
9a89ee72b0 Merge pull request #1698 from ruil2/fix_param
fix bug when some parameters change dynamically
2015-01-06 09:37:48 +08:00
ruil2
c72d3ad51a Merge pull request #1697 from huili2/parseonly_frame_complete_return
output error when frame incomplete for parse only usage
2015-01-05 17:06:56 +08:00
ruil2
ce14a0e4f9 fix bug when some parameters change dynamically 2015-01-05 17:01:35 +08:00
huili2
b719c3b0d5 output error when frame incomplete for parse only usage 2015-01-04 17:13:57 -08:00
Martin Storsjö
3422d3b976 Declare the g_strCodecVer variable as const
Previously, the variable itself wasn't const (which meant that
it could be set to point to another const string instead).

By declaring it as const, gcc doesn't warn about it being unused,
and we can get rid of a workaround.
2015-01-04 21:00:23 +02:00
zhiliang wang
01b74ea7c1 Add asm code for NoneZeroCount and refine related code 2015-01-04 16:39:17 +08:00
ruil2
2ef9a8aee9 Merge pull request #1692 from mstorsjo/improved-version-function
Add a new public function WelsGetCodecVersionEx
2015-01-04 09:14:29 +08:00
Martin Storsjö
50dc4757e4 Add a new public function WelsGetCodecVersionEx
This function doesn't return a struct, but fills in a struct via
a provided pointer.

The ABI of returning a struct is different between MSVC and mingw.

This allows using the same function from mingw, even though the DLL
has been built with MSVC.
2015-01-03 01:09:04 +02:00
Martin Storsjö
ba314d16e7 Add void to the parameter list of WelsGetCodecVersion
When the header is used from C instead of C++, an empty parameter
list means that it can take any number of parameters, and can cause
warnings like "function declaration isn’t a prototype" with some
C compilers. Clarify this by explicitly adding void to this function.
2014-12-31 17:07:36 +02:00
huili2
e3e5208509 add new API as DecodeFrameNoDelay for immediate decoding, which will be recommended decoding method for h.264 bitstream 2014-12-30 23:43:47 -08:00
huili2
47d8a840c0 Merge pull request #1682 from huili2/parseonly_initial_no_colorformat
disable color format check for parse only
2014-12-31 13:14:47 +08:00
Haibo Zhu
81805ab23d Force NO deblocking when no MB decoded in current slice
Remove the judgment outside of the function
2014-12-30 18:25:54 -08:00
Haibo Zhu
a53dc467f6 Change default EC mode to ERROR_CON_SLICE_MV_COPY_CROSS_IDR_FREEZE_RES_CHANGE 2014-12-29 22:17:38 -08:00
HaiboZhu
d2d4ab8c67 Merge pull request #1680 from dongzha/SpeedupDecoding
speedup decoding
2014-12-29 17:17:25 +08:00
dong zhang
dc86cfe5d8 speedup decoding 2014-12-29 16:40:26 +08:00
huili2
b12b39a47b disable color format check for parse only 2014-12-28 23:43:09 -08:00
Haibo Zhu
7ee00b0618 Reset AU uiStartPos to 0 in ResetCurrentAccessUnit for svc
Reset uiStartPos to 0 when init and forceReset
2014-12-28 23:14:33 -08:00
Sijia Chen
6050bf89f6 add interface of simulcast avc, the actual support is coming later 2014-12-29 10:54:01 +08:00
sijchen
26ccd837f1 Merge pull request #1672 from huili2/parseonly_sizemodif
unify parseonly to have 0x0001
2014-12-26 09:58:28 +08:00
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