ffmpeg.git
2 years agotools/patcheck: add a couple more common typos
James Almer [Sun, 17 Jul 2016 21:38:14 +0000 (18:38 -0300)]
tools/patcheck: add a couple more common typos

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/ccaption_dec: change write_char() to void as return value is unused
Aman Gupta [Tue, 14 Jun 2016 18:57:41 +0000 (11:57 -0700)]
avcodec/ccaption_dec: change write_char() to void as return value is unused

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoMAINTAINERS: Add Aman Gupta for ccaption_dec
Michael Niedermayer [Sat, 16 Jul 2016 12:58:20 +0000 (14:58 +0200)]
MAINTAINERS: Add Aman Gupta for ccaption_dec

Anshul appears to have no time currently as he has not reacted to patches or mails
and Aman agreed to take over maintaince or help

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agocosmetics: fix some misspelled words
James Almer [Sun, 17 Jul 2016 16:10:27 +0000 (13:10 -0300)]
cosmetics: fix some misspelled words

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolibavformat/libopenmpt: Fix memory leak in error path in read_header_openmpt().
Jörn Heusipp [Sun, 17 Jul 2016 13:37:12 +0000 (15:37 +0200)]
libavformat/libopenmpt: Fix memory leak in error path in read_header_openmpt().

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/dnxhddata: replace % by &
Michael Niedermayer [Sat, 16 Jul 2016 14:15:33 +0000 (16:15 +0200)]
avcodec/dnxhddata: replace % by &

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agofate: fix apng tests dependencies
James Almer [Sat, 16 Jul 2016 18:29:43 +0000 (15:29 -0300)]
fate: fix apng tests dependencies

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoconfigure: add missing loongson dependencies
James Almer [Sat, 16 Jul 2016 18:18:58 +0000 (15:18 -0300)]
configure: add missing loongson dependencies

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolibavcodec/dnxhd: add support more dnxhr header prefixes
Mark Reid [Tue, 12 Jul 2016 02:07:21 +0000 (19:07 -0700)]
libavcodec/dnxhd: add support more dnxhr header prefixes

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/tee: Use ff_format_output_open() function
Jan Sebechlebsky [Mon, 4 Jul 2016 14:45:14 +0000 (16:45 +0200)]
avformat/tee: Use ff_format_output_open() function

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/utils: Add ff_format_output_open() function
Jan Sebechlebsky [Mon, 4 Jul 2016 14:45:13 +0000 (16:45 +0200)]
avformat/utils: Add ff_format_output_open() function

Add ff_format_output_open utility function to wrap
io_open callback of AVFormatContext structure.

Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/tee: Support flushing by writing NULL pkt
Jan Sebechlebsky [Mon, 11 Jul 2016 21:27:51 +0000 (23:27 +0200)]
avformat/tee: Support flushing by writing NULL pkt

This will add support for flushing by writing NULL
packet to the tee muxer, which propagates the action
to slave muxers as expected.

Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/tee: Use ff_stream_encode_params_copy()
Jan Sebechlebsky [Mon, 4 Jul 2016 14:45:10 +0000 (16:45 +0200)]
avformat/tee: Use ff_stream_encode_params_copy()

Use ff_stream_encode_params_copy() to copy encoding-related
fields (parameters) of stream.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavformat/utils: Add ff_stream_encode_params_copy()
Jan Sebechlebsky [Wed, 13 Jul 2016 15:00:11 +0000 (17:00 +0200)]
avformat/utils: Add ff_stream_encode_params_copy()

Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agolavf: add libopenmpt demuxer
Josh de Kock [Thu, 14 Jul 2016 17:30:27 +0000 (18:30 +0100)]
lavf: add libopenmpt demuxer

Fixes ticket #5623

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agorefine the method option describe of hlsenc doc
Steven Liu [Wed, 13 Jul 2016 07:15:06 +0000 (15:15 +0800)]
refine the method option describe of hlsenc doc

Signed-off-by: LiuQi <liuqi@gosun.com>
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoRestore compatibility with powerpc-apple-darwin9-gcc-4.2.1
Pavel Koshevoy [Fri, 15 Jul 2016 04:06:07 +0000 (22:06 -0600)]
Restore compatibility with powerpc-apple-darwin9-gcc-4.2.1

... and attempt to preserve compatibility with clang that was
introduced in 311a953c76081fca99b872629d248f9d69ebc0c3 (untested)

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavf/vplayerdec: Improve auto-detection.
Clément Bœsch [Fri, 15 Jul 2016 08:29:14 +0000 (10:29 +0200)]
lavf/vplayerdec: Improve auto-detection.

