ffmpeg.git
2 years agoMerge commit '69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb'
Mark Thompson [Wed, 21 Feb 2018 22:32:42 +0000 (22:32 +0000)]
Merge commit '69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb'

* commit '69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb':
  h264_metadata: Use common SEI addition function

Minor changes because the following patch is already present.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913'
Mark Thompson [Wed, 21 Feb 2018 22:27:07 +0000 (22:27 +0000)]
Merge commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913'

* commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913':
  cbs_h264: Add utility functions to insert/delete SEI messages

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2'
Mark Thompson [Wed, 21 Feb 2018 22:22:54 +0000 (22:22 +0000)]
Merge commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2'

* commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2':
  cbs: Refcount all the things!

Some changes for bitstream API.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '13ca5d34ba5c473211daaae0a101123bcaada3e6'
Mark Thompson [Wed, 21 Feb 2018 22:05:15 +0000 (22:05 +0000)]
Merge commit '13ca5d34ba5c473211daaae0a101123bcaada3e6'

* commit '13ca5d34ba5c473211daaae0a101123bcaada3e6':
  cbs_h264: Add hack for pic_timing with no active SPS

Partially fixes #6896 - the sample stream from that ticket now works, but
more obscure cases can still fail.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '0e4c166cdd6446522a085dd9731967d09ac71f72'
Mark Thompson [Wed, 21 Feb 2018 22:03:15 +0000 (22:03 +0000)]
Merge commit '0e4c166cdd6446522a085dd9731967d09ac71f72'

* commit '0e4c166cdd6446522a085dd9731967d09ac71f72':
  cbs_h2645: Remove active ps references when it is replaced

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'a3daecd6375279d9fdb863ac9db3545a33e97651'
Mark Thompson [Wed, 21 Feb 2018 21:54:42 +0000 (21:54 +0000)]
Merge commit 'a3daecd6375279d9fdb863ac9db3545a33e97651'

* commit 'a3daecd6375279d9fdb863ac9db3545a33e97651':
  cbs: Demote the "decomposition unimplemented" warning

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f'
Mark Thompson [Wed, 21 Feb 2018 21:52:20 +0000 (21:52 +0000)]
Merge commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f'

* commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f':
  vaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7'
Mark Thompson [Wed, 21 Feb 2018 21:51:28 +0000 (21:51 +0000)]
Merge commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7'

* commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7':
  vaapi_encode: Destroy output buffer pool before VA context

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6'
Mark Thompson [Wed, 21 Feb 2018 21:46:09 +0000 (21:46 +0000)]
Merge commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6'

* commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6':
  vaapi_encode: Allocate slice structures and parameter buffers dynamically

Already present as e4a6eb70f471eda36592078e8fa1bad87fc9df73, one minor
fix for libav merged.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agodoc/ffmpeg: document -dn option
Lou Logan [Wed, 21 Feb 2018 21:32:23 +0000 (12:32 -0900)]
doc/ffmpeg: document -dn option

Also mention -map in the -vn, -an, and -sn options.

Fixes #7036.

Signed-off-by: Lou Logan <lou@lrcd.com>
2 years agoMerge commit '254e728d207c173a3714e6a01c9d68fcb3af8b73'
Mark Thompson [Wed, 21 Feb 2018 21:36:08 +0000 (21:36 +0000)]
Merge commit '254e728d207c173a3714e6a01c9d68fcb3af8b73'

* commit '254e728d207c173a3714e6a01c9d68fcb3af8b73':
  cbs: Minor comment fixes / cosmetics

Mostly already present, one small fix.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '1d12a545ce828eaf4fb37295400008ea37635ab8'
Mark Thompson [Wed, 21 Feb 2018 21:25:48 +0000 (21:25 +0000)]
Merge commit '1d12a545ce828eaf4fb37295400008ea37635ab8'

* commit '1d12a545ce828eaf4fb37295400008ea37635ab8':
  cbs: Add an explicit type for coded bitstream unit types

Mostly already present from 6734eef6b8b464139fdc140ec9bc9e8d74173869, two
minor message changes are merged.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '2651352988212531038326c44754ece1728c4a3b'
Mark Thompson [Wed, 21 Feb 2018 21:23:50 +0000 (21:23 +0000)]
Merge commit '2651352988212531038326c44754ece1728c4a3b'

* commit '2651352988212531038326c44754ece1728c4a3b':
  cbs: Allocate the context inside the init function

