1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

90176 Commits

Author SHA1 Message Date
Mark Thompson
7386b4ff39 Merge commit '78fa0b9033c0834c049e2aedf71a8c613fed87ab'
* commit '78fa0b9033c0834c049e2aedf71a8c613fed87ab':
  h264_metadata: Always add the SEI user data to the first access unit

Mostly already present from a308872b04,
one cosmetic change applied.

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 22:40:08 +00:00
Tomas Härdin
41317da325 Add -vf scale example for making pixels square
This is a common use case.
2018-02-21 23:38:49 +01:00
Mark Thompson
fd76e7be70 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>
2018-02-21 22:37:07 +00:00
Mark Thompson
77eba7bd99 Merge commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913'
* commit 'a2ca8ed903b435446031a8a0792ca535e6ee2913':
  cbs_h264: Add utility functions to insert/delete SEI messages

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 22:27:07 +00:00
Mark Thompson
0cc8e34a94 Merge commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2'
* commit 'ce5870a3a8f2b10668ee4f04c2ae0287f66f31b2':
  cbs: Refcount all the things!

Some changes for bitstream API.

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 22:22:54 +00:00
Mark Thompson
b656fa710a 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>
2018-02-21 22:05:15 +00:00
Mark Thompson
af3727e239 Merge commit '0e4c166cdd6446522a085dd9731967d09ac71f72'
* commit '0e4c166cdd6446522a085dd9731967d09ac71f72':
  cbs_h2645: Remove active ps references when it is replaced

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 22:03:15 +00:00
Mark Thompson
1325ac4c93 Merge commit 'a3daecd6375279d9fdb863ac9db3545a33e97651'
* commit 'a3daecd6375279d9fdb863ac9db3545a33e97651':
  cbs: Demote the "decomposition unimplemented" warning

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:54:42 +00:00
Mark Thompson
f082dcab7c Merge commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f'
* commit '67eb2b16daa77f6ba3e04a28ca18e53193723b7f':
  vaapi_h265: Mark unused entries in RefPicList[01] as explicitly invalid

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:52:20 +00:00
Mark Thompson
9e3e9a3728 Merge commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7'
* commit '216c44dfc17252ec0681dcb0bbeeb45a9d14eca7':
  vaapi_encode: Destroy output buffer pool before VA context

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:51:28 +00:00
Mark Thompson
fe1fb48e2b Merge commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6'
* commit 'c8e135ea9225137050a6315fd9ba9c0f242c90b6':
  vaapi_encode: Allocate slice structures and parameter buffers dynamically

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

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:46:09 +00:00
Lou Logan
d09368a408 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>
2018-02-21 12:41:06 -09:00
Mark Thompson
7dc8752e61 Merge commit '254e728d207c173a3714e6a01c9d68fcb3af8b73'
* commit '254e728d207c173a3714e6a01c9d68fcb3af8b73':
  cbs: Minor comment fixes / cosmetics

Mostly already present, one small fix.

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:36:08 +00:00
Mark Thompson
cacb47633c Merge commit '1d12a545ce828eaf4fb37295400008ea37635ab8'
* commit '1d12a545ce828eaf4fb37295400008ea37635ab8':
  cbs: Add an explicit type for coded bitstream unit types

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

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:25:48 +00:00
Mark Thompson
d28eb0e34d Merge commit '2651352988212531038326c44754ece1728c4a3b'
* commit '2651352988212531038326c44754ece1728c4a3b':
  cbs: Allocate the context inside the init function

