ffmpeg.git
2 years agoMerge commit '8191f960a669819db4de33a2439ded1630b8a73e'
Clément Bœsch [Wed, 29 Mar 2017 12:22:32 +0000 (14:22 +0200)]
Merge commit '8191f960a669819db4de33a2439ded1630b8a73e'

* commit '8191f960a669819db4de33a2439ded1630b8a73e':
  examples/decode_video: constify the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c'
Clément Bœsch [Wed, 29 Mar 2017 12:20:25 +0000 (14:20 +0200)]
Merge commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c'

* commit '5b4d7ac7ae5d821cfa6ab89f8eab4d31851ef32c':
  examples/encode_video: use the AVFrame API for allocating the frame

Merged-by: Clément Bœsch <u@pkh.me>
2 years agodoc/examples/{de,en}code_audio: fix includes
Clément Bœsch [Wed, 29 Mar 2017 12:18:10 +0000 (14:18 +0200)]
doc/examples/{de,en}code_audio: fix includes

Consistent with other examples.

2 years agoMerge commit 'd0a603a534a0ee4b255e5e72742428a7f7f42b83'
Clément Bœsch [Wed, 29 Mar 2017 12:16:33 +0000 (14:16 +0200)]
Merge commit 'd0a603a534a0ee4b255e5e72742428a7f7f42b83'

* commit 'd0a603a534a0ee4b255e5e72742428a7f7f42b83':
  examples/encode_video: set the framerate

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'e02524025bce2c8bf8b5bffd96479785c75a70d4'
Clément Bœsch [Wed, 29 Mar 2017 12:15:01 +0000 (14:15 +0200)]
Merge commit 'e02524025bce2c8bf8b5bffd96479785c75a70d4'

* commit 'e02524025bce2c8bf8b5bffd96479785c75a70d4':
  examples/encode_video: constify the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d'
Clément Bœsch [Wed, 29 Mar 2017 12:07:39 +0000 (14:07 +0200)]
Merge commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d'

* commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d':
  examples/avcodec: split the remaining two examples into separate files

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '90265814f993098d79b0a0f40745ecdb403fbf56'
Clément Bœsch [Wed, 29 Mar 2017 11:45:51 +0000 (13:45 +0200)]
Merge commit '90265814f993098d79b0a0f40745ecdb403fbf56'

* commit '90265814f993098d79b0a0f40745ecdb403fbf56':
  examples/decode_audio: constify the AVCodec instance

Merged-by: Clément Bœsch <u@pkh.me>
2 years agodoc/examples/encode_audio: add missing return
Clément Bœsch [Wed, 29 Mar 2017 11:45:09 +0000 (13:45 +0200)]
doc/examples/encode_audio: add missing return

2 years agoMerge commit 'f5df897c4b61985e3afc89ba1290649712ff438e'
Clément Bœsch [Wed, 29 Mar 2017 11:38:29 +0000 (13:38 +0200)]
Merge commit 'f5df897c4b61985e3afc89ba1290649712ff438e'

* commit 'f5df897c4b61985e3afc89ba1290649712ff438e':
  examples/avcodec: split audio decoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'f76698e759a08e8d3b629c06edb0439f474e7fee'
Clément Bœsch [Wed, 29 Mar 2017 11:31:44 +0000 (13:31 +0200)]
Merge commit 'f76698e759a08e8d3b629c06edb0439f474e7fee'

* commit 'f76698e759a08e8d3b629c06edb0439f474e7fee':
  examples/encode_audio: use the AVFrame API for allocating the data

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'c00a11ab383ff276a2ab2fdba577945e48d465be'
Clément Bœsch [Wed, 29 Mar 2017 11:30:16 +0000 (13:30 +0200)]
Merge commit 'c00a11ab383ff276a2ab2fdba577945e48d465be'

* commit 'c00a11ab383ff276a2ab2fdba577945e48d465be':
  examples/encode_audio: constify AVCodec instances

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d'
Clément Bœsch [Wed, 29 Mar 2017 11:29:00 +0000 (13:29 +0200)]
Merge commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d'

* commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d':
  examples/avcodec: split audio encoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2 years agopthread_frame: minor simplification to error handling