This commit is a noop, see 6734eef6b8b464139fdc140ec9bc9e8d74173869

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoh264_metadata: Use common SEI addition function
Mark Thompson [Sun, 11 Feb 2018 15:38:02 +0000 (15:38 +0000)]
h264_metadata: Use common SEI addition function

2 years agocbs_h264: Add utility functions to insert/delete SEI messages
Mark Thompson [Sun, 11 Feb 2018 15:37:34 +0000 (15:37 +0000)]
cbs_h264: Add utility functions to insert/delete SEI messages

2 years agocbs: Refcount all the things!
Mark Thompson [Sun, 11 Feb 2018 00:51:33 +0000 (00:51 +0000)]
cbs: Refcount all the things!

This makes it easier for users of the CBS API to get alloc/free right -
all subelements use the buffer API so that it's clear how to free them.
It also allows eliding some redundant copies: the packet -> fragment copy
disappears after this change if the input packet is refcounted, and more
codec-specific cases are now possible (but not included in this patch).

2 years agocbs_h264: Add hack for pic_timing with no active SPS
Mark Thompson [Mon, 11 Dec 2017 00:22:42 +0000 (00:22 +0000)]
cbs_h264: Add hack for pic_timing with no active SPS

If there is exactly one possible SPS but it is not yet active then just
assume that it should be the active one.

2 years agocbs_h2645: Remove active ps references when it is replaced
Mark Thompson [Mon, 11 Dec 2017 00:38:57 +0000 (00:38 +0000)]
cbs_h2645: Remove active ps references when it is replaced

2 years agocbs: Demote the "decomposition unimplemented" warning
Mark Thompson [Mon, 11 Dec 2017 00:28:40 +0000 (00:28 +0000)]
cbs: Demote the "decomposition unimplemented" warning

This is harmless and should not be a warning - unknown units are passed
through to the write functions unchanged, and no other code will interact
with them.

2 years agovaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid
Mark Thompson [Sun, 17 Dec 2017 19:50:29 +0000 (19:50 +0000)]
vaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid

The iHD driver looks at entries beyond num_ref_idx_l[01]_active_minus1
for unknown reasons.

2 years agovaapi_encode: Destroy output buffer pool before VA context
Mark Thompson [Sun, 17 Dec 2017 19:48:35 +0000 (19:48 +0000)]
vaapi_encode: Destroy output buffer pool before VA context

The buffers are created associated with the context, so they should be
destroyed before the context is.  This is enforced by the iHD driver.

2 years agovaapi_encode: Allocate slice structures and parameter buffers dynamically
Jun Zhao [Thu, 24 Aug 2017 01:13:01 +0000 (09:13 +0800)]
vaapi_encode: Allocate slice structures and parameter buffers dynamically

This removes the arbitrary limit on the allowed number of slices and
parameter buffers.

From ffmpeg commit e4a6eb70f471eda36592078e8fa1bad87fc9df73.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agocbs: Minor comment fixes / cosmetics
Mark Thompson [Thu, 9 Nov 2017 01:04:15 +0000 (01:04 +0000)]
cbs: Minor comment fixes / cosmetics

2 years agocbs: Add an explicit type for coded bitstream unit types
Mark Thompson [Thu, 9 Nov 2017 01:04:02 +0000 (01:04 +0000)]
cbs: Add an explicit type for coded bitstream unit types

Also fix conversion specifiers used for the unit type.

2 years agocbs: Allocate the context inside the init function
Mark Thompson [Thu, 9 Nov 2017 01:03:57 +0000 (01:03 +0000)]
cbs: Allocate the context inside the init function

... instead of making callers allocate it themselves.  This is more
consistent with other APIs in libav.

2 years agoavformat/movenc: addition of flag to fragment at every frame
Vishwanath Dixit [Mon, 19 Feb 2018 05:55:09 +0000 (11:25 +0530)]
avformat/movenc: addition of flag to fragment at every frame

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/diracdec: Fix integer overflow in mv computation
Michael Niedermayer [Sun, 18 Feb 2018 20:51:38 +0000 (21:51 +0100)]
avcodec/diracdec: Fix integer overflow in mv computation

Fixes: signed integer overflow: -2072 + -2147483646 cannot be represented in type 'int'
Fixes: 6097/clusterfuzz-testcase-minimized-5034145253163008

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/h264_parse: Clear invalid chroma weights in ff_h264_pred_weight_table()
Michael Niedermayer [Sun, 18 Feb 2018 16:12:28 +0000 (17:12 +0100)]
avcodec/h264_parse: Clear invalid chroma weights in ff_h264_pred_weight_table()