Fixes the incorrect detection of 16_selma_OneFrame_QP39.yuv (gray16le
rawvideo) as vplayer format.

2 years agolavf/img2dec: Also auto-detect (unusual) uncompressed pcx.
Carl Eugen Hoyos [Fri, 15 Jul 2016 08:26:27 +0000 (10:26 +0200)]
lavf/img2dec: Also auto-detect (unusual) uncompressed pcx.

2 years agolavf/img2: Remove ffv1-img.
Carl Eugen Hoyos [Fri, 15 Jul 2016 08:25:02 +0000 (10:25 +0200)]
lavf/img2: Remove ffv1-img.

The ffv1 format currently needs a container.

2 years agoaf_hdcd: detect and report encoding errors and oddities
Burt P [Tue, 12 Jul 2016 17:54:10 +0000 (12:54 -0500)]
af_hdcd: detect and report encoding errors and oddities

Count and report when a code is signaled but fails to match a known pattern.
For example try Līve - Secret Samadhi.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaf_hdcd: only hdcd_update_info() when something changes
Burt P [Tue, 12 Jul 2016 17:54:08 +0000 (12:54 -0500)]
af_hdcd: only hdcd_update_info() when something changes

Only call hdcd_update_info() when the control code changes
instead of every frame, so the counters are more meaningful.

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaf_hdcd: fewer false positives by ignoring code_counterC in HDCD detection
Burt P [Tue, 12 Jul 2016 17:54:07 +0000 (12:54 -0500)]
af_hdcd: fewer false positives by ignoring code_counterC in HDCD detection

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/segment: remove the check_bitstream from segment
Steven Liu [Wed, 13 Jul 2016 22:37:02 +0000 (06:37 +0800)]
avformat/segment: remove the check_bitstream from segment

because the BSF logic was re-factored into a shareable
function and both av_write_frame and av_interleaved_write_frame use it it

Signed-off-by: LiuQi <liuqi@gosun.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoMerge commit 'b25cd7540e7cba9868edc13817c0ce1ddef90ffc'
Clément Bœsch [Thu, 14 Jul 2016 17:41:37 +0000 (19:41 +0200)]
Merge commit 'b25cd7540e7cba9868edc13817c0ce1ddef90ffc'

* commit 'b25cd7540e7cba9868edc13817c0ce1ddef90ffc':
  h264: pass a H2645NAL to slice header decoding

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '523c4c5b70994f5cd1f192b68d07cf24b292ca05'
Clément Bœsch [Thu, 14 Jul 2016 17:37:14 +0000 (19:37 +0200)]
Merge commit '523c4c5b70994f5cd1f192b68d07cf24b292ca05'

* commit '523c4c5b70994f5cd1f192b68d07cf24b292ca05':
  fate: Add TrueMotion 2 RT tests

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '906ffed9b1b8b06979eb656989aecacb1ae75a3a'
Clément Bœsch [Thu, 14 Jul 2016 17:33:20 +0000 (19:33 +0200)]
Merge commit '906ffed9b1b8b06979eb656989aecacb1ae75a3a'

* commit '906ffed9b1b8b06979eb656989aecacb1ae75a3a':
  fate: Move Duck Truemotion 1 and 2 tests to vpx.mak

Merged-by: Clément Bœsch <u@pkh.me>
2 years agolavc/truemotion2rt: mark AVPacket* as const
Clément Bœsch [Thu, 14 Jul 2016 17:29:43 +0000 (19:29 +0200)]
lavc/truemotion2rt: mark AVPacket* as const

2 years agoMerge commit '470cd0c5fe6337b6cb5276b3f84400999450fc1b'
Clément Bœsch [Thu, 14 Jul 2016 17:17:09 +0000 (19:17 +0200)]
Merge commit '470cd0c5fe6337b6cb5276b3f84400999450fc1b'

* commit '470cd0c5fe6337b6cb5276b3f84400999450fc1b':
  Add TrueMotion 2.0 Real Time decoder

Merged-by: Clément Bœsch <u@pkh.me>
2 years agolavc/codec_desc: move a few codecs out of the image codecs list
Clément Bœsch [Thu, 14 Jul 2016 17:10:00 +0000 (19:10 +0200)]
lavc/codec_desc: move a few codecs out of the image codecs list

Also shuffle them a little to simplify next Libav merge.

2 years agofate/video: use FATE_VIDEO instead of FATE_SAMPLES_AVCONV
Clément Bœsch [Thu, 14 Jul 2016 17:01:51 +0000 (19:01 +0200)]
fate/video: use FATE_VIDEO instead of FATE_SAMPLES_AVCONV

