]> git.sesse.net Git - ffmpeg/log
ffmpeg
5 years agoMerge commit 'cc7ba00c35faf0478f1f56215e926f70ccb31282'
James Almer [Thu, 14 Mar 2019 19:16:43 +0000 (16:16 -0300)]
Merge commit 'cc7ba00c35faf0478f1f56215e926f70ccb31282'

* commit 'cc7ba00c35faf0478f1f56215e926f70ccb31282':
  aarch64: vp8: Port missing epel8 functions from arm version

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '52c9b0a6c0d02cff6caebcf6989e565e05b55200'
James Almer [Thu, 14 Mar 2019 19:14:40 +0000 (16:14 -0300)]
Merge commit '52c9b0a6c0d02cff6caebcf6989e565e05b55200'

* commit '52c9b0a6c0d02cff6caebcf6989e565e05b55200':
  aarch64: vp8: Port vp8_luma_dc_wht and vp8_idct_dc_add4uv from arm version

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'c513fcd7d235aa4cef45a6c3125bd4dcc03bf276'
James Almer [Thu, 14 Mar 2019 19:13:32 +0000 (16:13 -0300)]
Merge commit 'c513fcd7d235aa4cef45a6c3125bd4dcc03bf276'

* commit 'c513fcd7d235aa4cef45a6c3125bd4dcc03bf276':
  aarch64: vp8: Fix a typo in a comment

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'f1011ea28a4048ddec97794ca3e9901474fe055f'
James Almer [Thu, 14 Mar 2019 19:09:11 +0000 (16:09 -0300)]
Merge commit 'f1011ea28a4048ddec97794ca3e9901474fe055f'

* commit 'f1011ea28a4048ddec97794ca3e9901474fe055f':
  aarch64: vp8: Reorder the function pointer inits to match the arm original

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'b4b27dce95a6d40bfcd78043d3abec7d80dae143'
James Almer [Thu, 14 Mar 2019 19:07:59 +0000 (16:07 -0300)]
Merge commit 'b4b27dce95a6d40bfcd78043d3abec7d80dae143'

* commit 'b4b27dce95a6d40bfcd78043d3abec7d80dae143':
  aarch64: vp8: Move the vp8dsp makefile entries to the right places
  aarch64: vp8: Remove superfluous includes

This commit is a noop, see
fecf75a5c4f691d1e786992cf1dfa82e76ac1b97
c8bc9d1380dd686a4ee97d3415c976707904e945

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '85bfaa4949f4afcde19061def3e8a18988964858'
James Almer [Thu, 14 Mar 2019 19:06:43 +0000 (16:06 -0300)]
Merge commit '85bfaa4949f4afcde19061def3e8a18988964858'

* commit '85bfaa4949f4afcde19061def3e8a18988964858':
  aarch64: vp8: Use the proper aarch64 form for conditional branches

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '2eeac79936e83c4495cbe5905064ab797e9b45ff'
James Almer [Thu, 14 Mar 2019 19:06:19 +0000 (16:06 -0300)]
Merge commit '2eeac79936e83c4495cbe5905064ab797e9b45ff'

* commit '2eeac79936e83c4495cbe5905064ab797e9b45ff':
  aarch64: vp8: Fix assembling with armasm64
  aarch64: vp8: Fix assembling with clang

This commit is a noop, see
c950beb68dee016e0e0a1b729d40abf700d32d1a
7ddfa5e9083baec3f9608ec5257fc94a5ae9a3ef

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '0801853e640624537db386727b36fa97aa6258e7'
James Almer [Thu, 14 Mar 2019 19:01:39 +0000 (16:01 -0300)]
Merge commit '0801853e640624537db386727b36fa97aa6258e7'

* commit '0801853e640624537db386727b36fa97aa6258e7':
  libavcodec: vp8 neon optimizations for aarch64

See 833fed5253617924c41132e0ab261c1d8c076360

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '899ee03088d55152a48830df0899887f055da1de'
James Almer [Thu, 14 Mar 2019 18:53:16 +0000 (15:53 -0300)]
Merge commit '899ee03088d55152a48830df0899887f055da1de'

* commit '899ee03088d55152a48830df0899887f055da1de':
  Unbreak travis on macos

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b'
James Almer [Thu, 14 Mar 2019 17:47:57 +0000 (14:47 -0300)]
Merge commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b'

* commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b':
  tests: Add a convenience function for video-only lavf tests