Fixes: 6037/clusterfuzz-testcase-minimized-5030249784934400
Fixes: signed integer overflow: 256 * 16992036 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>
2 years agoavcodec/aacdec_templat: Fix integer overflow in apply_ltp()
Michael Niedermayer [Sun, 18 Feb 2018 15:55:52 +0000 (16:55 +0100)]
avcodec/aacdec_templat: Fix integer overflow in apply_ltp()

Fixes: signed integer overflow: -1625276744 + -1041893960 cannot be represented in type 'int'
Fixes: 5948/clusterfuzz-testcase-minimized-5791479856365568

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/jpeg2000dwt: Fix integer overflows in sr_1d53()
Michael Niedermayer [Sat, 17 Feb 2018 23:11:33 +0000 (00:11 +0100)]
avcodec/jpeg2000dwt: Fix integer overflows in sr_1d53()

Fixes: 5918/clusterfuzz-testcase-minimized-5120505435652096

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/diracdec: Use int64 in global mv to prevent overflow
Michael Niedermayer [Sat, 17 Feb 2018 22:54:44 +0000 (23:54 +0100)]
avcodec/diracdec: Use int64 in global mv to prevent overflow

Fixes: runtime error: signed integer overflow: 361 * -6295541 cannot be represented in type 'int'
Fixes: 5911/clusterfuzz-testcase-minimized-6450382197751808

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/dxtory: Remove code that corrupts dimensions
Michael Niedermayer [Sat, 17 Feb 2018 20:27:16 +0000 (21:27 +0100)]
avcodec/dxtory: Remove code that corrupts dimensions

Fixes: Timeout
Fixes: 5796/clusterfuzz-testcase-minimized-5206729085157376

Does someone have a valid sample that triggers this path ?

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/matroskadec: fix return value
James Almer [Tue, 20 Feb 2018 13:26:21 +0000 (10:26 -0300)]
avformat/matroskadec: fix return value

err is already an AVERROR.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/matroskadec: free the packet on webvtt side data allocation failure
James Almer [Tue, 20 Feb 2018 13:25:54 +0000 (10:25 -0300)]
avformat/matroskadec: free the packet on webvtt side data allocation failure

Fixes potential memory leaks

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/matroskadec: ignore CodecPrivate if the stream is VP9
James Almer [Sat, 13 Jan 2018 19:04:21 +0000 (16:04 -0300)]
avformat/matroskadec: ignore CodecPrivate if the stream is VP9

Defined in a recent revision of https://www.webmproject.org/docs/container/

This prevents storing the contents of CodecPrivate into extradata for
a codec that doesn't need nor expect any. It will among other things
prevent matroska specific binary data from being dumped onto other
formats during remuxing.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agodocs/codecs: remove dead codec debug options
Gyan Doshi [Mon, 15 Jan 2018 14:50:33 +0000 (20:20 +0530)]
docs/codecs: remove dead codec debug options

FF_API_DEBUG_MV has been disabled. Related options removed from docs.

Mention of non-existent debug option value 'pts' also removed.

2 years agoMerge commit 'cc1c94dacd0642ac1a6cad45deb65071f127d91a'
James Almer [Mon, 19 Feb 2018 21:35:32 +0000 (18:35 -0300)]
Merge commit 'cc1c94dacd0642ac1a6cad45deb65071f127d91a'

* commit 'cc1c94dacd0642ac1a6cad45deb65071f127d91a':
  configure: Pass the right machine types to dlltool for arm and arm64 mingw

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '97eee953e639bd4d17a9f9398293775277d00505'
James Almer [Mon, 19 Feb 2018 21:34:36 +0000 (18:34 -0300)]
Merge commit '97eee953e639bd4d17a9f9398293775277d00505'

* commit '97eee953e639bd4d17a9f9398293775277d00505':
  Revert "configure: Stop using dlltool to create an import library"

This commit is a noop, see 6d8bef8c05ea5dcb95f5930954cd6bd28868c2c9

Merged-by: James Almer <jamrial@gmail.com>
2 years agobuild: restore using dlltool/lib.exe for creating Win32 .lib files
Hendrik Leppkes [Fri, 16 Feb 2018 20:24:59 +0000 (21:24 +0100)]
build: restore using dlltool/lib.exe for creating Win32 .lib files

The GCC generated import libraries don't work properly when being imported
by MSVC, resulting in missing symbols at runtime.

This reverts 5b5365fe9 and partially reverts changes from 98a9b1f0d

