Commit Graph

529 Commits

Author SHA1 Message Date
HaiboZhu
442230a91d Merge pull request #1789 from huili2/bugfix_checkspsactive
bug fix for multi-layer active sps check
2015-02-04 09:13:18 +08:00
huili2
1734133012 bug fix for multi-layer active sps check 2015-02-02 22:31:50 -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ö
869870e670 Rename the decoder WelsMalloc to WelsMallocz
This function actually zero-initializes the allocated memory, thus
make this clear in the function name.

This makes the function name match the same behaviour in the encoder.
2015-01-30 10:37:48 +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ö
1a7d0ab831 Hook up McChromaWidthEq8_ssse3 into use in the decoder as well 2015-01-28 15:20:43 +02:00
huili2
b6e28495dd modify decoder flowchart for non vcl AU check 2015-01-28 00:22:48 -08:00
Martin Storsjö
7354a8cbae Handle width==2 for the neon version of McCopy
Fall back on the C version of the algorithm here, just as in
McCopy_sse2.

This fixes 2 of the McCopy tests on arm/aarch64.
2015-01-28 09:01:00 +02: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
sijchen
7f967f6fc4 Merge pull request #1750 from syureyi/crqp
to support different chroma qp
2015-01-23 13:30:21 +08:00
zhuiling
a45c661525 to support different chroma qp
fix travis ci error
2015-01-23 09:06:09 +08:00
dong zhang
6dcaf2f890 fix crash in SGE test 2015-01-22 09:10:28 +08:00
sijchen
8bef6bc942 Merge pull request #1738 from huili2/init_EC_modify
modify EC init position
2015-01-19 16:36:29 +08:00
huili2
50ce93e31c modify EC init position 2015-01-18 18:07:27 -08:00
Martin Storsjö
b83b19254d Add a cast when converting from uint64_t to int
This silences warnings with MSVC.
2015-01-16 13:38:07 +02:00
dongzha
b603844126 Merge pull request #1730 from HaiboZhu/Debug_EC_off_Delay_mode_early_exit_process
Fix the bug that the pDec not set to NULL when early exit
2015-01-15 14:08:26 +08:00
Haibo Zhu
264cf57616 Fix the bug that the pDec not set to NULL when early exit
Add more judgement for diff set EC mode under no-delay call
2015-01-14 19:22:34 -08:00
dongzha
cb49f8ecbd Merge pull request #1718 from huili2/sps_avc_flag_remove
allow non-avc check when subset SPS exists
2015-01-15 09:53:15 +08:00
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
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
huili2
e48585236e prevent error propagation for parse only when frame is not complete 2015-01-07 22:34:55 -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
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
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
huili2
b719c3b0d5 output error when frame incomplete for parse only usage 2015-01-04 17:13:57 -08:00
zhiliang wang
01b74ea7c1 Add asm code for NoneZeroCount and refine related code 2015-01-04 16:39:17 +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
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
huili2
9c0bbeb4da unify parseonly to have 0x0001 2014-12-24 23:11:49 -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
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
huili2
b8ce2eb40e use picture-level new seq begin detection for output functions 2014-12-18 01:19:33 -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
huili2
030d320e43 Merge pull request #1646 from dongzha/cabacfix
cabac fix
2014-12-17 11:18:23 +08:00
huili2
9f0ed3fc4b add check for cabac_init_idc range in parsing 2014-12-16 18:13:21 -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
dong zhang
89f78e9211 astyle and speed up decoding by removing unnessary memset 2014-12-16 15:30:09 +08: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
dong zhang
ad38cfe46c add set unused in dpb 2014-12-12 16:53:13 +08:00
huili2
984497cc09 modify freeze output to proper location 2014-12-11 23:42:04 -08:00
dongzha
1bdf00ddf4 fix two continus IDR, with same sps/pps id, but different resolution 2014-12-12 09:38:44 +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
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
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
dongzha
fc895c13ce fix grey picture when resolution is the same 2014-12-04 17:22:27 +08:00
huili2
928a7eac2a fix crash issue of sliceskip and inf-loop in fmo 2014-12-03 20:26:00 -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
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
9a08b7f97c Merge pull request #1574 from huili2/dec_stat_add_freeze
add dec status for freezing
2014-12-01 12:43:22 +08:00
dongzha
d58f90947c avoid using the same picture buff for prev pic and curr pic 2014-12-01 10:52:37 +08: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
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
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
sijchen
e1262a9ac9 Merge pull request #1558 from huili2/comment_outputlog
comment output info with FREEZE
2014-11-25 22:54:43 -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
dong zhang
2e5243e5fc add timestamp in decoder 2014-11-26 13:03:46 +08:00
huili2
94dde141fa comment output info with FREEZE 2014-11-25 18:09:01 -08:00
dong zhang
9425c2ab10 add EC MV copy 2014-11-25 10:45:58 +08:00
huili2
b231e3f000 parse only add and UT 2014-11-24 00:04:36 -08:00
zhuiling
02853a9a96 add level 9 supporting 2014-11-17 16:29:33 +08:00
huili2
0d16fd61b2 add EC method to freeze sequence when resolution changed and decoding IDR error 2014-11-13 19:26:10 -08:00
dong zhang
e4f114e006 fix mv clip at right boarder 2014-11-13 10:48:35 +08:00
huili2
2527cf5d0b fix bug of parse error return for VCL data 2014-11-11 19:23:58 -08:00
Martin Storsjö
08c07e4b8f Remove unused variables
This fixes warnings with clang and gcc.
2014-11-07 11:12:51 +02:00
dongzha
789603a8b1 Merge pull request #1503 from huili2/ec_crossIDR
enable cross IDR EC method
2014-11-06 17:24:17 +08:00
dongzha
0fa667ac5f Merge pull request #1502 from dongzha/RemoveUglyCode
remove ugly MC code
2014-11-06 15:26:38 +08:00
dongzha
1a7826c6eb remove ugly MC code 2014-11-06 14:44:33 +08:00
sijchen
5cb5c28331 Merge pull request #1500 from syureyi/decoderstatics
decoder statictis adding
2014-11-06 14:25:04 +08:00
zhuling13
45ef803e4d decoder statictis adding
mem