Consistent with the rest of the rules

2 years agoMerge commit 'cc58656aca95b5ab517989a9524b9a2b1c5653cf'
Clément Bœsch [Thu, 14 Jul 2016 16:57:37 +0000 (18:57 +0200)]
Merge commit 'cc58656aca95b5ab517989a9524b9a2b1c5653cf'

* commit 'cc58656aca95b5ab517989a9524b9a2b1c5653cf':
  fate: Add tests for MagicYUV

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'd78fd2fa21cde28465e40dd0be4446b1387d22a6'
Clément Bœsch [Thu, 14 Jul 2016 16:39:46 +0000 (18:39 +0200)]
Merge commit 'd78fd2fa21cde28465e40dd0be4446b1387d22a6'

* commit 'd78fd2fa21cde28465e40dd0be4446b1387d22a6':
  Add MagicYUV decoder

Changes observed from Libav:
- many cosmetics (function renames/move, spacing, line breaks)
- MagicYUVContext.slices_size is now unsigned
- use of pixdesc (include fixed in FFmpeg)
- mention of "Lossless" in the long name dropped (also removed from
  general.texi in FFmpeg)
- addition of the FF_CODEC_CAP_INIT_THREADSAFE caps
- use of qsort() instead of AV_QSORT() (NOT MERGED)
- use of AVCodecContext.{width,height} instead of AVCodecContext.coded_{width,height} (NOT MERGED)

See also 77f9c4b7aa9eb793b3019025e177245896821816

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoavformat/mux: Apply auto bsfs in av_write_frame() too
Michael Niedermayer [Wed, 13 Jul 2016 17:08:45 +0000 (19:08 +0200)]
avformat/mux: Apply auto bsfs in av_write_frame() too

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/mux: Factor do_packet_auto_bsf() out
Michael Niedermayer [Wed, 13 Jul 2016 17:08:44 +0000 (19:08 +0200)]
avformat/mux: Factor do_packet_auto_bsf() out

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavf/mov: fix stream extradata_size allocation
Matthieu Bouron [Wed, 13 Jul 2016 20:46:44 +0000 (22:46 +0200)]
lavf/mov: fix stream extradata_size allocation

Fixes CID 1363963.

2 years agodirac_vlc: prevent shifting a 0 by 64 bits when zeroing residue
Rostislav Pehlivanov [Thu, 14 Jul 2016 00:26:51 +0000 (01:26 +0100)]
dirac_vlc: prevent shifting a 0 by 64 bits when zeroing residue

Adding a check for bits == 0 would still make Coverity misdetect this,
so just revert to the normal way of setting the residue to 0.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodirac_vlc: add a SET_RESIDUE macro and fix recent regression
Rostislav Pehlivanov [Thu, 14 Jul 2016 00:00:59 +0000 (01:00 +0100)]
dirac_vlc: add a SET_RESIDUE macro and fix recent regression

Can also be used in future cleanups since 99% of the time the leftover
appending will just append to an already empty residue.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodiracdec: fix unchecked byte length
Rostislav Pehlivanov [Wed, 13 Jul 2016 22:53:05 +0000 (23:53 +0100)]
diracdec: fix unchecked byte length

Also drops the start variable since it's redundant.
Found by Coverity, fixes CID1363964

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodiracdec: fix maximum quantization index checks
Rostislav Pehlivanov [Wed, 13 Jul 2016 22:40:06 +0000 (23:40 +0100)]
diracdec: fix maximum quantization index checks

Found by Coverity, fixes CID1363961 and CID1363962

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodirac_vlc: remove redundant macro declaration
Rostislav Pehlivanov [Wed, 13 Jul 2016 22:38:10 +0000 (23:38 +0100)]
dirac_vlc: remove redundant macro declaration

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodirac_vlc: fix undefined shifts
Rostislav Pehlivanov [Wed, 13 Jul 2016 22:35:03 +0000 (23:35 +0100)]
dirac_vlc: fix undefined shifts

Shifting by more than 63 bits is undefined behavior, athough any
compiler not returning 0 after shifting by any amount would be insane.

Found by Coverity, fixes CID1363959 and CID1363960

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agoavfilter/vf_uspp: Check for encoding failure
Michael Niedermayer [Wed, 13 Jul 2016 18:16:27 +0000 (20:16 +0200)]
avfilter/vf_uspp: Check for encoding failure