Merged-by: James Almer <jamrial@gmail.com>
5 years agotests: Convert lavf container tests with samples to non-legacy test scripts
James Almer [Thu, 14 Mar 2019 17:37:44 +0000 (14:37 -0300)]
tests: Convert lavf container tests with samples to non-legacy test scripts

5 years agoMerge commit '618d02c1fa9e74d490cace64a7d15762656b521c'
James Almer [Thu, 14 Mar 2019 17:36:24 +0000 (14:36 -0300)]
Merge commit '618d02c1fa9e74d490cace64a7d15762656b521c'

* commit '618d02c1fa9e74d490cace64a7d15762656b521c':
  tests: Convert lavf container tests to non-legacy test scripts

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '896fe15dbb7b78de495c4a7dd75e7faec66778da'
James Almer [Thu, 14 Mar 2019 17:31:48 +0000 (14:31 -0300)]
Merge commit '896fe15dbb7b78de495c4a7dd75e7faec66778da'

* commit '896fe15dbb7b78de495c4a7dd75e7faec66778da':
  tests: Convert lavf pixfmt conversion tests to non-legacy test scripts

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'a957e9379d11f2982d615f92c30580a57ea8bb40'
James Almer [Thu, 14 Mar 2019 17:24:19 +0000 (14:24 -0300)]
Merge commit 'a957e9379d11f2982d615f92c30580a57ea8bb40'

* commit 'a957e9379d11f2982d615f92c30580a57ea8bb40':
  tests: Convert lavf image tests to non-legacy test scripts

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'eb8a8115994434b548523cf0bca6a4a74784e79c'
James Almer [Thu, 14 Mar 2019 17:19:03 +0000 (14:19 -0300)]
Merge commit 'eb8a8115994434b548523cf0bca6a4a74784e79c'

* commit 'eb8a8115994434b548523cf0bca6a4a74784e79c':
  tests: Convert audio-only lavf tests to non-legacy test scripts

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'a70eac7a9b193e8434b5bed90bd72aa4cb688363'
James Almer [Thu, 14 Mar 2019 17:04:55 +0000 (14:04 -0300)]
Merge commit 'a70eac7a9b193e8434b5bed90bd72aa4cb688363'

* commit 'a70eac7a9b193e8434b5bed90bd72aa4cb688363':
  tests: Convert image2pipe tests to non-legacy test scripts

Merged-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/dvbsubdec: Check object position
Michael Niedermayer [Tue, 5 Mar 2019 19:14:05 +0000 (20:14 +0100)]
avcodec/dvbsubdec: Check object position

Reference: ETSI EN 300 743 V1.2.1  7.2.2 Region composition segment

Fixes: Timeout
Fixes: 13325/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVBSUB_fuzzer-5143979392237568
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/cdgraphics: Use ff_set_dimensions()
Michael Niedermayer [Tue, 5 Mar 2019 11:51:22 +0000 (12:51 +0100)]
avcodec/cdgraphics: Use ff_set_dimensions()

Fixes: Timeout (17 sec -> 65 milli sec)
Fixes: 13264/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CDGRAPHICS_fuzzer-5711167941509120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavformat/gdv: Check fps
Michael Niedermayer [Mon, 4 Mar 2019 23:48:18 +0000 (00:48 +0100)]
avformat/gdv: Check fps

Fixes: Division by 0
Fixes: ffmpeg_zero_division.bin
Found-by: Anatoly Trosinenko <anatoly.trosinenko@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agolibavcodec/zmbvenc: Add support for RGB formats
Matthew Fearnley [Thu, 7 Mar 2019 14:42:09 +0000 (14:42 +0000)]
libavcodec/zmbvenc: Add support for RGB formats

This consists mostly of the following changes:
- add newly supported pixel formats (RGB555LE, RGB565LE, BGR0)
- select the ZMBV format (c->fmt) and bytes per pixel (c->bypp) based on
  avctx->pix_fmt
- multiply widths/x-values by c->bypp, in places where bytes, not pixels, are
  expected
- disable palette-writing code for non-palette pix_fmts
- make a note about histogram[]'s datatype (it could need increasing if
  ZMBV_BLOCK is increased)
- adjust the c->score_tab length to take up to (and including) 4 times the
  number of pixels in a block
- initialise c->score_tab up to c->bypp * the number of pixels

Note: the ZmbvFormat enum allows for additional bit depths:
- 1,2,4-bit (palette)
- 24-bit (RGB)

At time of writing the specifics of these (e.g. channel order, bit alignment)
are not currently defined, and DOSBox only implements support for 8/15/16/32
bpp.
One might expect the 24-bit format - if implemented - to be BGR24, to have the
same channel order as BGR0.
However, the decoder in zmbv.c has been guessed to use RGB24, so I have chosen
to not contradict this, and omitted specific support for this format.