mem

decstatictis

time change

time change

set decTime=0
2014-11-05 22:01:32 -08:00
dongzha
ba0351f569 fix cabac bug in deltaqp 2014-11-06 10:51:18 +08:00
huili2
103fa5bbed enable cross IDR EC method 2014-11-03 22:11:49 -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
Martin Storsjö
2951a7f3a3 Remove variables that are set but not used
This fixes build warnings with gcc.
2014-11-03 10:52:02 +02:00
dong zhang
cf85745752 add decoder cabac support and add UT 2014-11-03 10:03:43 +08:00
sijchen
43c62d06eb Merge pull request #1439 from sijchen/for_format
[Reformat] format cpp files for next release
2014-10-24 09:00:36 +08:00
Sijia Chen
97298de90a reformat cpp files for next release 2014-10-23 17:50:50 +08:00
huili2
3c4279cdd8 fix crash bug of sps/pps 2014-10-23 02:36:08 -07:00
HaiboZhu
1a78f69f2f Merge pull request #1418 from huili2/EC_option_bugfix
ec disable bug fix
2014-10-17 10:09:39 +08:00
huili2
9a0d56da97 Merge pull request #1412 from daniel-j-h/clang_cleanup
Clang's -Weverything and Static Analyzer's reports
2014-10-16 14:24:58 +08:00
Haibo Zhu
9d182ee515 Add picture bIsComplete flag to reflect the status of decoder
Modify the output error status and add some some judgement
2014-10-15 11:36:24 -07:00
huili2
869c567f04 ec disable bug fix 2014-10-15 02:41:44 -07:00
Daniel J. Hofmann
1e62aafcde Wc++11-extensions 2014-10-14 22:20:10 +02:00
Daniel J. Hofmann
4fc27714bd Wc++11-compat-reserved-user-defined-literal 2014-10-14 22:16:42 +02:00
huili2
f8d2ae42ef add protection for decoder and data format 2014-09-23 00:29:23 -07:00
huili2
f6fb459a7f add freely setoption for EC_idc and UT 2014-09-21 21:51:48 -07:00
dongzha
311f7006fd 1. add encoder-engine-decoder API UT for: IDR request, LTR request
2. add decoder api UT for EC: Disable/Enable EC
3. Fix a decoder bug when EC is disabled
   itoltalMbDec should be set to zero when encouter a new sequence/picture, even   when EC is disabled.