Fixes CID1363015

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoMerge commit 'ec9f04423b82afa323e90f5b2c677be74302c1fd'
Matthieu Bouron [Wed, 13 Jul 2016 15:39:47 +0000 (17:39 +0200)]
Merge commit 'ec9f04423b82afa323e90f5b2c677be74302c1fd'

* commit 'ec9f04423b82afa323e90f5b2c677be74302c1fd':
  ffv1: Error out on unsupported format

This commit is a noop, the feature is already present in FFmpeg.

Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2 years agofate: fix fate-vp8 dependencies
James Almer [Tue, 12 Jul 2016 19:50:30 +0000 (16:50 -0300)]
fate: fix fate-vp8 dependencies

Fix the demuxer dependencies in some of the tests and remove the vp8 decoder
dependency for the stream copy tests

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoMerge commit '105998fb5ca3c343f5c8cb39ce3197f87a5e4d36'
Matthieu Bouron [Wed, 13 Jul 2016 15:16:14 +0000 (17:16 +0200)]
Merge commit '105998fb5ca3c343f5c8cb39ce3197f87a5e4d36'

* commit '105998fb5ca3c343f5c8cb39ce3197f87a5e4d36':
  checkasm: Add tests for h264 idct

Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2 years agotests/checkasm: reduce cosmetic diff with libav
Matthieu Bouron [Wed, 13 Jul 2016 15:11:58 +0000 (17:11 +0200)]
tests/checkasm: reduce cosmetic diff with libav

Chunk was not merged in ca5ec2bf51d8c4f8bb0a829d0a65c70c968888a3.

2 years agoMerge commit '846a3e78a535f05ee61bb23a160f3378f041f751'
Matthieu Bouron [Wed, 13 Jul 2016 14:56:20 +0000 (16:56 +0200)]
Merge commit '846a3e78a535f05ee61bb23a160f3378f041f751'

* commit '846a3e78a535f05ee61bb23a160f3378f041f751':
  mov: Support prores with multiple stsd

Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2 years agoMerge commit '76729970049fe95659346503f7401a5d869f9959'
Matthieu Bouron [Wed, 13 Jul 2016 14:34:39 +0000 (16:34 +0200)]
Merge commit '76729970049fe95659346503f7401a5d869f9959'

* commit '76729970049fe95659346503f7401a5d869f9959':
  mov: Implement support for multiple sample description tables

Notes:
  * The sc->stsc_data[index].id checks have been moved from the mov_read_stsc
  to mov_read_packet before the value is used in mov_change_extradata to
  not break playback of samples with broken stsc entries (see sample of
  ticket #1918).

  * sc->stsc_index is now checked against sc->stsc_count - 1 before it
  is incremented so it remains lesser than sc->stsc_count. Fixes a crash
  with:

  ./ffmpeg -i matrixbench_mpeg2.mpg -t 1 -frag_duration 200k test.mov
  ./ffprobe -show_packets test.mov

Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2 years agolibavcodec/exr : cosmetics, rename variable in b44_uncompress func
Martin Vignali [Sun, 26 Jun 2016 20:27:37 +0000 (22:27 +0200)]
libavcodec/exr : cosmetics, rename variable in b44_uncompress func

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibvpx: Enable vp9 alpha encoding
Vignesh Venkatasubramanian [Thu, 30 Jun 2016 23:16:31 +0000 (16:16 -0700)]
libvpx: Enable vp9 alpha encoding

Chrome canary now supports decoding of VP9 streams with alpha
channel [1]. Add support to ffmpeg for creating such files.

[1] https://codereview.chromium.org/2096813002/

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
2 years agoaf_hdcd: don't log full HDCD stats if HDCD was not detected
Burt P [Tue, 12 Jul 2016 17:54:09 +0000 (12:54 -0500)]
af_hdcd: don't log full HDCD stats if HDCD was not detected

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaf_hdcd: integrate() renamed hdcd_integrate() to be consistent with the other functio...
Burt P [Tue, 12 Jul 2016 17:54:06 +0000 (12:54 -0500)]
af_hdcd: integrate() renamed hdcd_integrate() to be consistent with the other function names

Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/dirac_vlc: Fix avutil.h include
Michael Niedermayer [Tue, 12 Jul 2016 11:53:08 +0000 (13:53 +0200)]
avcodec/dirac_vlc: Fix avutil.h include

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavformat/oggenc: always use the time base stored in the theora header
James Almer [Tue, 12 Jul 2016 01:09:34 +0000 (22:09 -0300)]
avformat/oggenc: always use the time base stored in the theora header

Fixes ticket #5704

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/dirac_vlc: Fix mixed declaration and statements
Michael Niedermayer [Tue, 12 Jul 2016 10:48:54 +0000 (12:48 +0200)]
avcodec/dirac_vlc: Fix mixed declaration and statements

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodiracdec: fix #coeffs -> byte conversion
Rostislav Pehlivanov [Tue, 12 Jul 2016 09:44:24 +0000 (10:44 +0100)]
diracdec: fix #coeffs -> byte conversion

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodiracdsp_init: add missing ARCH_X86_64 check
Rostislav Pehlivanov [Mon, 11 Jul 2016 23:39:12 +0000 (00:39 +0100)]
diracdsp_init: add missing ARCH_X86_64 check

That SIMD is still x86_64 only for now.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodiracdec: do not memset the entire coefficient buffer for HQ pictures
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:07:04 +0000 (18:07 +0100)]
diracdec: do not memset the entire coefficient buffer for HQ pictures