2 years agoavcodec/mediacodecdec: refactor to take advantage of new decoding api
Aman Gupta [Fri, 16 Feb 2018 03:52:14 +0000 (19:52 -0800)]
avcodec/mediacodecdec: refactor to take advantage of new decoding api

This refactor splits up the main mediacodec decode loop into two
send/receive helpers, which are then used to rewrite the receive_frame
callback and take full advantage of the new decoding api. Since we
can now request packets on demand with ff_decode_get_packet(), the
fifo buffer is no longer necessary and has been removed.

This change was motivated by behavior observed on certain Android TV
devices, featuring hardware mpeg2/h264 decoders which also deinterlace
content (to produce multiple frames per field). Previously, this code
caused buffering issues because queueInputBuffer() was always invoked
before each dequeueOutputBuffer(), even though twice as many output
buffers were being generated.

With this patch, the decoder will always attempt to drain new frames
first before sending more data into the underlying codec.

Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2 years agoconfigure: Pass the right machine types to dlltool for arm and arm64 mingw
Martin Storsjö [Fri, 16 Feb 2018 22:17:21 +0000 (00:17 +0200)]
configure: Pass the right machine types to dlltool for arm and arm64 mingw

These are supported by llvm-dlltool.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agoRevert "configure: Stop using dlltool to create an import library"
Martin Storsjö [Fri, 16 Feb 2018 22:08:45 +0000 (00:08 +0200)]
Revert "configure: Stop using dlltool to create an import library"

This reverts commit 67c72f08a4707c18a67a4734660e3a23cc9488b6.

While the linker produced import libraries might work with MSVC in
simple test cases, they don't if e.g. linking to multiple GNU ld
produced import libraries at the same time. (They end up importing
functions from the wrong libraries.) The ones produced by dlltool
work fine though.

This issue was pointed out by Hendrik Leppkes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2 years agofate: add tests for pan audio filter
Tobias Rapp [Thu, 15 Feb 2018 07:21:24 +0000 (08:21 +0100)]
fate: add tests for pan audio filter

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoswresample/rematrix: fix update of channel matrix if input or output layout is undefined
Tobias Rapp [Wed, 14 Feb 2018 16:01:08 +0000 (17:01 +0100)]
swresample/rematrix: fix update of channel matrix if input or output layout is undefined