wm4 [Mon, 27 Mar 2017 12:25:53 +0000 (14:25 +0200)]
pthread_frame: minor simplification to error handling

Get rid of the "ret" variable, and always use err. Report the packet as
consumed if err is unset. This should be equivalent to the old code,
which obviously required err=0 for p->result>=0 (and otherwise,
p->result must have had the value err was last set to). The code block
added by commit 32a5b631267 is also not needed anymore, because the new
code strictly returns err if it's >=0.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
2 years agoavcodec/ac3dsp: add special-case handling for the C downmix_fixed function
James Almer [Wed, 22 Mar 2017 15:28:58 +0000 (12:28 -0300)]
avcodec/ac3dsp: add special-case handling for the C downmix_fixed function

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agofate: add tests for ac3_fixed 5.1 downmix
James Almer [Wed, 22 Mar 2017 15:35:44 +0000 (12:35 -0300)]
fate: add tests for ac3_fixed 5.1 downmix

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoaarch64/vp9dsp: add missing header includes
James Almer [Wed, 29 Mar 2017 02:02:09 +0000 (23:02 -0300)]
aarch64/vp9dsp: add missing header includes

2 years agopthread_frame: don't sync items between threads for intra-only codecs.
Ronald S. Bultje [Tue, 28 Mar 2017 19:04:46 +0000 (15:04 -0400)]
pthread_frame: don't sync items between threads for intra-only codecs.

Intra-only codecs should either be able to read these items from the
bitstream, or they should be set upon codec initialization. In both
cases, syncing these items at runtime is unnecessary.

In practice, this fixes race conditions for decoders that read these
values from the bitstream.

2 years agohevc: initialize no_rasl_output_flag in hevc_frame_start().
Ronald S. Bultje [Mon, 27 Mar 2017 13:56:38 +0000 (09:56 -0400)]
hevc: initialize no_rasl_output_flag in hevc_frame_start().

This prevents a race condition in files with multiple slices per frame.

2 years agoh264: revert 1189af429211ac650aac730368a6cf5b23756605.
Ronald S. Bultje [Mon, 27 Mar 2017 13:39:24 +0000 (09:39 -0400)]
h264: revert 1189af429211ac650aac730368a6cf5b23756605.

The patch introduces race conditions.

2 years agovp9: split out generic decoding skeleton interface API from VP9 types.
Ronald S. Bultje [Tue, 28 Mar 2017 02:05:17 +0000 (22:05 -0400)]
vp9: split out generic decoding skeleton interface API from VP9 types.

This allows vp9dsp.h to only include the VP9 types header, and not the
decoder skeleton interface which is for hardware decoders (dxva2/vaapi).

2 years agovp9: split out reconstruction functions in their own source file.
Ronald S. Bultje [Mon, 27 Mar 2017 21:32:20 +0000 (17:32 -0400)]
vp9: split out reconstruction functions in their own source file.

2 years agovp9: split out loopfilter functions in their own source file.
Ronald S. Bultje [Mon, 27 Mar 2017 20:59:06 +0000 (16:59 -0400)]
vp9: split out loopfilter functions in their own source file.

2 years agovp9: re-split the decoder/format/dsp interface header files.
Ronald S. Bultje [Mon, 27 Mar 2017 20:47:46 +0000 (16:47 -0400)]
vp9: re-split the decoder/format/dsp interface header files.

The advantage here is that the internal software decoder interface is
not exposed to the DSP functions or the hardware accelerations.

2 years agolavfi: fix race when func rets holder is NULL
Clément Bœsch [Tue, 28 Mar 2017 16:00:02 +0000 (18:00 +0200)]
lavfi: fix race when func rets holder is NULL

If ret is NULL, a dummy common holder is created to hold *all* the
parallel function returns, which gets written concurrently. This commit
simplify the whole logic by simply not writing to that holder when not
set.