This is now handled by the slice decoding function.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdec: do not allocate and free slice parameters every frame
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:07:02 +0000 (18:07 +0100)]
diracdec: do not allocate and free slice parameters every frame

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdec: implement a LUT-based Golomb code parser
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:07:01 +0000 (18:07 +0100)]
diracdec: implement a LUT-based Golomb code parser

Still much left to optimize, but it provides a significant performance
improvement - 10% for 300Mbps (1080p30), 25% for 1.5Gbps (4k 60fps) in
comparison with the default implementation.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdec: rewrite HQ slice decoding
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:07:00 +0000 (18:07 +0100)]
diracdec: rewrite HQ slice decoding

Now coefficients are written to a buffer and are then dequantized by the
new SIMD dequantization functions. For the lower bands without enough
coefficients to fill a register (and hence they overwrite) the C version
of the dequantization function is used.

The buffer is per-thread and will be realloc'd if anything changes.
This prevents regressions and having to limit slice size.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiractab: expose the maximum quantization index as a macro
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:06:59 +0000 (18:06 +0100)]
diractab: expose the maximum quantization index as a macro

Prevents having to have random magic values in the decoder and a
separate macro in the encoder.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdec: decode HQ profile slices in rows
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:06:58 +0000 (18:06 +0100)]
diracdec: decode HQ profile slices in rows

Siginificantly improves the performance.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdec: simplify golomb parsing and dequantization
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:06:57 +0000 (18:06 +0100)]
diracdec: simplify golomb parsing and dequantization

In preparation for the following commits, this commit simplifies the
coefficient parsing and dequantization function. It was needlessly
inlined without much performance gain.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdsp: add SIMD for the 10 bit version of put_signed_rect_clamped
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:06:55 +0000 (18:06 +0100)]
diracdsp: add SIMD for the 10 bit version of put_signed_rect_clamped

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agodiracdsp: add dequantization SIMD
Rostislav Pehlivanov [Thu, 23 Jun 2016 17:06:56 +0000 (18:06 +0100)]
diracdsp: add dequantization SIMD

Currently unused, to be used in the following commits.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
2 years agolavc/Makefile: Fix standalone compilation of the lame encoder.
Carl Eugen Hoyos [Mon, 11 Jul 2016 21:21:19 +0000 (23:21 +0200)]
lavc/Makefile: Fix standalone compilation of the lame encoder.

Also fix a possible issue with the mpegaudio audiotoolbox decoders.
Fixes ticket #5703.

2 years agoavformat/oggenc: make flac the default for oga muxer
James Almer [Wed, 6 Jul 2016 17:14:39 +0000 (14:14 -0300)]
avformat/oggenc: make flac the default for oga muxer

This allows simpler selection of flac in ogg from the command line,
while following the RFC 5334 recommendation[1] for the oga extension.

[1] https://tools.ietf.org/html/rfc5334#section-10.3

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoRevert "PPC64: Add versions of functions in libswscale/input.c optimized for POWER8...
Ronald S. Bultje [Mon, 11 Jul 2016 14:03:41 +0000 (10:03 -0400)]
Revert "PPC64: Add versions of functions in libswscale/input.c optimized for POWER8 VSX SIMD."

This reverts commit 1df908f33f658979b32599489ca6f1a39821013c. The expected
performance improvements are essentially non-existent.

2 years agovp9: add 16x16 idct avx2 (8-bit).
Ronald S. Bultje [Fri, 8 Jul 2016 21:51:56 +0000 (17:51 -0400)]
vp9: add 16x16 idct avx2 (8-bit).

checkasm --bench, 10k runs, for *_add_${bpc}_${sub_idct}_${opt}, shows
that it's about 1.65x as fast as the AVX version for the full IDCT, and
similar speedups for the sub-IDCTs:

