summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/h263dec: Document padding_bug_score heuristic used for wrong stuffingMichael Niedermayer2018-05-041-0/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vaapi_encode_h264: Take VAAPIEncodeH264Context::sei_needed as an ORed valueHaihao Xiang2018-05-031-7/+8
| | | | | | We may check priv->sei_needed only when writing SEI messages. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avcodec/mpeg4videodec: Split decode_studio_vol_header() out of ↵Michael Niedermayer2018-05-031-9/+21
| | | | | | decode_studiovisualobject() Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Move decode_studiovisualobject() parsing in the ↵Michael Niedermayer2018-05-031-10/+5
| | | | | | | | | | branch for visual object parsing Fixes: runtime error: shift exponent -1 is negative Fixes: 7510/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5024523356209152 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc: Add VP9 metadata bitstream filterMark Thompson2018-05-023-0/+164
| | | | Can adjust the colour information.
* lavc: Add coded bitstream read/write support for VP9Mark Thompson2018-05-027-0/+1279
|
* cbs: Add support for array subscripts in trace outputMark Thompson2018-05-027-206/+261
| | | | This makes the trace output for arrays significantly nicer.
* cbs_h2645: Simplify representation of fixed valuesMark Thompson2018-05-013-39/+34
|
* cbs: Fragment/unit data is always reference countedMark Thompson2018-05-012-11/+18
| | | | | Make this clear in the documentation and add some asserts to ensure that it is always true.
* avcodec/cbs_h2645: create a reference to the existing buffer when ↵James Almer2018-04-301-14/+4
| | | | | | | decomposing slice units Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_mpeg2: create a reference to the existing buffer when ↵James Almer2018-04-301-7/+2
| | | | | | | decomposing slice units Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* Use AV_PIX_FMT_FLAG_ALPHA for detecting transparency where nb_components was ↵Marton Balint2018-04-301-2/+2
| | | | | | | | | | used Temporarily keep the old method for ffmpeg_filters.c choose_pix_fmt and avfiltergraph.c pick_format() until a paletted pixel format without alpha is introduced. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/pixdesc: add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8Marton Balint2018-04-301-4/+0
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/hnm4video: fix palette alphaMarton Balint2018-04-301-0/+1
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/anm: fix palette alphaMarton Balint2018-04-301-1/+1
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/mpeg4video_parser: Avoid litteral 0x1B6, use named constant insteadMichael Niedermayer2018-04-301-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4video_parser: Fix incorrect spliting of MPEG-4 studio framesMichael Niedermayer2018-04-301-0/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/wavpack: Fix integer overflow in DEC_MED() / INC_MED()Michael Niedermayer2018-04-291-2/+2
| | | | | | | | Fixes: runtime error: signed integer overflow: 2147483637 + 128 cannot be represented in type 'int' Fixes: 6701/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVPACK_fuzzer-5358324934508544 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/wavpack: Fix integer overflow in wv_unpack_stereo()Michael Niedermayer2018-04-291-1/+1
| | | | | | | | Fixes: runtime error: signed integer overflow: 2147483531 + 16384 cannot be represented in type 'int' Fixes: 6615/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVPACK_fuzzer-5165715515506688 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vc1: fix mquant calculationJerome Borsboom2018-04-291-2/+3
| | | | | | | | | | | | In vc1_decode_i_blocks_adv mquant needs to be reset to its default value for each macroblock, instead of once at the beginning of the slice. DQPROFILE specifies which macroblocks can have an alternative quantizer step size. When DQPROFILE specifies edges, the selection is applicable to the edges of the picture. Slice edges are not selected by DQPROFILE. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/proresdec2: add missing frame color metadataPaul B Mahol2018-04-281-0/+5
| | | | | | Stolen from removed decoder. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/proresdec2: make long name more descriptivePaul B Mahol2018-04-281-1/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec: remove duplicate prores decoderPaul B Mahol2018-04-283-788/+0
| | | | | | Removed slower one, couldn't figure out why it is slower. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/cbs_mpeg2: use existing buffer reference when splitting fragmentsJames Almer2018-04-261-9/+3
| | | | | Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs: create reference counted fragments in ff_cbs_read_extradata()James Almer2018-04-261-21/+20
| | | | | | | | | This way, every CodedBitstreamType->split_fragment() function can safely assume the fragment passed to them will be reference counted, potentially simplifying code. Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/vc1: fix out of bounds access of overlap filterJerome Borsboom2018-04-261-3/+3
| | | | | | | Overlap filtering of the first row and first column must be guarded for out of bounds access of v->over_flags_plane. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/error_resilience: Fix integer overflow in filter181()Michael Niedermayer2018-04-251-2/+2
| | | | | | | | Fixes: runtime error: signed integer overflow: 197710 * 10923 cannot be represented in type 'int' Fixes: 7010/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5667127596941312 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h263dec: Check slice_ret in mspeg4 slice loopMichael Niedermayer2018-04-251-1/+1
| | | | | | | | | Fixes infinite loop Fixes: 6858/clusterfuzz-testcase-ffmpeg_AV_CODEC_ID_MSMPEG4V3_fuzzer-4681563766784000 Fixes: 6890/clusterfuzz-testcase-ffmpeg_AV_CODEC_ID_WMV1_fuzzer-4756103142309888 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h2645_parse: Replace RNXYA by RNXY in ff_h2645_extract_rbsp()Michael Niedermayer2018-04-251-4/+4
| | | | | | Fixes misaligned accesses Found-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/elsdec: Fix memleaksMichael Niedermayer2018-04-252-5/+4
| | | | | | | Fixes: 6798/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_G2M_fuzzer-5135899701542912 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vc1: more corrections for AC inverse quantization scalingJerome Borsboom2018-04-252-61/+69
| | | | | | | | | | | HALFQP should only be added to the inverse quantizer when the block is coded with PQUANT. When PQUANT is equal to ALTPQUANT, the original test for the addition of HALFQP fails. A negative value for mquant indicates that the value was derived from VOPDQUANT. Fixes #4372 Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: correct forgotten v->blocks_offJerome Borsboom2018-04-251-1/+1
| | | | | | correct forgotten v->blocks_off Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: correct AC inverse quantization scalingJerome Borsboom2018-04-251-1/+1
| | | | | | | HALFQP should only be added to the inverse quantizer when the block is coded with PQUANT. See 8.1.3.8 in VC-1 spec. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: correct mspel for field-interlace B framesJerome Borsboom2018-04-251-1/+1
| | | | | | | mspel indicates the use of bicubic interpolation. The check wrongly included MVMODE MV_PMODE_1MV_HPEL as using bilinear interpolation. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: remove unused overlap smooting and loop filterJerome Borsboom2018-04-252-300/+0
| | | | | | remove unused overlap smooting and loop filter Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: add overlap smooting and loop filter for frame/field-interlaceJerome Borsboom2018-04-251-71/+40
| | | | | | | | Add previously omitted overlap smooting and loop filtering for frame/field-interlace pictures. For progressive pictures switch to the re-implemented versions of overlap smooting and loop filtering. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: re-implement vc1_put_signed_blocks_clampedJerome Borsboom2018-04-251-58/+58
| | | | | | | | The existing implementation only used vc1_put_signed_blocks_clamped for I and BI frames. This rewritten version is also applicable to P frame both progressive and frame/field-interlace. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: implement interlaced out-of-bounds reference pixel replicationJerome Borsboom2018-04-251-67/+309
| | | | | | | | | | The existing implementation did out-of-bounds reference pixel replication for progressive reference frames. In interlaced reference frames both the even and odd line on the horizontal edges need to be replicated. Fixes #3262. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: correct ff_vc1_dqscaleJerome Borsboom2018-04-251-1/+1
| | | | | | | According to VC-1 spec table 74, the last value in ff_vc1_dqscale should be 0x1041 instead of 0x1000. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: correct ff_vc1_mbmode_intfrpJerome Borsboom2018-04-251-3/+3
| | | | | | | According to VC-1 spec 10.7.3.4, FIELDTX shall be set to the same type as the motion vector for zero-coded blocks. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: store color-difference reference field typeJerome Borsboom2018-04-251-0/+8
| | | | | | | | The loop filter for P interlace field pictures needs the reference field type. For luma, the reference field type was already available. Store the reference field type for color-difference as well. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: store additional bitstream elements during MB decodingJerome Borsboom2018-04-252-23/+51
| | | | | | | The new loop filter needs additional MB properties to make its filtering decisions. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: re-implement and expand VC-1 loop filteringJerome Borsboom2018-04-252-0/+1046
| | | | | | | | | The existing implementation did loop filtering for progressive frames only. This rewritten version implements loop filtering for all applicable frame types for both progessive and frame/field-interlace. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: change to using v->block instead of s->block for P framesJerome Borsboom2018-04-251-24/+31
| | | | | | | | | The new overlap smooting filter smoothes image pixels stored in v->block. Switch to v->block instead of s->block for storing decoded image pixels for P frames. Additionally, we must take incrementing *_blk_idx out of the vc1_put_signed_blocks_clamped function. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/vc1: re-implement and expand VC-1 overlap smoothingJerome Borsboom2018-04-252-0/+96
| | | | | | | | | The existing implementation did overlap smoothing for progressive frames only. This rewritten version implements overlap smoothing for all applicable frame types for both progessive and frame/field-interlace. Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
* avcodec/cbs_mpeg2: use memcpy when assembling fragmentsJames Almer2018-04-251-3/+3
| | | | | | | | | | | | | before: 419022 decicycles in assemble_fragment, 2047 runs, 1 skips after: 104621 decicycles in assemble_fragment, 2045 runs, 3 skips Benched with a 2 minutes long 720x480 DVD mpeg2 sample. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpeg4_unpack_bframes: cache input packets directlyJames Almer2018-04-251-37/+19
| | | | | | Avoids unnecessary allocs+copies and makes the code slightly simpler. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mediacodecdec: refactor pts handlingAman Gupta2018-04-251-11/+6
| | | | | | | | Also fixes a bug where EOS buffer was sent with incorrect pts when not using surface generation. Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/mediacodecdec: use AV_TIME_BASE_QAman Gupta2018-04-251-4/+4
| | | | | | Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Aman Gupta <aman@tmm1.net>
* avcodec/mediacodecdec: clarify delay_flush specific codeAman Gupta2018-04-252-21/+15
| | | | | | | | | As of 2a0eb8685, ff_mediacodec_dec_is_flushing() only returns true in delay_flush mode. Make this more obvious by adding delay_flush to the if statement. Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Aman Gupta <aman@tmm1.net>
OpenPOWER on IntegriCloud