2014-09-12 11:12:59 +08:00
huili2
0227f87b7a when sps/pps non exist, return dsNoParamSets 2014-09-02 22:22:18 -07:00
ruil2
40e952f981 remove "\n" which shoudl be added by the trace sink 2014-08-27 14:34:05 +08:00
Martin Storsjö
81ac3d2a9b Fix building svc_motion_estimation.S for android
The .align directive takes an argument in number of bits, i.e. the
actual alignment is 2^n. Previously building with binutils failed,
since 16 isn't a valid parameter to .align, the maximum is 15.

Thus, this makes the code try to align to 16 bytes, instead of aligning
to 65536 bytes.

This fixes building for android.

This also clears up the same mistake in the aarch64 code, even though
that one built just fine.
2014-08-15 09:53:42 +03:00
ruil2
493d254a4a merge level table 2014-08-12 09:28:40 +08:00
huili2
e8fdd4cf75 setget_dataformat_ut 2014-07-28 18:41:58 -07:00
huili2
933c477717 modify EC API name and remove useless flag 2014-07-27 21:35:26 -07:00
HFVideoMac
0d1699b67f Add Unit Test and ARM64 code for block_add 2014-07-21 14:37:52 +08:00
huili2
a0e569da81 modify the logic for WME usage 2014-07-16 18:14:53 -07:00
dongzha
2db10df5c6 Merge pull request #1180 from huili2/dpb_green_issue_master
solve green issue combined with EC and multi-packet input
2014-07-17 08:41:27 +08:00
ruil2
f94a20d7b5 Merge pull request #1174 from huili2/border_green_master
expand pic for EC
2014-07-16 10:01:02 +08:00
huili2
d7f3331c9d solve green issue combined with EC and multi-packet input 2014-07-15 02:51:20 -07:00
huili2
7f36b244f7 Merge pull request #1158 from HaiboZhu/Debug_codenomicon_3_015584
Debug for InitRefPicList
2014-07-15 17:50:51 +08:00
huili2
b02f75f608 expand pic for EC 2014-07-14 23:28:46 -07:00
huili2
c4fc6642cf reuse dsNoParamSets in dec 2014-07-14 18:47:40 -07:00
Haibo Zhu
cbc5f3bf4b Remove the call function parameter. 2014-07-10 22:54:35 -07:00
Haibo Zhu
79891067e9 Debug for codenomicon bits, when one picture contains diff types of slices(I, P),may request null ref list. 2014-07-10 20:17:18 -07:00
huili2
209c607020 add return info for all cases 2014-07-09 23:06:40 -07:00
huili2
adb0fa498f astyle all cpp files 2014-07-08 20:01:42 -07:00
huili2
581f8fdf79 decrease dec log size 2014-07-08 19:46:01 -07:00
huili2
6897398175 Merge pull request #1112 from huili2/EC_IDR_request
mark decoder always ECed status until correct IDR comes
2014-07-09 09:33:38 +08:00
huili2
1a58488aeb new IDR inserted as GREY 2014-07-08 17:58:23 -07:00
huili2
ce43674703 mark decoder always ECed status until correct IDR comes 2014-07-08 08:42:31 -07:00
dongzha
6489e7b38a Merge pull request #1096 from huili2/early_stop_parse_rec_bug
stop early error for parse/recon MB
2014-07-08 12:49:42 +08:00
huili2
1ec213d5a7 stop early error for parse/recon MB 2014-07-07 21:27:44 -07:00
ruil2
589e40aa67 Merge pull request #1094 from huili2/ec_grey_replace_green
use grey instead of green in EC without ref
2014-07-07 17:39:37 +08:00
huili2
fb6379eeb1 use grey instead of green in EC without ref 2014-07-07 02:24:51 -07:00
HaiboZhu
f22a9e890f Merge pull request #1093 from huili2/ec_return_error
LTR feedback check in decoder
2014-07-07 15:58:20 +08:00
huili2
60314ff570 LTR feedback check in decoder 2014-07-06 19:17:50 -07:00
huili2
5a60d0fef4 Merge pull request #1090 from HaiboZhu/Debug_ExpandBsBuffer
Remove warning
2014-07-07 10:17:41 +08:00
Haibo Zhu
863852259d Remove warning 2014-07-06 19:04:59 -07:00