nop: 24.6
vp9_inv_dct_dct_16x16_add_8_1_c: 6444.8
vp9_inv_dct_dct_16x16_add_8_1_sse2: 638.6
vp9_inv_dct_dct_16x16_add_8_1_ssse3: 484.4
vp9_inv_dct_dct_16x16_add_8_1_avx: 661.2
vp9_inv_dct_dct_16x16_add_8_1_avx2: 311.5
vp9_inv_dct_dct_16x16_add_8_2_c: 6665.7
vp9_inv_dct_dct_16x16_add_8_2_sse2: 646.9
vp9_inv_dct_dct_16x16_add_8_2_ssse3: 455.2
vp9_inv_dct_dct_16x16_add_8_2_avx: 521.9
vp9_inv_dct_dct_16x16_add_8_2_avx2: 304.3
vp9_inv_dct_dct_16x16_add_8_4_c: 7022.7
vp9_inv_dct_dct_16x16_add_8_4_sse2: 647.4
vp9_inv_dct_dct_16x16_add_8_4_ssse3: 467.1
vp9_inv_dct_dct_16x16_add_8_4_avx: 446.1
vp9_inv_dct_dct_16x16_add_8_4_avx2: 297.0
vp9_inv_dct_dct_16x16_add_8_8_c: 6800.4
vp9_inv_dct_dct_16x16_add_8_8_sse2: 598.6
vp9_inv_dct_dct_16x16_add_8_8_ssse3: 465.7
vp9_inv_dct_dct_16x16_add_8_8_avx: 440.9
vp9_inv_dct_dct_16x16_add_8_8_avx2: 290.2
vp9_inv_dct_dct_16x16_add_8_16_c: 6626.6
vp9_inv_dct_dct_16x16_add_8_16_sse2: 599.5
vp9_inv_dct_dct_16x16_add_8_16_ssse3: 475.0
vp9_inv_dct_dct_16x16_add_8_16_avx: 469.9
vp9_inv_dct_dct_16x16_add_8_16_avx2: 286.4

2 years agoavcodec/iff: Check that there are enough bytes in dgb before reading
Michael Niedermayer [Mon, 11 Jul 2016 12:48:03 +0000 (14:48 +0200)]
avcodec/iff: Check that there are enough bytes in dgb before reading

Fixes CID1361959

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/iff: remove useless ()
Michael Niedermayer [Mon, 11 Jul 2016 12:44:27 +0000 (14:44 +0200)]
avcodec/iff: remove useless ()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/mediacodecdec_h264: Fix occured typo
Michael Niedermayer [Mon, 11 Jul 2016 11:00:04 +0000 (13:00 +0200)]
avcodec/mediacodecdec_h264: Fix occured typo

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodoc/muxers: Fix Thisimproves typo
Michael Niedermayer [Mon, 11 Jul 2016 10:55:09 +0000 (12:55 +0200)]
doc/muxers: Fix Thisimproves typo

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoadd split_by_time flag for support splite mpegts segment at non-keyframe
Steven Liu [Wed, 6 Jul 2016 22:51:20 +0000 (06:51 +0800)]
add split_by_time flag for support splite mpegts segment at non-keyframe

support split hls segment at duration set by hls_time

Signed-off-by: LiuQi <liuqi@gosun.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/parseutils: dont assume standard time when parsing a timestamp
Marton Balint [Wed, 29 Jun 2016 20:37:25 +0000 (22:37 +0200)]
avutil/parseutils: dont assume standard time when parsing a timestamp

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2 years agoavcodec/h264_refs: Assert that op is 0-2
Michael Niedermayer [Sun, 10 Jul 2016 18:59:15 +0000 (20:59 +0200)]
avcodec/h264_refs: Assert that op is 0-2

Coverity fails to realize this

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoChanged metadata print option to accept general urls
Sami Hult [Fri, 8 Jul 2016 12:53:15 +0000 (12:53 +0000)]
Changed metadata print option to accept general urls

This is an - once again - updated patch, that uses avio_write instead
of avio_puts to stream clean text output without null characters. Works
now for me as intended.

Changes metadata filter to accept general urls as file argument without
breaking former behaviour. As a byproduct, it also allows for writing to
file "-" if specified as "file:-".

Example:

ffmpeg -i test.wav -filter_complex "silencedetect=n=-40dB:d=0.1,ametadata=mode=print:file='pipe\:4'" -f null

