Commit Graph

84731 Commits

Author SHA1 Message Date
Clément Bœsch c3706bc255 doc/examples/filtering_*: switch to codecpar 2017-03-28 11:40:57 +02:00
Steven Liu c0628919b8 avformat/flvdec: check FLVHeader PreviousTagSize0
refer to SPEC:
Annex E. The FLV File Format said:
E.3 TheFLVFileBody have a table:
Field            Type    Comment
PreviousTagSize0 UI32    Always 0

Reviewed-by: Bela Bodecs <bodecsb@vivanet.hu>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-03-28 16:51:28 +08:00
James Almer 3fe7bb2bcf avcodec/extract_extradata_bsf: add missing break statement to extract_extradata_vc1 2017-03-28 01:14:17 -03:00
James Almer b613245c97 ffprobe: free log buffer's parent_name during cleanup
Fixes memleak.
2017-03-27 20:37:29 -03:00
Dave Rice 3e0474ff39 doc/ffprobe: add -show_log option
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-28 00:13:47 +02:00
Dave Rice 52d9442a55 ffprobe.xsd: add frame log data
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-28 00:13:47 +02:00
Michael Niedermayer bcd7153df3 ffprobe: Support adding av_log output to frames
adding demuxer and other logs should be easy
This forces single threaded decoding for simplicity
It also requires pthreads, this could be avoided either with
some lockless tricks or simply by assuming av_log would never be called from
another thread.

Fixes Ticket5521

Previous version reviewed by Stefano
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-28 00:13:47 +02:00
James Almer 86dee47e39 avformat/movenc: allow st3d and sv3d mov atoms to be written in strict unofficial mode
They are unofficial extensions to the format for the time being, not
an experimental feature.
2017-03-27 18:54:42 -03:00
James Almer a715e5a276 avformat/movenc: restrict st3d and sv3d mov atoms to MODE_MP4 2017-03-27 18:53:52 -03:00
Aaron Colwell b4189590a5 movenc: Add support for writing st3d and sv3d boxes.
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-27 18:53:52 -03:00
James Almer 47c2ce2f75 Merge commit '064f19f39e2f17927278c6ad8fe884a5b92310d6'
* commit '064f19f39e2f17927278c6ad8fe884a5b92310d6':
  avconv: support parsing bitstream filter options

This commit is a noop, see 5ef1959080

Merged-by: James Almer <jamrial@gmail.com>
2017-03-27 18:50:27 -03:00
James Almer cef2ba3603 Merge commit 'ecd2ec69ce10e13f6ede353d2def7ce9f45c1a7d'
* commit 'ecd2ec69ce10e13f6ede353d2def7ce9f45c1a7d':
  mov: Evaluate the movie display matrix

This commit is a noop, see 7010ebdf1f

Merged-by: James Almer <jamrial@gmail.com>
2017-03-27 18:25:09 -03:00
James Almer ba4d0a37b9 Merge commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c'
* commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c':
  fate: Add tests for mov display matrix

Adapted to use ffprobe -show_entries

Merged-by: James Almer <jamrial@gmail.com>
2017-03-27 18:19:02 -03:00
Clément Bœsch c7a5b40dd9 Merge commit '7d308bf84bda78d47c01439ff625bb06624991a7'
* commit '7d308bf84bda78d47c01439ff625bb06624991a7':
  avprobe: Add -show_stream_entry to get a single stream property

This commit is a noop, we have a generic -show_entry option.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:30:23 +02:00
Clément Bœsch 03c2038750 Merge commit '218ed7250c103a975e874fb16e8e5941f4cbe223'
* commit '218ed7250c103a975e874fb16e8e5941f4cbe223':
  openssl: Allow newer TLS versions than TLSv1

This commit is a noop, see e8634fb92e

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:28:49 +02:00
Clément Bœsch fb79adfdce Merge commit 'dad7514f9ec8a8c5e44d70fcfbbcedeff16f7e13'
* commit 'dad7514f9ec8a8c5e44d70fcfbbcedeff16f7e13':
  xcb: Add all the libraries to the link line explicitly