5 years agoavformat/rtpdec.h remove unused variable
Jun Li [Tue, 12 Mar 2019 21:26:22 +0000 (14:26 -0700)]
avformat/rtpdec.h remove unused variable

Looks like the variable 'cur_timestamp' is not used anywhere.
So remove this variable.

Signed-off-by: Jun Li <junli1026@gmail.com>
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agofate/mxf: add mxf user comments tests
Mark Reid [Mon, 11 Mar 2019 20:22:38 +0000 (13:22 -0700)]
fate/mxf: add mxf user comments tests

Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavformat/mxfenc: allow user comments for opatom muxer
Mark Reid [Mon, 11 Mar 2019 20:22:37 +0000 (13:22 -0700)]
avformat/mxfenc: allow user comments for opatom muxer

Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/libdav1d: unref the frame on failure
James Almer [Tue, 12 Mar 2019 22:45:10 +0000 (19:45 -0300)]
avcodec/libdav1d: unref the frame on failure

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agolibdav1d: Add support for reading hdr10 metadata
Vittorio Giovara [Tue, 12 Mar 2019 22:36:30 +0000 (19:36 -0300)]
libdav1d: Add support for reading hdr10 metadata

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/libdav1d: consistently use AVERROR return values
James Almer [Tue, 12 Mar 2019 22:18:14 +0000 (19:18 -0300)]
avcodec/libdav1d: consistently use AVERROR return values

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/libdav1d: use a custom picture allocator
James Almer [Tue, 12 Mar 2019 22:11:19 +0000 (19:11 -0300)]
avcodec/libdav1d: use a custom picture allocator

Replaces the libdav1d internal allocator. It uses an AVBufferPool to reduce the
amount of allocated buffers.
About 5% speed up when decoding 720p or higher streams.

Reviewed-by: "Vittorio Giovara <vittorio.giovara@gmail.com>"
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/libdav1d: move the pix_fmt enum array up in the file
James Almer [Tue, 12 Mar 2019 22:09:43 +0000 (19:09 -0300)]
avcodec/libdav1d: move the pix_fmt enum array up in the file

This is in preparation for the following commit.

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/libdav1d: route dav1d internal logs through av_log()
James Almer [Fri, 1 Mar 2019 17:48:35 +0000 (14:48 -0300)]
avcodec/libdav1d: route dav1d internal logs through av_log()

Bump the minimum required version to the first one with the logger API callback.

Reviewed-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/mpeg4videodec: Check idx in mpeg4_decode_studio_block()
Michael Niedermayer [Sun, 10 Mar 2019 00:40:59 +0000 (01:40 +0100)]
avcodec/mpeg4videodec: Check idx in mpeg4_decode_studio_block()

Fixes: Out of array access
Fixes: 13500/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5769760178962432
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/mpeg4videodec: Fix nonsense warning
Andreas Rheinhardt [Mon, 11 Mar 2019 10:32:05 +0000 (11:32 +0100)]
avcodec/mpeg4videodec: Fix nonsense warning

Since db772308941a2a338c7809f90d347219a6a93074 parsing of
mpeg4-extradata lead to a "Failed to parse extradata" warning, because
ff_mpeg4_decode_picture_header returns AVERROR_INVALIDDATA in case that
no VOP was found. This patch adds a parameter to signify whether a
header (where the absence of a VOP does not raise an error) or not is
parsed. The first mode is of course used for parsing headers.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoMerge commit '5846b496f0a1dd5be4ef714622940674305ec00f'
James Almer [Mon, 11 Mar 2019 01:26:17 +0000 (22:26 -0300)]
Merge commit '5846b496f0a1dd5be4ef714622940674305ec00f'

* commit '5846b496f0a1dd5be4ef714622940674305ec00f':
  tests: Use a predefined function for lavf-rm test

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'dad5fd59f3d6a8311365314cfcde0ebcd15c2b01'
James Almer [Mon, 11 Mar 2019 01:22:50 +0000 (22:22 -0300)]
Merge commit 'dad5fd59f3d6a8311365314cfcde0ebcd15c2b01'

* commit 'dad5fd59f3d6a8311365314cfcde0ebcd15c2b01':
  tests: Enable CRC test for yuv4mpeg

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '8629149816930a43bf5a66b11c6224446cabd044'
James Almer [Mon, 11 Mar 2019 01:17:25 +0000 (22:17 -0300)]
Merge commit '8629149816930a43bf5a66b11c6224446cabd044'

