summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Interplay MVE: Implement frame format 0x06Hein-Pieter van Braam2017-06-272-14/+126
| | | | | | | | | | | | | | | | | | | | | | | | | This implements the 0x06 frame format for Interplay MVE movies. The format is relatively simple. The video data consists of two parts: 16 bits per 8x8 block movement data a number of 8x8 blocks of pixel data For each 8x8 block of pixel data the movement data is consulted. There are 3 possible meanings of the movement data: * zero : copy the 8x8 block from the pixel data * negative : copy the 8x8 block from the previous frame from an offset determined by the actual value of the entry -0xC000. * positive : copy the 8x8 block from the current frame from an offset determined by the actual value of the entry -0x4000 Decoding happens in two passes, in the fist pass only new pixeldata is copied, during the second pass data is copied from the previous and current frames. The codec expects that the current frame being decoded to still has the data from 2 frames ago on it when decoding starts. Signed-off-by: Hein-Pieter van Braam <[email protected]>
* Interplay MVE: Refactor IP packet formatHein-Pieter van Braam2017-06-272-28/+51
| | | | | | | | Interplay MVE can contain up to three different frame formats. They require different streams of information to render a frame. This patch changes the IP packet format to prepare for the extra frame formats. Signed-off-by: Hein-Pieter van Braam <[email protected]>
* Interplay MVE: Implement MVE SEND_BUFFER operationHein-Pieter van Braam2017-06-272-11/+20
| | | | | | | | | | | Interplay MVE movies have a SEND_BUFFER operation. Only after this command does the current decoding buffer get displayed. This is required for the other frame formats. They are fixed-size and can't always encode a full frame worth of pixeldata. This code prevents half-finished frames from being emitted. Signed-off-by: Hein-Pieter van Braam <[email protected]>
* avcodec/proresenc_kostya: add 4444XQ profilePaul B Mahol2017-06-272-3/+16
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/ffv1enc: compute the max number of slices and limit by thatMichael Niedermayer2017-06-271-3/+4
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avformat: Fix Pro-MPEG non-square matrixAndreas Håkon2017-06-271-1/+1
| | | | | Reviewed-by:[email protected] Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/ffv1enc: Allow less than 2 rows of slices for low vertical resolutionMichael Niedermayer2017-06-271-0/+4
| | | | | | Fixes: Ticket5548 Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/utvideodec: add SIMD for restore_rgb_planesPaul B Mahol2017-06-278-47/+279
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/utvideodec: decode to GBR(A)PPaul B Mahol2017-06-267-277/+49
| | | | | | | | | | | This is actually internal utvideo format. Allows to make use of SIMD for median prediction for rgb(a) formats, thus speeding up decoding. Simplifies code, eases further developement and maintenance. Update FATE because of pixel format switch. Signed-off-by: Paul B Mahol <[email protected]>
* avfilter: remove usage of empty headerPaul B Mahol2017-06-264-4/+0
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/g722enc: force mono channel layoutKyle Swanson2017-06-261-16/+11
| | | | Signed-off-by: Kyle Swanson <[email protected]>
* avcodec/jpeg2000dwt: Fix integer overflows in sr_1d97_int()Michael Niedermayer2017-06-261-4/+4
| | | | | | | | Fixes: runtime error: signed integer overflow: 1157259380 + 1157259380 cannot be represented in type 'int' Fixes: 2365/clusterfuzz-testcase-minimized-6020421927305216 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int()Michael Niedermayer2017-06-261-1/+1
| | | | | | | | Fixes: runtime error: signed integer overflow: -163654656 * 256 cannot be represented in type 'int' Fixes: 2367/clusterfuzz-testcase-minimized-4648678897745920 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/ffv1enc: Try to choose slice count so that slice packet sizes are ↵Michael Niedermayer2017-06-261-2/+9
| | | | | | | | within the supported size Fixes assertion failure Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/ffv1: Increase the maximum number of slices to 1024Michael Niedermayer2017-06-261-1/+1
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* lavc/x86: clear r2 higher bits in ff_sbr_sum_squareMatthieu Bouron2017-06-261-1/+1
| | | | Suggested-by: James Almer <[email protected]>
* avcodec/proresenc_kostya: enable frame threadingPaul B Mahol2017-06-261-1/+1
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/frame_thread_encoder: Fix AV_OPT_TYPE_STRING handling in priv_dataMichael Niedermayer2017-06-261-1/+7
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/proresenc_kostya: use frame metadata instead of avctxPaul B Mahol2017-06-261-3/+3
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/prores_kostya: increase bits usage when alpha is usedPaul B Mahol2017-06-251-1/+3
| | | | | | Also fix undefined left shift of negative variable. Signed-off-by: Paul B Mahol <[email protected]>
* avfilter/vf_blend: add extremity blend modePaul B Mahol2017-06-253-0/+6
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avfilter/vf_waveform: allow alpha output for >8 depth planar rgb inputsPaul B Mahol2017-06-251-2/+2
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avfilter/vf_overlay: separate functions with main alphaPaul B Mahol2017-06-251-25/+46
| | | | | | ~5-15% faster overall with main input without alpha. Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/hevcdec: Do not check the first ff_init_cabac_decoder() call in ↵Michael Niedermayer2017-06-251-4/+1
| | | | | | | | | | | hls_decode_entry_wpp() for failure The result of the call is not used in any testcase but breaks some cases if its failure is considered. Fixes regression found by jamrial Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/wavpack: Fix integer overflow in wv_unpack_stereo()Michael Niedermayer2017-06-251-1/+1
| | | | | | | | Fixes: runtime error: signed integer overflow: 2080374785 + 2080374784 cannot be represented in type 'int' Fixes: 2351/clusterfuzz-testcase-minimized-5359403240783872 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/hevc_ps: Fix max_dec_buffer checkMichael Niedermayer2017-06-251-2/+2
| | | | | | | | Fixes: runtime error: signed integer overflow: -2147483648 - 1 cannot be represented in type 'int' Fixes: 2339/clusterfuzz-testcase-minimized-6663164320022528 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avfilter/vf_lut2: add support for gray10 and gray12 pixel formatsPaul B Mahol2017-06-241-1/+1
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avcodec/adpcm_data: use uint16_t to handle all valuesPaul B Mahol2017-06-241-1/+1
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* lavc/tests/golomb: Add unit test for set_ue_golomb_long.Jun Zhao2017-06-241-0/+19
| | | | | | | Add unit test for set_ue_golomb_long. Signed-off-by: Jun Zhao <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* lavc/golobm: Add set_ue_golomb_long to support up to 2^32 -2.Jun Zhao2017-06-241-0/+15
| | | | | | | | | add set_ue_golomb_long to support up to 2^32-2. Reviewed-by: Mark Thompson <[email protected]> Reviewed-by: Michael Niedermayer <[email protected]> Signed-off-by: Jun Zhao <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* lavc/put_bits: Add put_bits64() to support up to 64 bits.Jun Zhao2017-06-241-0/+35
| | | | | | | | | put_bits64() can write up to 64 bits into a bitstream. Reviewed-by: Mark Thompson <[email protected]> Reviewed-by: Michael Niedermayer <[email protected]> Signed-off-by: Jun Zhao <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/hevcdec: Use error path if init_get_bits8() failsMichael Niedermayer2017-06-241-2/+2
| | | | | Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/hevcdec: check ff_init_cabac_decoder() for failureMichael Niedermayer2017-06-243-16/+37
| | | | | | | | | Fixes: runtime error: left shift of 1965559808 by 4 places cannot be represented in type 'int' Fixes: 2333/clusterfuzz-testcase-minimized-5223935677300736 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avfilter/vf_overlay: remove rgb optionPaul B Mahol2017-06-242-12/+0
| | | | | | Its been deprecated for over 3 years. Signed-off-by: Paul B Mahol <[email protected]>
* avfilter/af_headphone: do not free frame that's gonna be reused laterPaul B Mahol2017-06-241-3/+1
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avfilter: do not leak AVFrame on failed buffer allocationPaul B Mahol2017-06-248-8/+24
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* avformat/file: increase min/max packet size to 256k for written filesMarton Balint2017-06-241-0/+5
| | | | | | | | Buffering more than one packet can be a huge performance improvement for encoding files with small packets (e.g. wav) over SMB/CIFS. Acked-by: Michael Niedermayer <[email protected]> Signed-off-by: Marton Balint <[email protected]>
* avformat: make flush_packets a tri-state and set it to -1 (auto) by defaultMarton Balint2017-06-243-11/+19
| | | | | | | | | If flushing is not disabled, then mux.c will signal the end of the packets with an AVIO_DATA_MARKER_FLUSH_POINT, and aviobuf will be able to decide to flush or not based on the preferred minimum packet size set by the used protocol. Reviewed-by: Michael Niedermayer <[email protected]> Signed-off-by: Marton Balint <[email protected]>
* avformat/aviobuf: add support for specifying minimum packet size and marking ↵Marton Balint2017-06-245-2/+24
| | | | | | | flush points Reviewed-by: Michael Niedermayer <[email protected]> Signed-off-by: Marton Balint <[email protected]>
* avformat/aviobuf: fix flushing write buffers after seeking backward or forwardMarton Balint2017-06-243-29/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes aviobuf work more like traditinal file IO, which is how people think about it. For example, in the past, aviobuf only flushed buffers until the current buffer position, even if more data was written to it previously, and a backward seek was used to reposition the IO context. From now, aviobuf will keep track of the written data, so no explicit seek will be required till the end of the buffer, or till the end of file before flushing. This fixes at least one regression, fate-vsynth3-flv was broken if flush_packets option was set to false, an explicit seek was removed in 4e3cc4bdd8acedbcc703607ed0efbb64bb5c3cc4. Also from now on, if a forward seek in the write buffer were to cause a gap between the already written data and the new file position, a flush will happen. The must_flush varable is also removed, which might have caused needless flushes with multiple seeks whithin the write buffer. Since we know the amount of data written to it, we will know when to flush. Signed-off-by: Marton Balint <[email protected]>
* doc: Add VAAPI encodersMark Thompson2017-06-241-0/+96
| | | | (cherry picked from commit 41dda860870fb1566b17f6b0b61922f0ef89be47)
* vaapi_encode: Add VP9 supportMark Thompson2017-06-245-1/+319
| | | | (cherry picked from commit 0fd91e4bfc00a6609b59d1ce3a9f152184e62601)
* vp9: Add bsf to fix reordering in raw streamsMark Thompson2017-06-245-1/+415
| | | | | | | | | | | Takes a raw input stream containing frames with correct timestamps but possibly out of order and inserts additional show-existing-frame packets to correct the ordering. (cherry picked from commit 34e051d16850701694410a0e72e0e4ff3a5ec293) (cherry picked from commit b43b95f4789b6e60f9684918fd3c0a5f3f18aef6) Also converted from bitstream to get_bits.
* ffmpeg: Flush output BSFs when encode reaches EOFMark Thompson2017-06-241-11/+30
| | | | | | | Before this, output bitstream filters would never see EOF and therefore would not be able to flush any delayed packets. (cherry picked from commit f64d1100a54d12c78ce436181bb64229c56da6b3)
* avcodec/mpeg4videodec: Fix GMC with videos of dimension 1Michael Niedermayer2017-06-241-1/+1
| | | | | | | | Fixes: runtime error: shift exponent -1 is negative Fixes: 2338/clusterfuzz-testcase-minimized-5153426541379584 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* vf_spp: only assign function pointers if permutation matches expectations.Ronald S. Bultje2017-06-241-1/+7
|
* avfilter/vf_overlay: add auto format modePaul B Mahol2017-06-242-9/+51
| | | | Signed-off-by: Paul B Mahol <[email protected]>
* fate: update checksums for fate-lavf-ffm and fate-lavf-mxfJames Almer2017-06-242-4/+4
| | | | | | | | | | | | | <@jamrial> durandal_1707: 04aa09c4bc broke fate-lavf-ffm and fate-lavf-mxf <@durandal_1707> how so? <@jamrial> one byte changes <@durandal_1707> jamrial: just update checksums <@jamrial> durandal_1707: but why did they change at all? the commit you reverted didn't affect them <@jamrial> why does reverting it affect these tests? <@jamrial> i don't think updating the checksum without knowing what changed is a good idea <@durandal_1707> jamrial: the lavfi core is in weird state after removal of recursive code <@durandal_1707> jamrial: the change is that older ones would get progressive flag set and new one doesnt <@jamrial> alright
* x86/mdct15: use three operand form for some instructionsJames Almer2017-06-241-6/+6
| | | | Fixes compilation with old yasm
* Add support for LibOpenJPEG v2.2/gitReino172017-06-233-8/+15
| | | | Signed-off-by: Michael Bradshaw <[email protected]>