2 years agoavdevice/decklink: deprecate @mode syntax in device name to specify mode
Marton Balint [Sat, 25 Mar 2017 16:52:11 +0000 (17:52 +0100)]
avdevice/decklink: deprecate @mode syntax in device name to specify mode

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavdevice/decklink_enc: convert to std::atomic
Marton Balint [Sat, 25 Mar 2017 16:42:17 +0000 (17:42 +0100)]
avdevice/decklink_enc: convert to std::atomic

Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoconfigure: use c++11 and fallback to c++0x for c++ files
Marton Balint [Sat, 25 Mar 2017 16:36:39 +0000 (17:36 +0100)]
configure: use c++11 and fallback to c++0x for c++ files

Needed for the C+11 atomics. Also change add_cxxflags to check_cxxflags.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agodoc/examples/transcoding: convert to codecpar
James Almer [Sat, 27 Aug 2016 18:02:44 +0000 (15:02 -0300)]
doc/examples/transcoding: convert to codecpar

Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agodirac: make initialization of arithmetic coder tables threadsafe.
Ronald S. Bultje [Mon, 27 Mar 2017 15:24:43 +0000 (11:24 -0400)]
dirac: make initialization of arithmetic coder tables threadsafe.

2 years agodoc/examples/extract_mvs: switch to codecpar
Matthieu Bouron [Tue, 28 Mar 2017 11:46:36 +0000 (13:46 +0200)]
doc/examples/extract_mvs: switch to codecpar

2 years agodoc/examples/remuxing: switch to codecpar
Matthieu Bouron [Tue, 28 Mar 2017 09:57:26 +0000 (11:57 +0200)]
doc/examples/remuxing: switch to codecpar

Also limits remuxing to audio, video and subtitle streams.

2 years agodoc/examples/muxing: re-indent block
Matthieu Bouron [Tue, 28 Mar 2017 10:38:41 +0000 (12:38 +0200)]
doc/examples/muxing: re-indent block

2 years agodoc/examples/filtering_*: switch to codecpar
Clément Bœsch [Tue, 28 Mar 2017 09:29:19 +0000 (11:29 +0200)]
doc/examples/filtering_*: switch to codecpar

2 years agoavformat/flvdec: check FLVHeader PreviousTagSize0
Steven Liu [Tue, 28 Mar 2017 08:51:28 +0000 (16:51 +0800)]
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>
2 years agoavcodec/extract_extradata_bsf: add missing break statement to extract_extradata_vc1
James Almer [Tue, 28 Mar 2017 04:14:17 +0000 (01:14 -0300)]
avcodec/extract_extradata_bsf: add missing break statement to extract_extradata_vc1

2 years agoffprobe: free log buffer's parent_name during cleanup
James Almer [Mon, 27 Mar 2017 23:37:29 +0000 (20:37 -0300)]
ffprobe: free log buffer's parent_name during cleanup

Fixes memleak.

2 years agodoc/ffprobe: add -show_log option
Dave Rice [Tue, 14 Mar 2017 17:11:14 +0000 (13:11 -0400)]
doc/ffprobe: add -show_log option

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffprobe.xsd: add frame log data
Dave Rice [Tue, 14 Mar 2017 16:59:43 +0000 (12:59 -0400)]
ffprobe.xsd: add frame log data

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffprobe: Support adding av_log output to frames
Michael Niedermayer [Tue, 31 May 2016 19:23:27 +0000 (21:23 +0200)]
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>
2 years agoavformat/movenc: allow st3d and sv3d mov atoms to be written in strict unofficial...
James Almer [Mon, 27 Mar 2017 20:10:33 +0000 (17:10 -0300)]
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.

2 years agoavformat/movenc: restrict st3d and sv3d mov atoms to MODE_MP4
James Almer [Mon, 27 Mar 2017 20:09:45 +0000 (17:09 -0300)]
avformat/movenc: restrict st3d and sv3d mov atoms to MODE_MP4

2 years agomovenc: Add support for writing st3d and sv3d boxes.
Aaron Colwell [Mon, 27 Mar 2017 15:00:12 +0000 (08:00 -0700)]
movenc: Add support for writing st3d and sv3d boxes.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '064f19f39e2f17927278c6ad8fe884a5b92310d6'
James Almer [Mon, 27 Mar 2017 21:50:27 +0000 (18:50 -0300)]
Merge commit '064f19f39e2f17927278c6ad8fe884a5b92310d6'