* commit '8629149816930a43bf5a66b11c6224446cabd044':
  tests: Drop duplicate variable declaration

This commit is a noop, as it breaks tests like fate-filter-pixfmts

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit 'e22ffb3805f6994bd1fd7ab73e6297f36a53f915'
James Almer [Mon, 11 Mar 2019 00:15:38 +0000 (21:15 -0300)]
Merge commit 'e22ffb3805f6994bd1fd7ab73e6297f36a53f915'

* commit 'e22ffb3805f6994bd1fd7ab73e6297f36a53f915':
  tests: Unify output directory creation

Merged-by: James Almer <jamrial@gmail.com>
5 years agoMerge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b'
James Almer [Sun, 10 Mar 2019 22:31:13 +0000 (19:31 -0300)]
Merge commit '7e5bde93a1e7641e1622814dafac0be3f413d79b'

* commit '7e5bde93a1e7641e1622814dafac0be3f413d79b':
  build: Rename OBJDIRS variable to OUTDIRS

Merged-by: James Almer <jamrial@gmail.com>
5 years agolavf/matroskaenc: Allow dvdsub remuxing from some containers.
Carl Eugen Hoyos [Sun, 10 Mar 2019 19:45:45 +0000 (20:45 +0100)]
lavf/matroskaenc: Allow dvdsub remuxing from some containers.

Fixes ticket #7783.

5 years agoavcodec/imm4: Unreference previous frame on frame size change
Michael Niedermayer [Sat, 9 Mar 2019 21:22:55 +0000 (22:22 +0100)]
avcodec/imm4: Unreference previous frame on frame size change

Fixes: Out of array access
Fixes: 13552/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IMM4_fuzzer-5767949648920576
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/nvenc: add minimum driver version for SDK 8.2 and 9.0
Timo Rothenpieler [Sat, 9 Mar 2019 23:25:31 +0000 (00:25 +0100)]
avcodec/nvenc: add minimum driver version for SDK 8.2 and 9.0

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoavcodec/proresenc_aw : fix interlace encoding for unsafe height
Martin Vignali [Thu, 7 Mar 2019 23:06:01 +0000 (00:06 +0100)]
avcodec/proresenc_aw : fix interlace encoding for unsafe height

fix the call of the unsafe version of slice encoding in interlace mode
fix padding line count in sub image with fill in interlace mode

5 years agovf_showinfo: Fix timecode display
Kieran Kunhya [Thu, 24 Jan 2019 18:55:00 +0000 (18:55 +0000)]
vf_showinfo: Fix timecode display

5 years agoavcodec/dxv: Correct integer overflow in get_opcodes()
Michael Niedermayer [Sat, 2 Mar 2019 23:47:47 +0000 (00:47 +0100)]
avcodec/dxv: Correct integer overflow in get_opcodes()

Fixes: 13099/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5665598896340992
Fixes: signed integer overflow: 2147483647 + 7 cannot be represented in type 'int'
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavformat/mpegts: Simplify score compare
Michael Niedermayer [Sat, 9 Mar 2019 14:30:46 +0000 (15:30 +0100)]
avformat/mpegts: Simplify score compare

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavformat/mpegts: reduce buffering during initialization
Andriy Gelman [Sat, 9 Mar 2019 03:20:07 +0000 (22:20 -0500)]
avformat/mpegts: reduce buffering during initialization

Reduces buffering latency with low bitrate streams, where
8192 bytes can mean several seconds.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agolavf/deinterlace_qsv: set specific field for repeat
Linjie Fu [Fri, 8 Mar 2019 15:34:01 +0000 (23:34 +0800)]
lavf/deinterlace_qsv: set specific field for repeat

Set specific field for repeat in PicStruct if the frame has repeat
flag.

Match the CheckInputPicStruct in MSDK.

Fix #7701.

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
5 years agoAdd the Canon XF-HEVC UL to the picture essence container UL list
Matthew McKenna [Tue, 5 Mar 2019 04:25:05 +0000 (23:25 -0500)]
Add the Canon XF-HEVC UL to the picture essence container UL list

5 years agolavfi/tonemap: make use of AVFILTER_DEFINE_CLASS
Jun Zhao [Tue, 5 Mar 2019 11:14:33 +0000 (19:14 +0800)]
lavfi/tonemap: make use of AVFILTER_DEFINE_CLASS