This commit is a noop. It appears we already link against the xcb shape
library since 54170a33c2.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:25:33 +02:00
Clément Bœsch 4e43c6df54 Merge commit 'c541a44e029e8a4f21db028c34fee3ad1c10a409'
* commit 'c541a44e029e8a4f21db028c34fee3ad1c10a409':
  Revert "rtmpproto: Don't include a client version in the unencrypted C1 handshake"

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:21:18 +02:00
Clément Bœsch e59a4d1df7 Merge commit '801ac7156d3efb8e088fb6024f568eb36a293887'
* commit '801ac7156d3efb8e088fb6024f568eb36a293887':
  qsv: Be informative when reporting that no data has been consumed

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:19:09 +02:00
Clément Bœsch fa85d8dbb4 Merge commit '30015305f3b523ed7640f2c3c58b017140533c58'
* commit '30015305f3b523ed7640f2c3c58b017140533c58':
  Use avpriv_request_sample() where appropriate

Only the roqvideo chunk is merged because we actually support 24bpp
flic, see 5781c983d8.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:18:26 +02:00
Clément Bœsch 9fec43902c Merge commit '07cac07c0c0360d67e73a7472214c79d6c520a4b'
* commit '07cac07c0c0360d67e73a7472214c79d6c520a4b':
  dash: Use correct ISO C scanf conversion specifier

This commit is a noop: the use of SCN (scanf) format is wrong here.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:09:08 +02:00
Clément Bœsch 7970888b67 Merge commit '3ec6f855d0f21d90a0494fb798c4cf203fdb3db0'
* commit '3ec6f855d0f21d90a0494fb798c4cf203fdb3db0':
  srt: Adjust signedness of sscanf format strings

This commit is a noop, a different fix is included in the big -Wformat
patch under review
(http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209239.html)

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:07:19 +02:00
Clément Bœsch 349a26f509 Merge commit '7a2b2b6a92c4b528ecb640790eca0aa790d858f4'
* commit '7a2b2b6a92c4b528ecb640790eca0aa790d858f4':
  dxtory: Drop nonsense ISO C printf conversion specifiers for standard types

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:05:50 +02:00
Clément Bœsch 53dac6c23b Merge commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c'
* commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c':
  Use ISO C printf conversion specifiers where appropriate

This commit is a noop, an equivalent patch is currently under review on
the mailing-list: http://ffmpeg.org/pipermail/ffmpeg-devel/2017-March/209239.html

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-27 22:04:56 +02:00
Clément Bœsch 5dd37c6847 lavc/vp9: clarify inv_recenter_nonneg
Ends up identical to Libav.
2017-03-27 21:38:21 +02:00
Clément Bœsch e6ffdc9582 lavc/vp9: shuffle header declaration
This reduces diff with Libav.
2017-03-27 21:38:21 +02:00
Clément Bœsch 37814a21cb lavc/vp9: consistent use of typedef instead of struct 2017-03-27 21:38:21 +02:00
Clément Bœsch 875f695576 lavc/vp9: misc cosmetics
Imported from Libav
2017-03-27 21:38:21 +02:00
Clément Bœsch ff8436ba76 lavc/vp9: rename res to ret 2017-03-27 21:38:21 +02:00
Clément Bœsch 0f8ae9d7b2 lavc/vp9: split a few assignment out of ifs 2017-03-27 21:38:21 +02:00
Clément Bœsch f4d95e0949 lavc/vp9: rename {ref,unref,alloc}_frame to frame_{ref,unref,alloc}
For consistency with Libav.
2017-03-27 21:38:21 +02:00
Clément Bœsch 12c44d6373 lavc/vp9: rename ctx to avctx
This reduces diff with Libav. It also prevents a potential confusion
between the private context and the AVCodecContext.
2017-03-27 21:38:21 +02:00
Clément Bœsch 1c9f4b5078 lavc/vp9: split into vp9{block,data,mvs}
This is following Libav layout to ease merges.
2017-03-27 21:38:21 +02:00
Rostislav Pehlivanov 487ca38e8b Changelog: reorder last entry
Entries are organized in descending chronological order.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-27 18:34:15 +01:00
Rostislav Pehlivanov a8fe8d6b4a lavfi: remove af_asynts filter
Long overdue for removal, af_aresample should be used instead.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-27 14:06:16 +01:00
wm4 d7896e9b42 pthread_frame: fix uninitialized variable read
Could lead to random behavior. This possibly happened due to commit
32a5b63126. This should/could probably be simplified, but for no apply
a minimal fix to quell the errors.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-27 13:21:20 +02:00
wm4 9e703ae30f pthread_frame: do not attempt to unlock a mutex on the wrong thread
async_mutex has is used in a very strange but intentional way: it is
locked by default, and unlocked only in regions that can be run
concurrently.

If the user was calling API functions to the same context from different
threads (in a safe way), this could unintentionally unlock the mutex on
a different thread than the previous lock operation. It's not allowed by
the pthread API.