* commit '064f19f39e2f17927278c6ad8fe884a5b92310d6':
  avconv: support parsing bitstream filter options

This commit is a noop, see 5ef19590802f000299e418143fc2301e3f43affe

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit 'ecd2ec69ce10e13f6ede353d2def7ce9f45c1a7d'
James Almer [Mon, 27 Mar 2017 21:23:02 +0000 (18:23 -0300)]
Merge commit 'ecd2ec69ce10e13f6ede353d2def7ce9f45c1a7d'

* commit 'ecd2ec69ce10e13f6ede353d2def7ce9f45c1a7d':
  mov: Evaluate the movie display matrix

This commit is a noop, see 7010ebdf1ff7514fa505ff166fb60ce762a46b8b

Merged-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit 'b90c8a3d08e3f9ad4de1253376d2d1d93abb8b8c'
James Almer [Mon, 27 Mar 2017 21:19:02 +0000 (18:19 -0300)]
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>
2 years agoMerge commit '7d308bf84bda78d47c01439ff625bb06624991a7'
Clément Bœsch [Mon, 27 Mar 2017 20:30:23 +0000 (22:30 +0200)]
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>
2 years agoMerge commit '218ed7250c103a975e874fb16e8e5941f4cbe223'
Clément Bœsch [Mon, 27 Mar 2017 20:28:49 +0000 (22:28 +0200)]
Merge commit '218ed7250c103a975e874fb16e8e5941f4cbe223'

* commit '218ed7250c103a975e874fb16e8e5941f4cbe223':
  openssl: Allow newer TLS versions than TLSv1

This commit is a noop, see e8634fb92e2f624f19ee5fced6481d8ece503119

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'dad7514f9ec8a8c5e44d70fcfbbcedeff16f7e13'
Clément Bœsch [Mon, 27 Mar 2017 20:25:33 +0000 (22:25 +0200)]
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 54170a33c2c97b0f50347f57e8f0f2ea681dca1d.

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'c541a44e029e8a4f21db028c34fee3ad1c10a409'
Clément Bœsch [Mon, 27 Mar 2017 20:21:18 +0000 (22:21 +0200)]
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>
2 years agoMerge commit '801ac7156d3efb8e088fb6024f568eb36a293887'
Clément Bœsch [Mon, 27 Mar 2017 20:19:09 +0000 (22:19 +0200)]
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>
2 years agoMerge commit '30015305f3b523ed7640f2c3c58b017140533c58'
Clément Bœsch [Mon, 27 Mar 2017 20:16:50 +0000 (22:16 +0200)]
Merge commit '30015305f3b523ed7640f2c3c58b017140533c58'

* commit '30015305f3b523ed7640f2c3c58b017140533c58':
  Use avpriv_request_sample() where appropriate

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

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '07cac07c0c0360d67e73a7472214c79d6c520a4b'
Clément Bœsch [Mon, 27 Mar 2017 20:09:08 +0000 (22:09 +0200)]
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>
2 years agoMerge commit '3ec6f855d0f21d90a0494fb798c4cf203fdb3db0'
Clément Bœsch [Mon, 27 Mar 2017 20:07:19 +0000 (22:07 +0200)]
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>
2 years agoMerge commit '7a2b2b6a92c4b528ecb640790eca0aa790d858f4'
Clément Bœsch [Mon, 27 Mar 2017 20:05:50 +0000 (22:05 +0200)]
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>
2 years agoMerge commit 'c454dfcff90f0ed39c7b0d4e85664986a8b4476c'
Clément Bœsch [Mon, 27 Mar 2017 20:01:06 +0000 (22:01 +0200)]
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>
2 years agolavc/vp9: clarify inv_recenter_nonneg
Clément Bœsch [Sat, 25 Mar 2017 12:33:07 +0000 (13:33 +0100)]
lavc/vp9: clarify inv_recenter_nonneg

Ends up identical to Libav.

2 years agolavc/vp9: shuffle header declaration
Clément Bœsch [Sat, 25 Mar 2017 12:24:46 +0000 (13:24 +0100)]
lavc/vp9: shuffle header declaration