use AVFILTER_DEFINE_CLASS for defining the filter classes

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
5 years agolavfi/zscale: make use of AVFILTER_DEFINE_CLASS
Jun Zhao [Tue, 5 Mar 2019 11:10:06 +0000 (19:10 +0800)]
lavfi/zscale: make use of AVFILTER_DEFINE_CLASS

use AVFILTER_DEFINE_CLASS for defining the filter classes

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
5 years agoavcodec/g723_1dec: actually decode second channel
Paul B Mahol [Thu, 7 Mar 2019 00:58:43 +0000 (01:58 +0100)]
avcodec/g723_1dec: actually decode second channel

5 years agoavcodec/imm4: fix artifacts on some files with special coding mode
Paul B Mahol [Thu, 7 Mar 2019 00:38:26 +0000 (01:38 +0100)]
avcodec/imm4: fix artifacts on some files with special coding mode

5 years agoavcodec/scpr: Fix use of uninitialized variable
Michael Niedermayer [Wed, 27 Feb 2019 23:12:14 +0000 (00:12 +0100)]
avcodec/scpr: Fix use of uninitialized variable

Fixes: Undefined shift
Fixes: 12911/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5677102915911680
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/imm4: add support for mid-stream size changes
Paul B Mahol [Fri, 1 Mar 2019 14:01:17 +0000 (15:01 +0100)]
avcodec/imm4: add support for mid-stream size changes

5 years agoavformat/dashenc: Added #EXT-X-PROGRAM-DATE-TIME to HLS playlists
joepadmiraal [Tue, 5 Mar 2019 14:37:10 +0000 (15:37 +0100)]
avformat/dashenc: Added #EXT-X-PROGRAM-DATE-TIME to HLS playlists

5 years agoconfigure: allow enabling libvpx vp9 modules when vp8 is disabled
James Almer [Mon, 4 Mar 2019 14:50:53 +0000 (11:50 -0300)]
configure: allow enabling libvpx vp9 modules when vp8 is disabled

libvpx can be compiled with the VP8 decoder and encoder disabled, and
there's no reason to force their presence if the user only wants VP9.

Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoconfigure: use vpx_codec_vp8_dx/cx for libvpx-vp8 checking
Guo, Yejun [Mon, 4 Mar 2019 22:09:18 +0000 (06:09 +0800)]
configure: use vpx_codec_vp8_dx/cx for libvpx-vp8 checking

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoconfigure: add missing pthreads extralibs dependency for libvpx-vp9
Guo, Yejun [Mon, 4 Mar 2019 22:09:11 +0000 (06:09 +0800)]
configure: add missing pthreads extralibs dependency for libvpx-vp9

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
5 years agoavcodec/qtrle : improve 24bbp decoding speed
Martin Vignali [Tue, 26 Feb 2019 09:38:25 +0000 (10:38 +0100)]
avcodec/qtrle : improve 24bbp decoding speed

benchmark on x86_64 :
mainly raw data : 20 -> 39 fps
mainly rle data : 97 -> 119fps

5 years agoavcodec/qtrle : 32bpp dec copy two raw argb value at the same time
Martin Vignali [Tue, 26 Feb 2019 09:38:10 +0000 (10:38 +0100)]
avcodec/qtrle : 32bpp dec copy two raw argb value at the same time

benchmark on x86_64 :
38 fps -> 40 fps

5 years agoavcodec/qtrle : avoid swap in 32bpp decoding on little endian
Martin Vignali [Tue, 26 Feb 2019 09:37:32 +0000 (10:37 +0100)]
avcodec/qtrle : avoid swap in 32bpp decoding on little endian

improve speed on little endian

benchmark on x86_64 :
mainly raw : 33fps -> 38fps
mainly rle : 128fps -> 153 fps

5 years agofate/qtrle : change 32b test to output bgra instead of rgb24
Martin Vignali [Tue, 26 Feb 2019 09:36:34 +0000 (10:36 +0100)]
fate/qtrle : change 32b test to output bgra instead of rgb24

5 years agolavc/libx265: signal CPB properties through side data
Jan Ekström [Sat, 23 Feb 2019 00:35:28 +0000 (02:35 +0200)]
lavc/libx265: signal CPB properties through side data

This way values such as maxrate/bufsize can be utilized
further down the chain.

5 years agoavcodec/hcom: check that index into array is valid
Paul B Mahol [Sun, 3 Mar 2019 19:21:20 +0000 (20:21 +0100)]
avcodec/hcom: check that index into array is valid

5 years agoavcodec/utils: remove commented out obsolete code
Paul B Mahol [Sun, 3 Mar 2019 17:43:22 +0000 (18:43 +0100)]
avcodec/utils: remove commented out obsolete code