Signed-off-by: Sami Hult <sami.hult@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/vaapi_encode_h264: Use av_clip_uintp2()
Michael Niedermayer [Sun, 3 Jul 2016 20:41:20 +0000 (22:41 +0200)]
avcodec/vaapi_encode_h264: Use av_clip_uintp2()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoRevert "configure: Enable GCC vectorization on ≥4.9 on x86"
James Almer [Sat, 9 Jul 2016 19:00:06 +0000 (16:00 -0300)]
Revert "configure: Enable GCC vectorization on ≥4.9 on x86"

This reverts commit cb8646af24bd8e9627cc5e1c62b049a00fe0b07b.

This change has brough more issues than benefits, between compilation
time failures depending on flags used and code miscompilation causing
runtime crashes.

See the "[PATCH 2/2] configure: Enable GCC vectorization on ≥4.9"
thread in the ffmpeg-devel mailing list for the relevant discussion.

2 years agoRevert "Merge commit '187d719760bd130f848194ec4a6bd476341914bb'"
Clément Bœsch [Sat, 9 Jul 2016 13:54:59 +0000 (15:54 +0200)]
Revert "Merge commit '187d719760bd130f848194ec4a6bd476341914bb'"

This reverts commit c67aa7f287e791b2c02c0c6471336c8adc88020e, reversing
changes made to 46bd0e8e0dfb4b295e8fbe6854904eccb0cb5c82.

The merge should have been a noop as the support was added in
601c2388549ff395bc99383029e92c2219152af0

2 years agoMerge commit '187d719760bd130f848194ec4a6bd476341914bb'
Clément Bœsch [Sat, 9 Jul 2016 13:03:27 +0000 (15:03 +0200)]
Merge commit '187d719760bd130f848194ec4a6bd476341914bb'

* commit '187d719760bd130f848194ec4a6bd476341914bb':
  h264: Support AV_PKT_DATA_NEW_EXTRADATA

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '75872d77d215d64b8d9430df23c6c74ff921227b'
Clément Bœsch [Sat, 9 Jul 2016 12:55:39 +0000 (14:55 +0200)]
Merge commit '75872d77d215d64b8d9430df23c6c74ff921227b'

* commit '75872d77d215d64b8d9430df23c6c74ff921227b':
  lavc: Document AV_PKT_DATA_NEW_EXTRADATA

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'f1a9eee41c4b5ea35db9ff0088ce4e6f1e187f2c'
Clément Bœsch [Sat, 9 Jul 2016 12:52:23 +0000 (14:52 +0200)]
Merge commit 'f1a9eee41c4b5ea35db9ff0088ce4e6f1e187f2c'

* commit 'f1a9eee41c4b5ea35db9ff0088ce4e6f1e187f2c':
  x86: Add missing movsxd for the int stride parameter

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'a2ddfadc2d9e91cf70aa7430a7340b418bdb5b42'
Clément Bœsch [Sat, 9 Jul 2016 12:49:32 +0000 (14:49 +0200)]
Merge commit 'a2ddfadc2d9e91cf70aa7430a7340b418bdb5b42'

* commit 'a2ddfadc2d9e91cf70aa7430a7340b418bdb5b42':
  avdevice: Ignore timefilter test program

This commit is a noop, /timefilter entry was added in the original merge
(5d48e4eafa6c4559683892b8638d10508125f3cf)

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'd6c2c2796d8885e99fc90793cdd7937826f82fab'
Clément Bœsch [Sat, 9 Jul 2016 12:46:18 +0000 (14:46 +0200)]
Merge commit 'd6c2c2796d8885e99fc90793cdd7937826f82fab'

* commit 'd6c2c2796d8885e99fc90793cdd7937826f82fab':
  LICENSE: Fix silly typo

This commit is a noop, the typo disappeared when the whole paragraph was
reworked in 484aec4da3f729fca9d9f84a6b895a8f882554db.

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '84b2d3fb68caf71cff4b80b44ff865d7ae2531ce'
Clément Bœsch [Sat, 9 Jul 2016 12:45:12 +0000 (14:45 +0200)]
Merge commit '84b2d3fb68caf71cff4b80b44ff865d7ae2531ce'

* commit '84b2d3fb68caf71cff4b80b44ff865d7ae2531ce':
  h264: Drop unused function check_opcodes()

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '05a4bacbf7ece618553d339afe1d0b57bc87aea8'
Clément Bœsch [Sat, 9 Jul 2016 12:42:17 +0000 (14:42 +0200)]
Merge commit '05a4bacbf7ece618553d339afe1d0b57bc87aea8'

* commit '05a4bacbf7ece618553d339afe1d0b57bc87aea8':
  avpacket: Error out when creating 0-sized side data