This reduces diff with Libav.

2 years agolavc/vp9: consistent use of typedef instead of struct
Clément Bœsch [Sat, 25 Mar 2017 12:19:52 +0000 (13:19 +0100)]
lavc/vp9: consistent use of typedef instead of struct

2 years agolavc/vp9: misc cosmetics
Clément Bœsch [Sat, 25 Mar 2017 11:40:48 +0000 (12:40 +0100)]
lavc/vp9: misc cosmetics

Imported from Libav

2 years agolavc/vp9: rename res to ret
Clément Bœsch [Sat, 25 Mar 2017 11:35:01 +0000 (12:35 +0100)]
lavc/vp9: rename res to ret

2 years agolavc/vp9: split a few assignment out of ifs
Clément Bœsch [Sat, 25 Mar 2017 11:32:45 +0000 (12:32 +0100)]
lavc/vp9: split a few assignment out of ifs

2 years agolavc/vp9: rename {ref,unref,alloc}_frame to frame_{ref,unref,alloc}
Clément Bœsch [Sat, 25 Mar 2017 11:28:31 +0000 (12:28 +0100)]
lavc/vp9: rename {ref,unref,alloc}_frame to frame_{ref,unref,alloc}

For consistency with Libav.

2 years agolavc/vp9: rename ctx to avctx
Clément Bœsch [Sat, 25 Mar 2017 11:25:28 +0000 (12:25 +0100)]
lavc/vp9: rename ctx to avctx

This reduces diff with Libav. It also prevents a potential confusion
between the private context and the AVCodecContext.

2 years agolavc/vp9: split into vp9{block,data,mvs}
Clément Bœsch [Sat, 25 Mar 2017 11:10:13 +0000 (12:10 +0100)]
lavc/vp9: split into vp9{block,data,mvs}

This is following Libav layout to ease merges.

2 years agoChangelog: reorder last entry
Rostislav Pehlivanov [Mon, 27 Mar 2017 17:34:15 +0000 (18:34 +0100)]
Changelog: reorder last entry

Entries are organized in descending chronological order.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agolavfi: remove af_asynts filter
Rostislav Pehlivanov [Mon, 6 Mar 2017 02:46:51 +0000 (02:46 +0000)]
lavfi: remove af_asynts filter

Long overdue for removal, af_aresample should be used instead.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agopthread_frame: fix uninitialized variable read
wm4 [Mon, 27 Mar 2017 11:06:56 +0000 (13:06 +0200)]
pthread_frame: fix uninitialized variable read

Could lead to random behavior. This possibly happened due to commit
32a5b631267. 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>
2 years agopthread_frame: do not attempt to unlock a mutex on the wrong thread
wm4 [Thu, 23 Mar 2017 12:18:16 +0000 (13:18 +0100)]
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>
2 years agoavformat, ffmpeg: deprecate old rotation API
wm4 [Tue, 21 Mar 2017 07:02:58 +0000 (08:02 +0100)]
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>
2 years agolibavcodec/opusenc: use correct format specifiers
Kyle Swanson [Sun, 26 Mar 2017 18:48:28 +0000 (13:48 -0500)]
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);
                                     ^~~~~~~~~~~~~~~~~

2 years agoavcodec/avcodec: Correct and make consistent AVERROR() in comments
Michael Niedermayer [Sun, 26 Mar 2017 19:17:54 +0000 (21:17 +0200)]
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>
2 years agoffmpeg: Remove hw_device_ctx output filter reinit hack
Mark Thompson [Wed, 22 Mar 2017 21:19:11 +0000 (21:19 +0000)]
ffmpeg: Remove hw_device_ctx output filter reinit hack

This was skipped in c17563c5d3c974a69709ebae0171534763b3051c because
it depended on the filter setup merge, but was forgotten after that
actually happened.

Fixes hwaccel fate for stream size change tests.