5 years agoavcodec/qpeg: Limit copy in qpeg_decode_intra() to the available bytes
Michael Niedermayer [Sat, 23 Feb 2019 23:44:40 +0000 (00:44 +0100)]
avcodec/qpeg: Limit copy in qpeg_decode_intra() to the available bytes

Fixes: Timeout (27 sec -> 39 milli sec)
Fixes: 13151/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QPEG_fuzzer-5717536023248896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/aic: Check remaining bits in aic_decode_coeffs()
Michael Niedermayer [Mon, 25 Feb 2019 12:26:25 +0000 (13:26 +0100)]
avcodec/aic: Check remaining bits in aic_decode_coeffs()

Fixes: Timeout (78 seconds -> 2 seconds)
Fixes: 13186/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AIC_fuzzer-5639516533030912
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/gdv: Check for truncated tags in decompress_5()
Michael Niedermayer [Mon, 25 Feb 2019 00:26:30 +0000 (01:26 +0100)]
avcodec/gdv: Check for truncated tags in decompress_5()

Testcase: 13169/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5666354038833152

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/bethsoftvideo: Check block_type
Michael Niedermayer [Sun, 24 Feb 2019 22:39:44 +0000 (23:39 +0100)]
avcodec/bethsoftvideo: Check block_type

Fixes: Timeout (17 seconds -> 1 second)
Fixes: 13184/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BETHSOFTVID_fuzzer-5711446296494080
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/diracdec: Correct max pixels check
Michael Niedermayer [Mon, 25 Feb 2019 20:37:45 +0000 (21:37 +0100)]
avcodec/diracdec: Correct max pixels check

Dirac internally allocates 5 images per plane and frame currently. One being the actual
image the other 4 being filtered for motion compensation.

Fixes: Out of memory
Fixes: 12870/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5684825871089664
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agodoc/protocols: move option follow entry to correct section
Gyan Doshi [Sun, 3 Mar 2019 05:26:48 +0000 (10:56 +0530)]
doc/protocols: move option follow entry to correct section

The entry for file protocol option 'follow' was inserted under ftp options
during merge of a Libav commit - 90eb24996913238e1a. Corrected.

5 years agoconfigure: select rotation filters for ffmpeg
Gyan Doshi [Sat, 2 Mar 2019 15:19:12 +0000 (20:49 +0530)]
configure: select rotation filters for ffmpeg

autorotate is enabled by default in ffmpeg so the rotation filters
are required and will be attempted for insertion without the user's
knowledge if an input stream has rotation side-data.

5 years agotools/target_dec_fate.list: Add testcases for #2000 to #4000
Michael Niedermayer [Thu, 21 Feb 2019 22:00:08 +0000 (23:00 +0100)]
tools/target_dec_fate.list: Add testcases for #2000 to #4000

Testcases which return 403 currently are commented out

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agotools/target_dec_fate.sh: Add support for lines that are comments
Michael Niedermayer [Thu, 21 Feb 2019 21:12:10 +0000 (22:12 +0100)]
tools/target_dec_fate.sh: Add support for lines that are comments

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int()
Michael Niedermayer [Mon, 18 Feb 2019 23:05:51 +0000 (00:05 +0100)]
avcodec/jpeg2000dwt: Fix integer overflow in dwt_decode97_int()

Fixes: runtime error: signed integer overflow: 2147483598 + 128 cannot be represented in type 'int'
Fixes: 12926/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5705100733972480
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agoavcodec/get_bits: add assertion to limit ouptut value of get_bits
Marton Balint [Sat, 16 Feb 2019 23:21:09 +0000 (00:21 +0100)]
avcodec/get_bits: add assertion to limit ouptut value of get_bits

Should fix the following Coverity false positives:

Coverity CID #1415651.
Coverity CID #1420392.
Coverity CID #1420473.
Coverity CID #1433770.
Coverity CID #1435320.
Coverity CID #1439573.
Coverity CID #1439580.
Coverity CID #1439588.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavcodec/get_bits: use unsigned integers in show_bits and get_bits
Marton Balint [Sat, 16 Feb 2019 23:48:13 +0000 (00:48 +0100)]
avcodec/get_bits: use unsigned integers in show_bits and get_bits

The return value is also unsigned.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavcodec/avpacket: add some assertions to ensure pkt->data is not null if pkt->size > 0
Marton Balint [Thu, 14 Feb 2019 21:36:46 +0000 (22:36 +0100)]
avcodec/avpacket: add some assertions to ensure pkt->data is not null if pkt->size > 0