Fix this by emulating a binary semaphore using a mutex and condition
variable. (Posix semaphores are not available on all platforms.)

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-27 13:21:15 +02:00
wm4 ddef3d902f avformat, ffmpeg: deprecate old rotation API
The old "API" that signaled rotation as a metadata value has been
replaced by DISPLAYMATRIX side data quite a while ago.

There is no reason to make muxers/demuxers/API users support both. In
addition, the metadata API is dangerous, as user tags could "leak" into
it, creating unintended features or bugs.

ffmpeg CLI has to be updated to use the new API. In particular, we must
not allow to leak the "rotate" tag into the muxer. Some muxers will
catch this properly (like mov), but others (like mkv) can add it as
generic tag. Note applications, which use libavformat and assume the
old rotate API, will interpret such "rotate" user tags as rotate
metadata (which it is not), and incorrectly rotate the video.

The ffmpeg/ffplay tools drop the use of the old API for muxing and
demuxing, as all muxers/demuxers support the new API. This will mean
that the tools will not mistakenly interpret per-track "rotate" user
tags as rotate metadata. It will _not_ be treated as regression.

Unfortunately, hacks have been added, that allow the user to override
rotation by setting metadata explicitly, e.g. via

  -metadata:s:v:0 rotate=0

See references to trac #4560. fate-filter-meta-4560-rotate0 tests this.
It's easier to adjust the hack for supporting it than arguing for its
removal, so ffmpeg CLI now explicitly catches this case, and essentially
replaces the "rotate" value with a display matrix side data. (It would
be easier for both user and implementation to create an explicit option
for rotation.)

When the code under FF_API_OLD_ROTATE_API is disabled, one FATE
reference file has to be updated (because "rotate" is not exported
anymore).

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-27 13:20:27 +02:00
Kyle Swanson b12693facf libavcodec/opusenc: use correct format specifiers
Squelches the following compiler warnings:

libavcodec/opusenc.c:1051:16: warning: format specifies type 'long' but
the argument has type 'long long' [-Wformat]
               avctx->bit_rate/1000, clipped_rate/1000);
               ^~~~~~~~~~~~~~~~~~~~
libavcodec/opusenc.c:1051:38: warning: format specifies type 'long' but
the argument has type 'long long' [-Wformat]
               avctx->bit_rate/1000, clipped_rate/1000);
                                     ^~~~~~~~~~~~~~~~~
2017-03-27 09:35:48 +02:00
Michael Niedermayer d65b59550b avcodec/avcodec: Correct and make consistent AVERROR() in comments
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-27 01:48:39 +02:00
Mark Thompson a94972b2b2 ffmpeg: Remove hw_device_ctx output filter reinit hack
This was skipped in c17563c5d3 because
it depended on the filter setup merge, but was forgotten after that
actually happened.

Fixes hwaccel fate for stream size change tests.
2017-03-26 20:38:44 +01:00
Michael Niedermayer eaf6f10f1b avfilter/vf_signature: Replace uncommon spelling of seperate
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-26 20:34:47 +02:00
Michael Niedermayer 0ba22831e1 avcodec/h264idct_template: Fix multiple runtime error: signed integer overflow
Fixes: 712/clusterfuzz-testcase-6647676227551232

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-26 19:17:30 +02:00
Michael Niedermayer 73fb40dc87 avcodec/x86/idctdsp: Remove duplicate include
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-26 19:17:30 +02:00
Michael Niedermayer 9dd1573423 doc/bitstream_filters: Fix project name after merge
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-26 19:17:30 +02:00
James Almer a044f8df6a ffprobe: support skip_samples packet side data information
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-25 22:42:57 -03:00
James Almer b53ac2a528 avcodec/extract_extradata_bsf: use the parsing code from mpeg4video_split()
It's a simplifaction of the same code, originally commited as 3b5ad8fbf7.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-25 22:38:13 -03:00
James Almer 173fdc4dea avcodec/extract_extradata_bsf: use the parsing code from vc1_split()
It's a simplifaction of the same code, originally commited as b4b9a64bdb.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-25 22:38:13 -03:00
James Almer ec996163c8 avcodec/extract_extradata_bsf: use the parsing code from mpegvideo_split()
Changes to the parsing code originally committed to mpegvideo_parser.c
in 73fb23dc5a.
Required by some samples, like PVA_test-partial.pva

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-25 22:38:13 -03:00
James Almer d054069c15 avformat/mov: stop using deprecated codec flags
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-25 21:37:40 -03:00
James Almer 963cd953fb avfilter: stop using deprecated codec flags
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-25 21:37:06 -03:00