This commit is a noop, see 5a633ec2dd453c67ff23819c28d98e6b09c47295

AV_PKT_DATA_METADATA_UPDATE can be zero sized in order to clear old
meta.

Note: maybe we could add a start or end marker.

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'bcc07e2576cb723007bea1238afd019ae2d1b005'
Clément Bœsch [Sat, 9 Jul 2016 12:21:01 +0000 (14:21 +0200)]
Merge commit 'bcc07e2576cb723007bea1238afd019ae2d1b005'

* commit 'bcc07e2576cb723007bea1238afd019ae2d1b005':
  pixdesc: Use C99 array to list color properties names

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit 'a833ff68f6bf9dc72c3ef0ddf830ebed743c0703'
Clément Bœsch [Sat, 9 Jul 2016 12:06:11 +0000 (14:06 +0200)]
Merge commit 'a833ff68f6bf9dc72c3ef0ddf830ebed743c0703'

* commit 'a833ff68f6bf9dc72c3ef0ddf830ebed743c0703':
  h264: Fix decoding delay for Intra only streams

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '90f469aa2b98a868cdbe35170c24272de10e1341'
Clément Bœsch [Sat, 9 Jul 2016 12:01:28 +0000 (14:01 +0200)]
Merge commit '90f469aa2b98a868cdbe35170c24272de10e1341'

* commit '90f469aa2b98a868cdbe35170c24272de10e1341':
  lavc: add H.264 MVC profiles

Merged-by: Clément Bœsch <u@pkh.me>
2 years agoMerge commit '61f168ae348f94f39e7afc6971654455a5de0e4d'
Clément Bœsch [Sat, 9 Jul 2016 11:50:16 +0000 (13:50 +0200)]
Merge commit '61f168ae348f94f39e7afc6971654455a5de0e4d'

* commit '61f168ae348f94f39e7afc6971654455a5de0e4d':
  h264: factor out setting the parameter sets for a frame

Michael's changes on top of the merge undo parts of the original diff
that are not factorization:

"The call point is left where it was before. Such a change should be in
a separate commit and has multiple issues, one being null pointer
dereferences the other is that some safety checks would become
conditional.

I tried to split the PPS init between the new and old functions
similarly to the SPS code."

Merged-by: Clément Bœsch <u@pkh.me>
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolavc: add mediacodec hwaccel support
Matthieu Bouron [Fri, 11 Mar 2016 16:21:04 +0000 (17:21 +0100)]
lavc: add mediacodec hwaccel support

2 years agoh2645_parse: don't overread AnnexB NALs within an avc stream
Hendrik Leppkes [Thu, 7 Jul 2016 18:19:51 +0000 (20:19 +0200)]
h2645_parse: don't overread AnnexB NALs within an avc stream

We know the maximum size of an AnnexB NAL, signaling it as the maximum
NAL size allows ff_h2645_extract_rbsp to determine the correct size.

2 years agoh2645_parse: only read avc length code at the correct position
Hendrik Leppkes [Thu, 7 Jul 2016 18:18:26 +0000 (20:18 +0200)]
h2645_parse: only read avc length code at the correct position

Reading it from any other position would result in a wrong size being
read, instead fallback to the re-sync mechanic in the else clause.

2 years agoavcodec/exr: Fix mixed declarations and statements
Michael Niedermayer [Thu, 7 Jul 2016 12:41:05 +0000 (14:41 +0200)]
avcodec/exr: Fix mixed declarations and statements

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavcodec/exr : indent gray support patch
Martin Vignali [Mon, 27 Jun 2016 21:57:06 +0000 (23:57 +0200)]
libavcodec/exr : indent gray support patch

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavodec/exr : add support for Y and YA file (ticket #5621)
Martin Vignali [Mon, 27 Jun 2016 21:52:39 +0000 (23:52 +0200)]
libavodec/exr : add support for Y and YA file (ticket #5621)

a gray channel in exr, is named Y
we admit that the file need to be interpreted as gray
only if no other channel match (except alpha)

to manage RGB and Y in the color conversion part of decode_block,
the color processing is now made with a for loop.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavfilter/af_hdcd.c: Collect HDCD stats and report
Burt P [Tue, 5 Jul 2016 17:23:33 +0000 (12:23 -0500)]
libavfilter/af_hdcd.c: Collect HDCD stats and report

The new HDCD filter really does nothing to show that it is working or
that HDCD control information was even detected in the stream. This
patch collects information about the decode, like which features were
used, and reports it to the user at the end.

Also,
* Fixes low-level gain adjustment
* Updates the documentation

Signed-off-by: Burt P <pburt0@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>