2 years agoavfilter/vf_signature: Replace uncommon spelling of seperate
Michael Niedermayer [Sun, 26 Mar 2017 18:34:47 +0000 (20:34 +0200)]
avfilter/vf_signature: Replace uncommon spelling of seperate

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/h264idct_template: Fix multiple runtime error: signed integer overflow
Michael Niedermayer [Fri, 24 Mar 2017 02:09:32 +0000 (03:09 +0100)]
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>
2 years agoavcodec/x86/idctdsp: Remove duplicate include
Michael Niedermayer [Sun, 26 Mar 2017 00:38:34 +0000 (01:38 +0100)]
avcodec/x86/idctdsp: Remove duplicate include

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/bitstream_filters: Fix project name after merge
Michael Niedermayer [Sun, 26 Mar 2017 00:15:04 +0000 (01:15 +0100)]
doc/bitstream_filters: Fix project name after merge

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffprobe: support skip_samples packet side data information
James Almer [Sat, 25 Mar 2017 16:50:51 +0000 (13:50 -0300)]
ffprobe: support skip_samples packet side data information

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/extract_extradata_bsf: use the parsing code from mpeg4video_split()
James Almer [Fri, 24 Mar 2017 21:27:37 +0000 (18:27 -0300)]
avcodec/extract_extradata_bsf: use the parsing code from mpeg4video_split()

It's a simplifaction of the same code, originally commited as 3b5ad8fbf77.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/extract_extradata_bsf: use the parsing code from vc1_split()
James Almer [Fri, 24 Mar 2017 21:26:03 +0000 (18:26 -0300)]
avcodec/extract_extradata_bsf: use the parsing code from vc1_split()

It's a simplifaction of the same code, originally commited as b4b9a64bdb6.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/extract_extradata_bsf: use the parsing code from mpegvideo_split()
James Almer [Fri, 24 Mar 2017 21:10:53 +0000 (18:10 -0300)]
avcodec/extract_extradata_bsf: use the parsing code from mpegvideo_split()

Changes to the parsing code originally committed to mpegvideo_parser.c
in 73fb23dc5a5.
Required by some samples, like PVA_test-partial.pva

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/mov: stop using deprecated codec flags
James Almer [Sun, 26 Mar 2017 00:36:10 +0000 (21:36 -0300)]
avformat/mov: stop using deprecated codec flags

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavfilter: stop using deprecated codec flags
James Almer [Sun, 26 Mar 2017 00:35:52 +0000 (21:35 -0300)]
avfilter: stop using deprecated codec flags

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec: stop using deprecated codec flags
James Almer [Sun, 26 Mar 2017 00:35:15 +0000 (21:35 -0300)]
avcodec: stop using deprecated codec flags

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoffmpeg: stop using deprecated codec flags
James Almer [Sun, 26 Mar 2017 00:34:52 +0000 (21:34 -0300)]
ffmpeg: stop using deprecated codec flags

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoconfigure: cuvid hwaccels need the corresponding decoder, not the other way around
Timo Rothenpieler [Sat, 25 Mar 2017 21:31:22 +0000 (22:31 +0100)]
configure: cuvid hwaccels need the corresponding decoder, not the other way around

2 years agofate/checkasm: fix use of uninitialized memory on hevc_add_res tests
James Almer [Sat, 25 Mar 2017 01:11:34 +0000 (22:11 -0300)]
fate/checkasm: fix use of uninitialized memory on hevc_add_res tests

2 years agofate/checkasm: use LOCAL_ALINGED_32 on hevc_add_res tests
James Almer [Sat, 25 Mar 2017 01:11:22 +0000 (22:11 -0300)]
fate/checkasm: use LOCAL_ALINGED_32 on hevc_add_res tests

2 years agofate: mask errors while constructing report files
Clément Bœsch [Fri, 24 Mar 2017 21:28:02 +0000 (22:28 +0100)]
fate: mask errors while constructing report files

The first case was forgotten in 89790ba2bfc9d0dc5ad407c5724b6ee616ecde58.

Note: build_only=yes is one of the case where hiding the errors makes
sense.

2 years agolavc/xface: Reorder conditions to silence a gcc warning.
Carl Eugen Hoyos [Sun, 26 Feb 2017 10:03:50 +0000 (11:03 +0100)]
lavc/xface: Reorder conditions to silence a gcc warning.

libavcodec/xface.c:318:27: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]