This should fix the following Coverity false positives:

Coverity CID #1405450.
Coverity CID #1430930.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavformat/utils: fix indentation
Marton Balint [Sat, 16 Feb 2019 17:56:56 +0000 (18:56 +0100)]
avformat/utils: fix indentation

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavformat/utils: be even more strict about stream specifiers
Marton Balint [Sat, 16 Feb 2019 17:47:59 +0000 (18:47 +0100)]
avformat/utils: be even more strict about stream specifiers

After this change we always parse the full specifier even if we know the result
in the middle of the parsing. Sligtly slower, but this is needed to
consistently reject incorrect specifiers in both matching and non-matching
cases.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavformat/utils: be more strict about stream specifiers
Marton Balint [Sat, 16 Feb 2019 17:10:13 +0000 (18:10 +0100)]
avformat/utils: be more strict about stream specifiers

This reworks the code to be more strict about accepting stream specifiers. From
now on we strictly enforce the syntax in the documentation up until the
decisive part of the stream specifier. Therefore matching stream specifiers
always need to be correct, non matching specifiers only need to be correct
until the decisive part.

Also recursion is changed to a simple loop.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavformat/mpegtsenc: write format_identifier HEVC for HEVC streams
Marton Balint [Fri, 22 Feb 2019 23:10:30 +0000 (00:10 +0100)]
avformat/mpegtsenc: write format_identifier HEVC for HEVC streams

