summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavf/mov.c: Avoid OOB in mov_read_udta_string()Matt Wolenetz2017-02-10
| | | | | | | | Core of patch is from paul@paulmehta.com Reference https://crbug.com/643952 (udta_string portion) Signed-off-by: Matt Wolenetz <wolenetz@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegenc: Simplify by moving assert into ff_mjpeg_encode_huffman_close()Michael Niedermayer2017-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegenc: Bypass the 2 pass encoding when optimal tables are not ↵Michael Niedermayer2017-02-10
| | | | | | | | | | requested This limits the bugs, speedloss and extra memory allocation to the case when optimal tables are needed. Fixes regressions with slice multi-threading Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegenc: Revert some differences in ff_mjpeg_encode_mb() relative ↵Michael Niedermayer2017-02-10
| | | | | | | | to pre optimal huffman The changes are not needed anymore and the return code was never used Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegenc_huffman: remove unneeded header includeMichael Niedermayer2017-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tests/mjpegenc_huffman: Remove static in main() tableMichael Niedermayer2017-02-10
| | | | | | Avoids false positives when greping for non constant statics Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegenc: Drop i_tex misuse, set itex/header bits correctly, fix ↵Michael Niedermayer2017-02-10
| | | | | | 2pass encoding Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegenc: Remove non functional huffman reallocation and error handlingMichael Niedermayer2017-02-10
| | | | | | | If this is wanted iam not against it but it must be designed to work with all cases like slice threads, and a single growing buffer does not work very well with slices. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tests/mjpegenc_huffman: align static tablesRostislav Pehlivanov2017-02-09
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* mjpegenc: use s->avctx as a context for av_log rather than NULLRostislav Pehlivanov2017-02-09
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* tests/mjpegenc_huffman: replace assert() with av_assert0()Rostislav Pehlivanov2017-02-09
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* mjpegenc_common: add missing ff_ prefix to init_uni_ac_vlcRostislav Pehlivanov2017-02-09
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* ffplay: change keyboard volume control to logarithmicMarton Balint2017-02-08
| | | | | | The command line parameter remains linear. Signed-off-by: Marton Balint <cus@passwd.hu>
* vaapi_encode: Add VP8 supportMark Thompson2017-02-08
| | | | | | Fixes ticket #6116. (cherry picked from commit ca62236a89f47bd871eaf69d8d9e837c93c55a6c)
* vaapi_encode: Pass framerate parameters to driverMark Thompson2017-02-08
| | | | | | | | | Only do this when building for a recent VAAPI version - initial driver implementations were confused about the interpretation of the framerate field, but hopefully this will be consistent everywhere once 0.40.0 is released. (cherry picked from commit ff35aa8ca4069bf1543adeec4c28e51e4a012eee)
* vaapi_h264: Enable VBR modeMark Thompson2017-02-08
| | | | | | | | | | Default to using VBR when a target bitrate is set, unless the max rate is also set and matches the target. Changes to the Intel driver mean that min_qp is also respected in this case, so set a codec default to unset the value rather than using the current default inherited from the MPEG-4 part 2 encoder. (cherry picked from commit eddfb57210298a0a94472794485400a3a6c76196)
* vaapi_encode: Support VBR modeMark Thompson2017-02-08
| | | | | | | | This includes a backward-compatibility hack to choose CBR anyway on old drivers which have no CBR support, so that existing programs will continue to work their options now map to VBR. (cherry picked from commit f033ba470fbab1ff6838666d4d86411effa97b27)
* vaapi_encode: Add MPEG-2 supportMark Thompson2017-02-08
| | | | (cherry picked from commit ca6ae3b77a7e6600e517723b90e57527a47809de)
* vaapi_h264: Scale log2_max_pic_order_cnt_lsb with max_b_framesMark Thompson2017-02-08
| | | | | | | | | Before this change, it was possible to overflow pic_order_cnt_lsb and generate a stream with invalid POC numbering. This makes sure that the field is large enough that a single IDR B* P sequence uses fewer than half the available POC lsb values. (cherry picked from commit 89725a8512721fffd190021ded2d3f5b42e20e2a)
* vaapi_encode: Support forcing IDR frames via AVFrame.pict_typeMark Thompson2017-02-08
| | | | (cherry picked from commit a3c3a5eac20a51d402c332cdf5220fff40a7943f)
* vaapi_encode: Fix GOP sizingMark Thompson2017-02-08
| | | | | | | | This change makes the configured GOP size be respected exactly - previously the value could be exceeded slightly due to flaws in the frame type selection logic. (cherry picked from commit 37fab0661a760b2a9d727939d72e629acee1a6ef)
* vaapi_h265: Fix CFR mode with framerate set in AVCodecContextMark Thompson2017-02-08
| | | | | | Same issue as 17a0f9481cf07af0feb3838ca315b970117e8000. (cherry picked from commit 7d81698b89172d2dcf1b78d4b42ba86262360559)
* vaapi_h265: Add main 10 encode supportMark Thompson2017-02-08
| | | | | (cherry picked from commit 5a5df90d9c05d86d9b0564b8b40b6d64a324df5e) (cherry picked from commit d08e02d929ff8be5f56bb1da0e439bf1ae557552)
* avcodec/h264_slice: Clear ref_counts on redundant slicesMichael Niedermayer2017-02-08
| | | | | | | | Fixes reading freed memory Fixes: 568/clusterfuzz-testcase-6107186067406848 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/encoders: fix broken build with 884506dfe2eRicardo Constantino2017-02-08
|
* Implement optimal huffman encoding for (M)JPEG.Jerry Jiang2017-02-08
| | | | | | | > seems to break > make fate-vsynth1-mjpeg-444 Fixed.
* lavf/mov.c: Avoid heap allocation wrap in mov_read_uuidMatt Wolenetz2017-02-08
| | | | | | | | | Core of patch is from paul@paulmehta.com Reference https://crbug.com/643951 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Check value reduced as the code does not support values beyond INT_MAX Also the check is moved to a more common place and before integer truncation
* lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlrMatt Wolenetz2017-02-08
| | | | | | | | Core of patch is from paul@paulmehta.com Reference https://crbug.com/643950 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Check value reduced as the code does not support larger lengths
* libavcodec/cinepak.c: fix a wrong (inverted) misleading commentRl2017-02-07
| | | | Make the comment message understandable and correct.
* avcodec: Mark some codecs with threadsafe init as suchDerek Buitenhuis2017-02-07
| | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_scale: Fix chroma positioning for 4:2:0 pixel formatMaksym Veremeyenko2017-02-07
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pictordec: Fix logic errorMichael Niedermayer2017-02-07
| | | | | | | Fixes: 559/clusterfuzz-testcase-6424225917173760 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* matroska: demux BluRay text subtitlesPetri Hintukainen2017-02-07
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/filters: extend midequalizer descriptionPaul B Mahol2017-02-07
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/hlsenc: add hls_flag option to write segments to temporary file ↵Aman Gupta2017-02-07
| | | | | | | | | | | | | | | | until complete Adds a `-hls_flags +temp_file` which will write segment data to filename.tmp, and then rename to filename when the segment is complete. This patch is similar in spirit to one used in Plex's ffmpeg fork, and allows a transcoding webserver to ensure incomplete segment files are never served up accidentally. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Bodecs Bela <bodecsb@vivanet.hu> Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* configure: use dashes instead of slashes in lib.exe invocationHendrik Leppkes2017-02-06
| | | | | This avoids issues with wrong parameter translation by msys on some systems, and the Windows SDK tools accept both forms equally.
* avcodec/movtextdec: Fix decode_styl() cleanupMichael Niedermayer2017-02-06
| | | | | | | | Fixes: null pointer dereference Fixes: 555/clusterfuzz-testcase-5986646595993600 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_midequalizer: Remove duplicate includeMichael Niedermayer2017-02-06
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/matroskadec: fix is_keyframe for early BlocksChris Cunningham2017-02-06
| | | | | | | | | | | | | | | Blocks are marked as key frames whenever the "reference" field is zero. This breaks for non-keyframe Blocks with a reference timestamp of zero. The likelihood of reference timestamp being zero is increased by a longstanding bug in muxing that encodes reference timestamp as the absolute time of the referenced frame (rather than relative to the current Block timestamp, as described in MKV spec). Now using INT64_MIN to denote "no reference". Reported to chromium at http://crbug.com/497889 (contains sample)
* ffmpeg: Remove redundant null checkMichael Niedermayer2017-02-06
| | | | | | Fixes CID1396245 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pthread_frame: Check av_packet_ref() for failureMichael Niedermayer2017-02-06
| | | | Fixes CID1396242
* avfilter/af_pan: fix null pointer dereference on empty tokenMarton Balint2017-02-05
| | | | | | Fixes Coverity CID 1396254. Signed-off-by: Marton Balint <cus@passwd.hu>
* vf_scale_vaapi: Add missing return value checksMark Thompson2017-02-05
| | | | Fixes CID 1374119.
* ffmpeg_vaapi: Always set hwaccel_ctx, so it gets properly cleaned up on errorMark Thompson2017-02-05
| | | | Fixes CID 1398954.
* Revert "avutil/hwcontext_vaapi: fix SEGV in vaTerminate when vaInitialize fails"Mark Thompson2017-02-05
| | | | | | | | | | | The original code is correctly following the API - vaTerminate() must be called to free the resources of a VADisplay after it is created by any of the vaGetDisplay*() calls; it is not necessary to have successfully called vaInitialize() on it. The segfaults which prompted this change must therefore be bugs in libva or the driver it loads. This reverts commit 3606602f1137552ea54f2c259eb140c1e3c026d4.
* ffmpeg_vaapi: Unreference global device before setting itMark Thompson2017-02-05
| | | | | This currently leaks if multiple device options are specified on the command line.
* avfilter/ebur128: fix relative threshold calculation for multiple contextsMarton Balint2017-02-04
| | | | | | | | This reworks the code a bit and also disallows NULL contexts. Fixes Coverity CID 1396273, 1396279. Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/ebur128: do not allow null ebur128 context in ↵Marton Balint2017-02-04
| | | | | | | | | | ff_ebur128_relative_threshold The user should supply a proper context. Fixes Coverity CID 1396246. Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/muxers: remove confusing example for segment muxer option ↵Marton Balint2017-02-04
| | | | | | | | | | clocktime_wrap_duration Detecting a leap second depends on a lot of things, segment time, segment offset, system leap second implementation, the removed part is a huge simplification which can be misleading, so it is best to remove it. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/segment: remove last_cut check when detecting a new segmentMarton Balint2017-02-04
| | | | | | | | | Not starting a new segment if the elapsed microsecs since the start of the day equals the the elapsed microsecs since the start of the day at the time of the last cut seems plain wrong to me, Deti do you remember the original reason behind this check? Signed-off-by: Marton Balint <cus@passwd.hu>