Prefer direct in/out channel count values over channel layout, when
available. Fixes a pan filter bug (ticket #6790).

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2 years agoavcodec/dirac_dwt_template: Fix Integer overflow in horizontal_compose_dd137i()
Michael Niedermayer [Sat, 17 Feb 2018 20:47:09 +0000 (21:47 +0100)]
avcodec/dirac_dwt_template: Fix Integer overflow in horizontal_compose_dd137i()

Fixes: 5894/clusterfuzz-testcase-minimized-5315325420634112
Fixes: runtime error: signed integer overflow: 2147483647 + 1 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>
2 years agoavcodec/hevcdec: Check luma/chroma_log2_weight_denom
Michael Niedermayer [Sat, 17 Feb 2018 20:42:34 +0000 (21:42 +0100)]
avcodec/hevcdec: Check luma/chroma_log2_weight_denom

Fixes: signed integer overflow: 3 + 2147483647 cannot be represented in type 'int'
Fixes: 5888/clusterfuzz-testcase-minimized-5634701067812864

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavfilter/vf_fps: Add more fate tests
Calvin Walton [Fri, 16 Feb 2018 20:02:02 +0000 (15:02 -0500)]
libavfilter/vf_fps: Add more fate tests

These tests cover specific rounding behaviour, to ensure that I don't
introduce any regressions with the rewritten "activate" callback based
fps filter.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/h264: Increase field_poc to 64bit in ff_h264_init_poc() to detect overflows
Michael Niedermayer [Sat, 17 Feb 2018 03:20:54 +0000 (04:20 +0100)]
avcodec/h264: Increase field_poc to 64bit in ff_h264_init_poc() to detect overflows

Fixes: Integer overflow
Fixes: 5746/clusterfuzz-testcase-minimized-6270097623613440

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/jpeg2000dec: Use av_image_check_size2()
Michael Niedermayer [Sat, 17 Feb 2018 03:20:53 +0000 (04:20 +0100)]
avcodec/jpeg2000dec: Use av_image_check_size2()

Fixes: OOM
Fixes: 5733/clusterfuzz-testcase-minimized-4906757966004224

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vp8: Check for bitstream end before vp7_fade_frame()
Michael Niedermayer [Sat, 17 Feb 2018 03:20:52 +0000 (04:20 +0100)]
avcodec/vp8: Check for bitstream end before vp7_fade_frame()

Fixes: Timeout
Fixes: 5653/clusterfuzz-testcase-5497680018014208

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/exr: Check remaining bits in last get code loop
Michael Niedermayer [Wed, 14 Feb 2018 12:01:46 +0000 (13:01 +0100)]
avcodec/exr: Check remaining bits in last get code loop

Fixes: runtime error: shift exponent -7 is negative
Fixes: 3902/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-6081926122176512

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/common: Fix integer overflow in av_clip_uint8_c() and av_clip_uint16_c()
Michael Niedermayer [Wed, 14 Feb 2018 02:54:13 +0000 (03:54 +0100)]
avutil/common: Fix integer overflow in av_clip_uint8_c() and av_clip_uint16_c()

Fixes: 5567/clusterfuzz-testcase-minimized-5769966247739392
Fixes: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agofate/mpegps: add tests for PCM_DVD stream remux
Gyan Doshi [Thu, 15 Feb 2018 12:18:47 +0000 (17:48 +0530)]
fate/mpegps: add tests for PCM_DVD stream remux

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/mpegenc - accept PCM_DVD streams
Gyan Doshi [Wed, 7 Feb 2018 12:35:08 +0000 (18:05 +0530)]
avformat/mpegenc - accept PCM_DVD streams

PCM_S16BE stream packets in MPEG-PS have a 3-byte header and
are recognized as PCM_DVD by the demuxer which prevents their
correct remuxing in MPEG-1/2 PS.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/crypto: change length parameter to size_t on the remaining modules
James Almer [Thu, 15 Feb 2018 14:12:54 +0000 (11:12 -0300)]
avutil/crypto: change length parameter to size_t on the remaining modules

See 651ee9346105b9d492e01172ab447c04d03fa32e
fcc4ed1efa1a7575dc45fe57ce552af331941469

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavdevice/decklink_dec: Fix ;;
Michael Niedermayer [Thu, 15 Feb 2018 12:48:52 +0000 (13:48 +0100)]
avdevice/decklink_dec: Fix ;;

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavfilter/avf_avectorscope: Fix ;;
Michael Niedermayer [Thu, 15 Feb 2018 12:48:25 +0000 (13:48 +0100)]
avfilter/avf_avectorscope: Fix ;;

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/h264_cabac: Tighten allowed coeff_abs range
Michael Niedermayer [Tue, 13 Feb 2018 23:32:30 +0000 (00:32 +0100)]
avcodec/h264_cabac: Tighten allowed coeff_abs range

Fixes: integer overflows
Reported-by: "Xiaohan Wang (王消寒)" <xhwang@chromium.org>
Based on limits in "8.5 Transform coefficient decoding process and picture
construction process prior to deblocking  filter process"

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/ffv1: Support for GBRAP10 and GBRAP12
Jérôme Martinez [Wed, 14 Feb 2018 07:39:15 +0000 (08:39 +0100)]
avcodec/ffv1: Support for GBRAP10 and GBRAP12

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/aviobuf: zero initialize the AVIOContext in ffio_init_context()
James Almer [Wed, 14 Feb 2018 23:56:21 +0000 (20:56 -0300)]
avformat/aviobuf: zero initialize the AVIOContext in ffio_init_context()

This makes sure no field is ever used uninitialized.

Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec: remove unnecessary calls to ff_init_buffer_info()
James Almer [Tue, 13 Feb 2018 21:42:04 +0000 (18:42 -0300)]
avcodec: remove unnecessary calls to ff_init_buffer_info()

And remove the function altogether while at it. It's a duplicate of
another.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavpacket: reset dst side_data fields in av_packet_copy_props
Yusuke Nakamura [Wed, 14 Feb 2018 02:43:24 +0000 (11:43 +0900)]
avpacket: reset dst side_data fields in av_packet_copy_props

This effectively copies the side data elements from src instead of
potentially merging them with those already existing in dst.
This by extension also removes the only dependency on existing values
in the dst packet.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavfilter/af_loudnorm: correctly initialize PTS
Niklas Haas [Sat, 3 Feb 2018 14:22:05 +0000 (15:22 +0100)]
avfilter/af_loudnorm: correctly initialize PTS

Right now, the PTS always starts out as 0, which causes problems on a
seek or when inserting this filter mid-stream.

Initialize it instead to AV_NOPTS_VALUE and copy the PTS from the first
frame instead if this is the case.

2 years agolavf/rtpdec*: Constify all RTPDynamicProtocolHandler.
Carl Eugen Hoyos [Mon, 12 Feb 2018 21:21:06 +0000 (22:21 +0100)]
lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.

Reviewed-by: Muhammad Faiz
2 years agoavcodec/h264_cavlc: Set valid qscale value in ff_h264_decode_mb_cavlc()
Xiaohan Wang [Sat, 3 Feb 2018 09:43:35 +0000 (01:43 -0800)]
avcodec/h264_cavlc: Set valid qscale value in ff_h264_decode_mb_cavlc()

When ff_h264_decode_mb_cavlc() failed due to wrong sl->qscale values,
e.g. dquant out of range, set the qscale to be a valid value before
returning -1 and exiting the function. The qscale value can be used
later e.g. in loop filter.

BUG=806122

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/opt: remove ABI hacks
wm4 [Tue, 13 Feb 2018 03:11:27 +0000 (04:11 +0100)]
avutil/opt: remove ABI hacks

These were needed for ABI compatibility with Libav. We don't need them
anymore.

2 years agoavdevice/decklink_dec: extract NTSC VANC
Ray Tiley [Mon, 12 Feb 2018 00:16:45 +0000 (16:16 -0800)]
avdevice/decklink_dec: extract NTSC VANC

This changes how NTSC VANC is extracted from the buffer. In NTSC the vanc data
is interleaved between luma and chroma, and not just the luma as in high
definition resolutions.

In my testing this allows a decklink card encoding valid NTSC closed
captions to pass the caption data to the x264 encoder.

Updated with reviews from Devin Heitmueller and Marton Balint.

Signed-off-by: Ray Tiley <raytiley@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/mpeg12enc: add support for specifying video_format in the sequence_display_ex...
Marton Balint [Sat, 10 Feb 2018 18:03:36 +0000 (19:03 +0100)]
avcodec/mpeg12enc: add support for specifying video_format in the sequence_display_extension

In a recent commit the default was changed from 0 (component) to 5
(unspecified), however some standards require using 0. With this option, the
user will be able to do so.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoMerge commit 'a674b31240e99a369059385b03582b35629d190f'
Mark Thompson [Mon, 12 Feb 2018 23:12:43 +0000 (23:12 +0000)]
Merge commit 'a674b31240e99a369059385b03582b35629d190f'

* commit 'a674b31240e99a369059385b03582b35629d190f':
  build: Ignore generated mpeg12framerate test binary

This commit is a noop, see fb791d28766bdacbb685a77c381101afc98ed58b

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '5b6213ef6bf5e0781c83e86926eb0b33a98dc185'
Mark Thompson [Mon, 12 Feb 2018 23:10:09 +0000 (23:10 +0000)]
Merge commit '5b6213ef6bf5e0781c83e86926eb0b33a98dc185'

* commit '5b6213ef6bf5e0781c83e86926eb0b33a98dc185':
  avcodec/vc1dec: fix mby_start for interlaced content

This commit is a noop, see c9f72e4b81ae44d1a61459e85a3e1216a239a8ee

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '9b09792c90b580842157ca8ce534be434725a841'
Mark Thompson [Mon, 12 Feb 2018 23:05:13 +0000 (23:05 +0000)]
Merge commit '9b09792c90b580842157ca8ce534be434725a841'

* commit '9b09792c90b580842157ca8ce534be434725a841':
  lavc/qsv: default la_ds to MFX_LOOKAHEAD_DS_UNKNOWN

This commit is a noop: the code in FFmpeg is slightly different and never
contained the invalid value.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '8bb9824fcbc5a6ebf68391d70a2c4f03447990d2'
Mark Thompson [Mon, 12 Feb 2018 23:01:24 +0000 (23:01 +0000)]
Merge commit '8bb9824fcbc5a6ebf68391d70a2c4f03447990d2'

* commit '8bb9824fcbc5a6ebf68391d70a2c4f03447990d2':
  qsvenc: AVBR is not supported on non-windows OS

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'e412d683fe0349bb8450645813a23158bb4ebd66'
Mark Thompson [Mon, 12 Feb 2018 23:00:13 +0000 (23:00 +0000)]
Merge commit 'e412d683fe0349bb8450645813a23158bb4ebd66'

* commit 'e412d683fe0349bb8450645813a23158bb4ebd66':
  hwcontext: Perform usual uninitialisation on derived frames contexts

This commit is a noop, see 0f93cef2d6405f07b42719506cbde30f07dd8702

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'caecb85014fc81f8734560a150073627eedab78c'
Mark Thompson [Mon, 12 Feb 2018 22:59:12 +0000 (22:59 +0000)]
Merge commit 'caecb85014fc81f8734560a150073627eedab78c'

* commit 'caecb85014fc81f8734560a150073627eedab78c':
  hwcontext: Perform usual initialisation on derived device contexts

This commit is a noop, see 309d660775e2b47af6723a0477c4d753bc0c54f4

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a'
Mark Thompson [Mon, 12 Feb 2018 22:56:12 +0000 (22:56 +0000)]
Merge commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a'

* commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a':
  vf_hwupload/hwmap: Support setting a fixed pool size

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0'
Mark Thompson [Mon, 12 Feb 2018 22:55:24 +0000 (22:55 +0000)]
Merge commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0'

* commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0':
  vf_scale_qsv: Support increasing hardware frame pool size

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agofate: Fix fate-api reference files after AVCodecContext change
Mark Thompson [Mon, 12 Feb 2018 22:53:05 +0000 (22:53 +0000)]
fate: Fix fate-api reference files after AVCodecContext change

Broken by d23fff0d8a0e7df170c67a9dd5c1f7c1fc0da489.

2 years agoMerge commit 'b128be1748f3920a14a98307265df5f2d3433e1d'
Mark Thompson [Mon, 12 Feb 2018 22:44:28 +0000 (22:44 +0000)]
Merge commit 'b128be1748f3920a14a98307265df5f2d3433e1d'

* commit 'b128be1748f3920a14a98307265df5f2d3433e1d':
  vf_*_vaapi: Support increasing hardware frame pool size

Rewritten to apply to common VAAPI code rather than specific filters.

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'
Mark Thompson [Mon, 12 Feb 2018 22:28:12 +0000 (22:28 +0000)]
Merge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'

* commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d':
  lavfi: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit 'cad739dace55e3446ef7180de688173cd19fb000'
Mark Thompson [Mon, 12 Feb 2018 22:22:30 +0000 (22:22 +0000)]
Merge commit 'cad739dace55e3446ef7180de688173cd19fb000'

* commit 'cad739dace55e3446ef7180de688173cd19fb000':
  lavc: Add per-thread surfaces in get_hw_frame_parameters()

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agoMerge commit '5b145290df2998a9836a93eb925289c6c8b63af0'
Mark Thompson [Mon, 12 Feb 2018 22:19:38 +0000 (22:19 +0000)]
Merge commit '5b145290df2998a9836a93eb925289c6c8b63af0'

* commit '5b145290df2998a9836a93eb925289c6c8b63af0':
  lavc: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
2 years agolavf/matroskaenc: Force the minimum value for -reserve_index_space to 2.
Carl Eugen Hoyos [Sun, 11 Feb 2018 19:41:32 +0000 (20:41 +0100)]
lavf/matroskaenc: Force the minimum value for -reserve_index_space to 2.

Fixes an assertion failure:
Assertion size >= 2 failed at libavformat/matroskaenc.c:298

2 years agofate: add aac id3v2 demux test
Richard Shaffer [Sun, 4 Feb 2018 07:24:45 +0000 (23:24 -0800)]
fate: add aac id3v2 demux test

A basic test for demuxing raw AAC (ADTS) with ID3v2 tags.

2 years agolibavformat/aac: Parse ID3 tags between ADTS frames.
Richard Shaffer [Fri, 2 Feb 2018 02:37:45 +0000 (18:37 -0800)]
libavformat/aac: Parse ID3 tags between ADTS frames.

While rare, ID3 tags may be inserted between ADTS frames. This change enables
parsing them and setting the appropriate metadata updated event flag.

2 years agoavformat/Makefile: use individual dependencies for librtmp protocols
James Almer [Mon, 12 Feb 2018 14:29:07 +0000 (11:29 -0300)]
avformat/Makefile: use individual dependencies for librtmp protocols

Fixes compilation of libavformat when librtmp is enabled but all the
relevant protocols are disabled.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoh264_idct: enable unmacro on newer NASM versions
Rostislav Pehlivanov [Sat, 10 Feb 2018 13:16:36 +0000 (13:16 +0000)]
h264_idct: enable unmacro on newer NASM versions

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agobuild: Ignore generated mpeg12framerate test binary
Diego Biurrun [Fri, 9 Feb 2018 17:48:27 +0000 (17:48 +0000)]
build: Ignore generated mpeg12framerate test binary

2 years agoavcodec/vc1dec: fix mby_start for interlaced content
Michael Niedermayer [Sat, 14 Dec 2013 16:11:21 +0000 (17:11 +0100)]
avcodec/vc1dec: fix mby_start for interlaced content

Bug-Id: 1100
Bug-Id: ffmpeg/Ticket2531
Cc: libav-stable@libav.org
2 years agoMerge commit 'fd36cf6bf6524247a8ff6788c028836fe7d9fd20'
James Almer [Mon, 12 Feb 2018 02:18:25 +0000 (23:18 -0300)]
Merge commit 'fd36cf6bf6524247a8ff6788c028836fe7d9fd20'

* commit 'fd36cf6bf6524247a8ff6788c028836fe7d9fd20':
  configure: Factorize check_64_bit()

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba'
James Almer [Mon, 12 Feb 2018 02:11:06 +0000 (23:11 -0300)]
Merge commit '38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba'

* commit '38434a9ff5b9a1a048f32c1c7e2a9519cf12f8ba':
  configure: Simplify restrict keyword handling

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'
James Almer [Mon, 12 Feb 2018 02:08:48 +0000 (23:08 -0300)]
Merge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906'

* commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906':
  Drop some unnecessary config.h #includes

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit 'bca41545b371efc34e38d1fa8bb12dba8b614da0'
James Almer [Mon, 12 Feb 2018 01:59:18 +0000 (22:59 -0300)]
Merge commit 'bca41545b371efc34e38d1fa8bb12dba8b614da0'

* commit 'bca41545b371efc34e38d1fa8bb12dba8b614da0':
  configure: Group code that sets the license string with licensing checks

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935'
James Almer [Mon, 12 Feb 2018 01:50:57 +0000 (22:50 -0300)]
Merge commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935'

* commit '2eb396b175e55e515aa6a13c5b1789a2a18d3935':
  hwcontext: Fix memory leak on derived frame allocation failure

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '96e476cc9d414e248692c773d9dce736662572b8'
James Almer [Mon, 12 Feb 2018 01:49:35 +0000 (22:49 -0300)]
Merge commit '96e476cc9d414e248692c773d9dce736662572b8'

* commit '96e476cc9d414e248692c773d9dce736662572b8':
  hwcontext: Fix documentation for av_hwdevice_ctx_alloc()

This commit is a noop, see 9365dfcbf665b83b2e60c5ec5e2abf1f0a49e2c3

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '8965e2af921ec5926b26d5ae466ee4104bb5262b'
James Almer [Mon, 12 Feb 2018 01:47:47 +0000 (22:47 -0300)]
Merge commit '8965e2af921ec5926b26d5ae466ee4104bb5262b'

* commit '8965e2af921ec5926b26d5ae466ee4104bb5262b':
  avpacket: Initialize the allocated padding area in side data

This commit is a noop, see 9cbb3fce5965f4e1423cace3d1dc340a7a8091f4

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '5085f25ace1e74846a0de3369bedd0e22d1a1bdc'
James Almer [Mon, 12 Feb 2018 01:47:05 +0000 (22:47 -0300)]
Merge commit '5085f25ace1e74846a0de3369bedd0e22d1a1bdc'

* commit '5085f25ace1e74846a0de3369bedd0e22d1a1bdc':
  vc1: skip motion compensation when data for last picture is invalid

This commit is a noop. The crash can't be reproduced with ffmpeg.

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '6829a079444e10818a847e153121fb458cc5c0a8'
James Almer [Mon, 12 Feb 2018 01:44:12 +0000 (22:44 -0300)]
Merge commit '6829a079444e10818a847e153121fb458cc5c0a8'

* commit '6829a079444e10818a847e153121fb458cc5c0a8':
  qsvdec: Relax the surface vs coded dimension check

Merged-by: James Almer <jamrial@gmail.com>
2 years agolavc/qsv: default la_ds to MFX_LOOKAHEAD_DS_UNKNOWN
Ruiling Song [Sun, 11 Feb 2018 07:43:45 +0000 (15:43 +0800)]
lavc/qsv: default la_ds to MFX_LOOKAHEAD_DS_UNKNOWN

MFX_LOOKAHEAD_DS_UNKNOWN means auto.
-1 is not a valid value.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2 years agoqsvenc: AVBR is not supported on non-windows OS
Zhong Li [Tue, 30 Jan 2018 10:07:23 +0000 (18:07 +0800)]
qsvenc: AVBR is not supported on non-windows OS

AVBR is supported from API 1.3 but only available for Windows

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2 years agofate/libavcodec: add codec_desc test
Muhammad Faiz [Sat, 10 Feb 2018 09:30:14 +0000 (16:30 +0700)]
fate/libavcodec: add codec_desc test

Remove runtime check at codec_desc.c

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>