This improves compatibility with some consumer (LG WebOS) TVs which apparently
search a HEVC descriptor (which our mpegts muxer can't generate) or a format
identifier.

Since the HEVC format identifier is not registered (but used in the wild), it is
not written if strict_std_compliance is higher than normal.

This fixes the issue in ticket #7744.

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavformat/mpegtsenc: factorize writing registration_descriptor
Marton Balint [Fri, 22 Feb 2019 23:09:12 +0000 (00:09 +0100)]
avformat/mpegtsenc: factorize writing registration_descriptor

Signed-off-by: Marton Balint <cus@passwd.hu>
5 years agoavfilter/af_anlmdn: add output mode option
Paul B Mahol [Fri, 1 Mar 2019 15:38:59 +0000 (16:38 +0100)]
avfilter/af_anlmdn: add output mode option

5 years agoconfigure: update minimum required ffnvcodec versions
Timo Rothenpieler [Tue, 26 Feb 2019 16:24:49 +0000 (17:24 +0100)]
configure: update minimum required ffnvcodec versions

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoconfigure: pass windows-path to nvcc whenever cygpath is available
Timo Rothenpieler [Tue, 26 Feb 2019 16:09:26 +0000 (17:09 +0100)]
configure: pass windows-path to nvcc whenever cygpath is available

It might be using cl.exe on Windows, which does not understand Unix-Paths.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoconfigure: deprecate cuda_sdk dependency option
Philip Langdale [Thu, 21 Feb 2019 03:57:53 +0000 (19:57 -0800)]
configure: deprecate cuda_sdk dependency option

With all of our existing users of cuda_sdk switched over to ffnvcodec,
we could remove cuda_sdk completely and say that we should no longer
add code that requires the full sdk, and rather insist that such code
only use ffnvcodec.

As discussed previously, the use of nvcc from the sdk is still
supported with a distinct option.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoavfilter/vf_thumbnail_cuda: Switch to using ffnvcodec
Philip Langdale [Thu, 21 Feb 2019 03:57:52 +0000 (19:57 -0800)]
avfilter/vf_thumbnail_cuda: Switch to using ffnvcodec

This change switches the vf_thumbnail_cuda filter from using the
full cuda sdk to using the ffnvcodec headers and loader.

Most of the change is a direct mapping, but I also switched from
using texture references to using texture objects. This is supposed
to be the preferred way of using textures, and the texture object API
is the one I added to ffnvcodec.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoavfilter/vf_scale_cuda: Switch to using ffnvcodec
Philip Langdale [Thu, 21 Feb 2019 03:57:51 +0000 (19:57 -0800)]
avfilter/vf_scale_cuda: Switch to using ffnvcodec

This change switches the vf_scale_cuda filter from using the
full cuda sdk to using the ffnvcodec headers and loader.

Most of the change is a direct mapping, but I also switched from
using texture references to using texture objects. This is supposed
to be the preferred way of using textures, and the texture object API
is the one I added to ffnvcodec.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoavfilter/vf_yadif_cuda: Switch to using ffnvcodec
Philip Langdale [Thu, 21 Feb 2019 03:57:50 +0000 (19:57 -0800)]
avfilter/vf_yadif_cuda: Switch to using ffnvcodec

This change switches the vf_thumbnail_cuda filter from using the
full cuda sdk to using the ffnvcodec headers and loader.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agoconfigure: Add an explicit check and option for nvcc
Philip Langdale [Thu, 21 Feb 2019 03:57:49 +0000 (19:57 -0800)]
configure: Add an explicit check and option for nvcc

The use of nvcc to compile cuda kernels is distinct from the use of
cuda sdk libraries and linking against those libraries. We have
previously not bothered to distinguish these two cases because all
the filters that used cuda kernels also used the sdk. In the following
changes, I'm going to remove the sdk dependency from those filters,
but we need a way to ensure that nvcc is present and functioning, and
also a way to explicitly disable its use so that the filters are not
built.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years agofate/proresenc_aw : add test for interlace and 444 encoding
Martin Vignali [Tue, 26 Feb 2019 10:58:00 +0000 (11:58 +0100)]
fate/proresenc_aw : add test for interlace and 444 encoding

5 years agoavcodec/proresenc_aw : fix sub_image_with_fill for interlaced encoding
Martin Vignali [Tue, 26 Feb 2019 10:54:23 +0000 (11:54 +0100)]
avcodec/proresenc_aw : fix sub_image_with_fill for interlaced encoding

used when width and/or height, not multiple of sclice dim

5 years agoavcodec/mips: [loongson] mmi optimizations for VP9 put and avg functions
gxw [Mon, 25 Feb 2019 10:13:51 +0000 (18:13 +0800)]
avcodec/mips: [loongson] mmi optimizations for VP9 put and avg functions

VP9 decoding speed improved about 60.5%(from 38fps to 61fps, tested on loongson 3A3000).

Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years agomov: Fix start_time for streams with empty edits in the middle
Justin Ruggles [Fri, 22 Feb 2019 22:21:00 +0000 (17:21 -0500)]
mov: Fix start_time for streams with empty edits in the middle

Empty edits can occur at any position within the edit list except for at
the end. Empty edits in the middle should not impact the reported stream
start_time or the video PTS adjustment, so only include empty edits at
the start of the list in empty_edits_sum_duration.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
5 years agohttp: Do not try to make a new request when seeking past the end of the file
Justin Ruggles [Wed, 20 Feb 2019 14:52:43 +0000 (09:52 -0500)]
http: Do not try to make a new request when seeking past the end of the file

This avoids making invalid HTTP Range requests for a byte range past the
known end of the file during a seek. Those requests generally return a HTTP
response of 416 Range Not Satisfiable, which causes an error response.

Reference: https://tools.ietf.org/html/rfc7233

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
5 years agovaapi_encode_mpeg2: Add missing marker bit in time_code
Mark Thompson [Sun, 10 Feb 2019 19:47:02 +0000 (19:47 +0000)]
vaapi_encode_mpeg2: Add missing marker bit in time_code

We don't have anything useful to put in this field, but there is still
meant to be a marker bit in the middle of it.

5 years agovaapi_encode_mjpeg: Use common quality option
Mark Thompson [Sun, 10 Feb 2019 19:47:01 +0000 (19:47 +0000)]
vaapi_encode_mjpeg: Use common quality option

Doesn't change anything, but makes the behaviour better match that of the
other codecs (the CONSTANT_QUALITY_ONLY flag already ensures that CQP is
the only RC mode selectable for MJPEG).

5 years agovaapi_encode_vp9: Fix whitespace after previous patch
Mark Thompson [Sun, 10 Feb 2019 19:47:00 +0000 (19:47 +0000)]
vaapi_encode_vp9: Fix whitespace after previous patch

5 years agovaapi_encode_vp9: Enable support for more RC modes
Mark Thompson [Sun, 10 Feb 2019 19:46:59 +0000 (19:46 +0000)]
vaapi_encode_vp9: Enable support for more RC modes

5 years agovaapi_encode_vp8: Enable support for more RC modes
Mark Thompson [Sun, 10 Feb 2019 19:46:58 +0000 (19:46 +0000)]
vaapi_encode_vp8: Enable support for more RC modes

5 years agovaapi_encode_mpeg2: Enable support for more RC modes
Mark Thompson [Sun, 10 Feb 2019 19:46:57 +0000 (19:46 +0000)]
vaapi_encode_mpeg2: Enable support for more RC modes

Fixes #7650.