2 years agoavcodec/tests/celp_math: Change IsAlmostEqual() to a function
Michael Niedermayer [Fri, 24 Mar 2017 16:45:56 +0000 (17:45 +0100)]
avcodec/tests/celp_math: Change IsAlmostEqual() to a function

Fixes empty statement, found by ubitux

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/tests: added test for celp_math.c
Thomas Turner [Fri, 24 Mar 2017 05:48:28 +0000 (22:48 -0700)]
avcodec/tests: added test for celp_math.c

Signed-off-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/dnxhd_parser: take into account compressed frame size and skip it
Paul B Mahol [Mon, 20 Mar 2017 21:47:48 +0000 (22:47 +0100)]
avcodec/dnxhd_parser: take into account compressed frame size and skip it

Fixes #6214 and vsynth1-dnxhd-720p-hr-lb.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agox86/hevc_add_res: merge missing changes from 3d6535983282bea542dac2e568ae50da5796be34
James Almer [Fri, 24 Mar 2017 14:23:33 +0000 (11:23 -0300)]
x86/hevc_add_res: merge missing changes from 3d6535983282bea542dac2e568ae50da5796be34

Unrolling the loops triplicates the size of the assembled output
while not generating any gain in performance.

2 years agoMerge commit 'fbe425c8d29e473a8f69ae2dc52b1a10b77f3b44'
Clément Bœsch [Fri, 24 Mar 2017 12:38:11 +0000 (13:38 +0100)]
Merge commit 'fbe425c8d29e473a8f69ae2dc52b1a10b77f3b44'

* commit 'fbe425c8d29e473a8f69ae2dc52b1a10b77f3b44':
  hap: Adjust printf length modifiers to match variable types

This commit is a noop, see 5a51ca2da7b76cad2a86476590c18b26a98eafbe

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50'
Clément Bœsch [Fri, 24 Mar 2017 12:29:45 +0000 (13:29 +0100)]
Merge commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50'

* commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50':
  Adjust printf conversion specifiers to match variable signedness

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'ca1e5eea0c7b72a6e30aa6488cfeced3a4853521'
Clément Bœsch [Fri, 24 Mar 2017 12:23:52 +0000 (13:23 +0100)]
Merge commit 'ca1e5eea0c7b72a6e30aa6488cfeced3a4853521'

* commit 'ca1e5eea0c7b72a6e30aa6488cfeced3a4853521':
  Remove some pointless TRACE level debug code

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '07eea5a5ded1141632aefecfa59dcdc26de2d7ea'
Clément Bœsch [Fri, 24 Mar 2017 12:21:04 +0000 (13:21 +0100)]
Merge commit '07eea5a5ded1141632aefecfa59dcdc26de2d7ea'

* commit '07eea5a5ded1141632aefecfa59dcdc26de2d7ea':
  nut: Drop pointless TRACE level debug code

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'c3dad1bf3b5e04e01c291b1ac41e6bef0adf2206'
Clément Bœsch [Fri, 24 Mar 2017 12:19:10 +0000 (13:19 +0100)]
Merge commit 'c3dad1bf3b5e04e01c291b1ac41e6bef0adf2206'

* commit 'c3dad1bf3b5e04e01c291b1ac41e6bef0adf2206':
  nsv: Drop unnecessary TRACE level debug code

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '47756f51fe836959ffa5c6e2baeacbd71e150069'
Clément Bœsch [Fri, 24 Mar 2017 12:18:24 +0000 (13:18 +0100)]
Merge commit '47756f51fe836959ffa5c6e2baeacbd71e150069'

* commit '47756f51fe836959ffa5c6e2baeacbd71e150069':
  dnxhdenc: Drop pointless, commented-out debug output

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '0456e684394dc5a7b98ab9ebb48396d743bf3730'
Clément Bœsch [Fri, 24 Mar 2017 12:17:55 +0000 (13:17 +0100)]
Merge commit '0456e684394dc5a7b98ab9ebb48396d743bf3730'

* commit '0456e684394dc5a7b98ab9ebb48396d743bf3730':
  audio_fifo: Drop write-only variable

Merged-by: Clément Bœsch <u@pkh.me>