This commit is a noop, see 6734eef6b8

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-21 21:23:50 +00:00
Mark Thompson
6d5a6dde53 h264_metadata: Add option to delete filler data
Deletes both filler NAL units and filler SEI messages.  (Annex B zero_bytes
between NAL units are already discarded by the read/write process.)
2018-02-20 22:04:12 +00:00
Mark Thompson
eccc03c8fb cbs_h264: Add support for filler NAL units 2018-02-20 22:04:12 +00:00
Mark Thompson
7157d95926 cbs_h264: Move slice_group_id array out of PPS structure
It's very large, and is only used in some FMO streams.
2018-02-20 22:04:12 +00:00
Mark Thompson
78fa0b9033 h264_metadata: Always add the SEI user data to the first access unit
This should be added even if the first access unit does not contain
parameter sets.
2018-02-20 22:04:12 +00:00
Mark Thompson
69062d0f9b h264_metadata: Use common SEI addition function 2018-02-20 22:04:12 +00:00
Mark Thompson
a2ca8ed903 cbs_h264: Add utility functions to insert/delete SEI messages 2018-02-20 22:04:12 +00:00
Mark Thompson
ce5870a3a8 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).
2018-02-20 22:04:12 +00:00
Mark Thompson
13ca5d34ba 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.
2018-02-20 22:04:12 +00:00
Mark Thompson
0e4c166cdd cbs_h2645: Remove active ps references when it is replaced 2018-02-20 22:04:12 +00:00
Mark Thompson
a3daecd637 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.
2018-02-20 22:04:12 +00:00
Mark Thompson
67eb2b16da 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.
2018-02-20 22:04:12 +00:00
Mark Thompson
216c44dfc1 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.
2018-02-20 22:04:12 +00:00
Jun Zhao
c8e135ea92 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 e4a6eb70f4.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-02-20 22:04:12 +00:00
Mark Thompson
254e728d20 cbs: Minor comment fixes / cosmetics 2018-02-20 22:04:12 +00:00
Mark Thompson
1d12a545ce cbs: Add an explicit type for coded bitstream unit types
Also fix conversion specifiers used for the unit type.
2018-02-20 22:04:12 +00:00
Mark Thompson
2651352988 cbs: Allocate the context inside the init function
... instead of making callers allocate it themselves.  This is more
consistent with other APIs in libav.
2018-02-20 22:04:12 +00:00
Vishwanath Dixit
a877d22d9a avformat/movenc: addition of flag to fragment at every frame
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-20 15:27:51 +01:00
Michael Niedermayer
47e65ad63b 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>
2018-02-20 15:27:51 +01:00
Michael Niedermayer
85c85fffff 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>
2018-02-20 15:27:51 +01:00
Michael Niedermayer
33fe17bdc8 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>
2018-02-20 15:27:51 +01:00
Michael Niedermayer
793347a545 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>
2018-02-20 15:27:51 +01:00
Michael Niedermayer
cbcbefdc3b 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>
2018-02-20 15:27:51 +01:00
Michael Niedermayer
3748746a4d 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>
2018-02-20 15:27:51 +01:00
James Almer
f4f39582e7 avformat/matroskadec: fix return value
err is already an AVERROR.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-20 10:26:21 -03:00
James Almer
88eb368f42 avformat/matroskadec: free the packet on webvtt side data allocation failure
Fixes potential memory leaks

Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-20 10:25:54 -03:00
James Almer
acdea9e7c5 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>
2018-02-19 22:13:13 -03:00
Gyan Doshi
b50f68bb1e 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.
2018-02-19 14:49:58 -09:00
James Almer
04a8d5c2d7 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>
2018-02-19 18:35:32 -03:00
James Almer
6dea6c4b97 Merge commit '97eee953e639bd4d17a9f9398293775277d00505'
* commit '97eee953e639bd4d17a9f9398293775277d00505':
  Revert "configure: Stop using dlltool to create an import library"

This commit is a noop, see 6d8bef8c05

Merged-by: James Almer <jamrial@gmail.com>
2018-02-19 18:34:36 -03:00
Hendrik Leppkes
6d8bef8c05 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
2018-02-19 22:26:34 +01:00
Aman Gupta
f611fef37c 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>
2018-02-19 15:27:34 +01:00
Martin Storsjö
cc1c94dacd 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>
2018-02-19 12:36:41 +02:00
Martin Storsjö
97eee953e6 Revert "configure: Stop using dlltool to create an import library"
This reverts commit 67c72f08a4.

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>
2018-02-19 12:36:09 +02:00
Tobias Rapp
56f77b0f67 fate: add tests for pan audio filter
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2018-02-19 08:32:44 +01:00
Tobias Rapp
6325bd3717 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>
2018-02-19 08:32:25 +01:00