ffmpeg.git
3 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>
3 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>
3 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>
3 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.

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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.

3 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>
3 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.

3 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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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.

3 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

3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 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>
3 years agolavc: add mediacodec hwaccel support
Matthieu Bouron [Fri, 11 Mar 2016 16:21:04 +0000 (17:21 +0100)]
lavc: add mediacodec hwaccel support

3 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.

3 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.

3 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>
3 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>
3 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>
3 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>
3 years agolavc/libx265: Support gray encoding.
Carl Eugen Hoyos [Wed, 6 Jul 2016 16:56:19 +0000 (18:56 +0200)]
lavc/libx265: Support gray encoding.

Gray encoding crashes with libx265 <= 84, so check the library version.

3 years agolavc/mediacodecdec_h264: properly convert extradata to annex-b
Matthieu Bouron [Sun, 3 Jul 2016 15:34:51 +0000 (17:34 +0200)]
lavc/mediacodecdec_h264: properly convert extradata to annex-b

H264ParamSets has its SPS/PPS stored raw (SODB) and needs to be
converted to NAL units before sending them to MediaCodec.

This patch adds the missing convertion of the SPS/PPS from SOBP to RBSP
which makes the resulting NAL units correct.

Fixes codec initialization on Nexus 4 and Nexus 7.

3 years agoavcodec/iff: Print error for cols/bpp/bytes being bad in decode_delta_j()
Michael Niedermayer [Wed, 6 Jul 2016 08:50:22 +0000 (10:50 +0200)]
avcodec/iff: Print error for cols/bpp/bytes being bad in decode_delta_j()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/iff: decode_delta_j: Check that the number of bytes that will be read are...
Michael Niedermayer [Wed, 6 Jul 2016 08:43:46 +0000 (10:43 +0200)]
avcodec/iff: decode_delta_j: Check that the number of bytes that will be read are available

This should avoid long loops
related to CID1361958

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agofate: add test for asetrate
Petru Rares Sincraian [Mon, 4 Jul 2016 15:51:54 +0000 (17:51 +0200)]
fate: add test for asetrate

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavc/mjpeg_parser: Allow jpegls parsing.
Carl Eugen Hoyos [Tue, 5 Jul 2016 21:48:22 +0000 (23:48 +0200)]
lavc/mjpeg_parser: Allow jpegls parsing.

Fixes ticket #5691.

3 years agox86/dcadsp: optimize lfe_fir0_float_fma3 on x86_32
James Almer [Sun, 3 Jul 2016 21:48:22 +0000 (18:48 -0300)]
x86/dcadsp: optimize lfe_fir0_float_fma3 on x86_32

About 10% faster.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoAdded Quadrox format
smitbose [Mon, 4 Jul 2016 00:43:50 +0000 (06:13 +0530)]
Added Quadrox format

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agofate/apng : add test for apng decoding
Martin Vignali [Sat, 2 Jul 2016 15:48:45 +0000 (17:48 +0200)]
fate/apng : add test for apng decoding

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agofate/png : add test for rgba64 and interleaved rgb
Martin Vignali [Sat, 2 Jul 2016 13:18:45 +0000 (15:18 +0200)]
fate/png : add test for rgba64 and interleaved rgb

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/vf_rotate: add >8 bit depth support
Paul B Mahol [Fri, 24 Jun 2016 18:16:22 +0000 (20:16 +0200)]
avfilter/vf_rotate: add >8 bit depth support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 years agoconfigure: disable the new optimizer in Visual Studio 2015 Update 3
Hendrik Leppkes [Tue, 28 Jun 2016 09:48:29 +0000 (11:48 +0200)]
configure: disable the new optimizer in Visual Studio 2015 Update 3

Visual Studio 2015 Update 3 introduced a new SSA optimizer, however
it unfortunately causes miscompilations. Until it is fixed, the new
optimizations are disabled and should be re-checked on subsequent
compiler releases.

Fixes recent FATE failure of fate-lavf-pam on VS2015.

3 years agoavcodec: add missing xmm/neon clobber test wrappers for the new decode API
James Almer [Sun, 3 Jul 2016 19:43:08 +0000 (16:43 -0300)]
avcodec: add missing xmm/neon clobber test wrappers for the new decode API

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
3 years agolavc/h264_slice: use sps directly when checking for invalid 8x8 inference
Clément Bœsch [Sat, 2 Jul 2016 17:22:34 +0000 (19:22 +0200)]
lavc/h264_slice: use sps directly when checking for invalid 8x8 inference

3 years agolavf/aiffdec: Support QDMC demuxing.
Carl Eugen Hoyos [Sun, 3 Jul 2016 02:37:48 +0000 (04:37 +0200)]
lavf/aiffdec: Support QDMC demuxing.

3 years agolibopusenc: Add channel mapping family argument
Michael Graczyk [Wed, 15 Jun 2016 01:33:15 +0000 (18:33 -0700)]
libopusenc: Add channel mapping family argument

The default value of -1 indicates that ffmpeg should determine the channel
mapping automatically, which was the behavior before this commit.

Unless the -mapping_family argument is provided, behavior is unchanged.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolibopusenc: Refactor to simplify forthcoming mapping_family parameter
Michael Graczyk [Wed, 15 Jun 2016 01:30:36 +0000 (18:30 -0700)]
libopusenc: Refactor to simplify forthcoming mapping_family parameter

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agotests/checkasm/pixblockdsp: Test 8 byte aligned positions
Michael Niedermayer [Mon, 27 Jun 2016 20:03:14 +0000 (22:03 +0200)]
tests/checkasm/pixblockdsp: Test 8 byte aligned positions

The code is documented as to require 8byte alignment

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agotests/fate: Add test for ticket 3386 ([H264] [Regression] illegal short term buffer...
Michael Niedermayer [Fri, 1 Jul 2016 17:23:27 +0000 (19:23 +0200)]
tests/fate: Add test for ticket 3386 ([H264] [Regression] illegal short term buffer state detected)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/h264_parser: Set sps/pps_ref
Michael Niedermayer [Sat, 2 Jul 2016 01:06:27 +0000 (03:06 +0200)]
avcodec/h264_parser: Set sps/pps_ref

Fixes use of freed memory
Should fix valgrind failures of fate-h264-skip-nointra

Found-by: logan
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/h264_slice: Only call ff_h264_flush_change() on initialized contexts
James Almer [Fri, 1 Jul 2016 18:59:41 +0000 (20:59 +0200)]
avcodec/h264_slice: Only call ff_h264_flush_change() on initialized contexts

Changed by committer to ensure context_initialized is reset
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agofate/webp : add test for lossless picture to improve cover
Martin Vignali [Wed, 29 Jun 2016 10:41:11 +0000 (12:41 +0200)]
fate/webp : add test for lossless picture to improve cover

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoMerge commit '6e92181bf836f48627a4733b6fd240a99fd36365'
Clément Bœsch [Fri, 1 Jul 2016 12:23:38 +0000 (14:23 +0200)]
Merge commit '6e92181bf836f48627a4733b6fd240a99fd36365'

* commit '6e92181bf836f48627a4733b6fd240a99fd36365':
  h264: pass just the PPS to get_chroma_qp()

Merged-by: Clément Bœsch <clement@stupeflix.com>
3 years agoMerge commit 'd1f539c97e04e7cebecaf6916c5064f243d39fcf'
Clément Bœsch [Fri, 1 Jul 2016 12:17:56 +0000 (14:17 +0200)]
Merge commit 'd1f539c97e04e7cebecaf6916c5064f243d39fcf'

* commit 'd1f539c97e04e7cebecaf6916c5064f243d39fcf':
  h264: merge the two reinit blocks in slice_header_parse()

Merged-by: Clément Bœsch <clement@stupeflix.com>
3 years agoMerge commit '3fba16ecd978d5bed338b8da643c3435e62b3437'
Clément Bœsch [Fri, 1 Jul 2016 12:02:00 +0000 (14:02 +0200)]
Merge commit '3fba16ecd978d5bed338b8da643c3435e62b3437'

* commit '3fba16ecd978d5bed338b8da643c3435e62b3437':
  h264: factor starting a new field out of parsing the slice header

Merged-by: Clément Bœsch <clement@stupeflix.com>
3 years agodoc/APIchanges: fill in missing git hash
Michael Niedermayer [Fri, 1 Jul 2016 00:42:03 +0000 (02:42 +0200)]
doc/APIchanges: fill in missing git hash

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agodoc/APIchanges: document the lavu/lavf field moves
Michael Niedermayer [Thu, 30 Jun 2016 16:12:41 +0000 (18:12 +0200)]
doc/APIchanges: document the lavu/lavf field moves

Based-on: patch by James Almer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/avformat: Move new field to the end of AVStream
Michael Niedermayer [Thu, 30 Jun 2016 12:02:26 +0000 (14:02 +0200)]
avformat/avformat: Move new field to the end of AVStream

This fixes part of Ticket5676
This fixes kodi, mpv, chromium and ffplay build against 3.0 and linked to 3.1

This is a similar ABI fix to 1eb43af1a0e542ad83dcbf327197785d815fc42d

Approved-by: BBB
Approved-by: jamrial
Approved-by: BtbN
Approved-by: nevcairiel
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/utils: update deprecated AVStream->codec when the context is updated
Hendrik Leppkes [Thu, 30 Jun 2016 12:10:42 +0000 (14:10 +0200)]
avformat/utils: update deprecated AVStream->codec when the context is updated

This ensures the AVStream->codec entry is kept in sync when new streams are
discovered mid-playback or changes to the context occur from other sources.

Fixes trac 5678.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavutil/frame: Move new field to the end of AVFrame
Michael Niedermayer [Thu, 30 Jun 2016 12:02:27 +0000 (14:02 +0200)]
avutil/frame: Move new field to the end of AVFrame

This fixes part of Ticket5676
This fixes kodi, mpv, chromium and ffplay build against 3.0 and linked to 3.1

This is a similar ABI fix to 1eb43af1a0e542ad83dcbf327197785d815fc42d

Approved-by: BBB
Approved-by: jamrial
Approved-by: BtbN
Approved-by: nevcairiel
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolibavcodec/exr : fix decoding piz float file.
Martin Vignali [Tue, 28 Jun 2016 11:23:43 +0000 (13:23 +0200)]
libavcodec/exr : fix decoding piz float file.

fix ticket #5674

the size of data to process in piz_uncompress, is now calc
using the pixel type of each channel.

the data reorganization, alos take care about the size of
each channel

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoPPC64: Add versions of functions in libswscale/input.c optimized for POWER8 VSX SIMD.
Dan Parrot [Wed, 29 Jun 2016 16:15:12 +0000 (16:15 +0000)]
PPC64: Add versions of functions in libswscale/input.c optimized for POWER8 VSX SIMD.

This patch addresses Trac ticket #5570. The optimized functions are in file
libswscale/ppc/input_vsx.c. Each optimized function name is a concatenation of the
corresponding name in libswscale/input.c with suffix _vsx.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/mov: Skip non-key frames if AVDISCARD_NONKEY is set.
Vadim Kalinsky [Tue, 28 Jun 2016 18:09:46 +0000 (14:09 -0400)]
avformat/mov: Skip non-key frames if AVDISCARD_NONKEY is set.

Github: Closes #222

3 years agoMerge commit 'bec993381cfec72051b0d9f12ac9d9bb9c750983'
Clément Bœsch [Thu, 30 Jun 2016 08:24:03 +0000 (10:24 +0200)]
Merge commit 'bec993381cfec72051b0d9f12ac9d9bb9c750983'

* commit 'bec993381cfec72051b0d9f12ac9d9bb9c750983':
  h264: postpone generating the implicit MMCOs

Merged-by: Clément Bœsch <clement@stupeflix.com>
3 years agoMerge commit '2d410ebbaa1e760d6837cb434a6d1d4c3c6f0d85'
Clément Bœsch [Thu, 30 Jun 2016 08:15:51 +0000 (10:15 +0200)]
Merge commit '2d410ebbaa1e760d6837cb434a6d1d4c3c6f0d85'

* commit '2d410ebbaa1e760d6837cb434a6d1d4c3c6f0d85':
  h264: decode the MMCOs into per-slice contexts

Merged-by: Clément Bœsch <clement@stupeflix.com>
3 years agoh264: make H264ParamSets sps const
Benoit Fouet [Tue, 21 Jun 2016 12:17:13 +0000 (14:17 +0200)]
h264: make H264ParamSets sps const

3 years agoh264: straighten dimensions check ff_h264_decode_seq_parameter_set
Benoit Fouet [Mon, 27 Jun 2016 11:31:21 +0000 (13:31 +0200)]
h264: straighten dimensions check ff_h264_decode_seq_parameter_set

The MBS only flag was not taken into account when checking macroblock dimensions.
Also removes the unneeded check in init_dimensions for slices.

3 years agoh264_ps: change decode_scaling_matrices so that it takes const {s,p}ps
Benoit Fouet [Mon, 27 Jun 2016 10:00:39 +0000 (12:00 +0200)]
h264_ps: change decode_scaling_matrices so that it takes const {s,p}ps

In order to be able to make SPS const in H264ParamSets,
modify decode_scaling_matrices so that it returns if the scaling
matrix are present in the SPS, instead of altering the input SPS
structure.

3 years agoMerge commit '39ab2ea53121b9976a619cd545fbd3464b908696'
Clément Bœsch [Wed, 29 Jun 2016 18:07:52 +0000 (20:07 +0200)]
Merge commit '39ab2ea53121b9976a619cd545fbd3464b908696'

* commit '39ab2ea53121b9976a619cd545fbd3464b908696':
  h264: rename mmco_index to nb_mmco

Merged-by: Clément Bœsch <u@pkh.me>
3 years agoMerge commit '7ab5d577a9affe3397c08b032f983f9bf7101865'
Clément Bœsch [Wed, 29 Jun 2016 18:04:23 +0000 (20:04 +0200)]
Merge commit '7ab5d577a9affe3397c08b032f983f9bf7101865'

* commit '7ab5d577a9affe3397c08b032f983f9bf7101865':
  h264: move initializing the slice start out of h264_slice_header_parse()

Merged-by: Clément Bœsch <u@pkh.me>
3 years agofate: add test for asetnsamples
Petru Rares Sincraian [Wed, 29 Jun 2016 14:26:19 +0000 (16:26 +0200)]
fate: add test for asetnsamples

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavfi: Move new field to the end of AVFilterContext
Timo Rothenpieler [Wed, 29 Jun 2016 09:44:24 +0000 (11:44 +0200)]
lavfi: Move new field to the end of AVFilterContext

This fixes an accidental ABI break introduced at 8688d3a.

3 years agoMerge commit '4cec43a9eeb58eb9e581a2d9d25f78e5bfbb0960'
Clément Bœsch [Wed, 29 Jun 2016 15:59:57 +0000 (17:59 +0200)]
Merge commit '4cec43a9eeb58eb9e581a2d9d25f78e5bfbb0960'

* commit '4cec43a9eeb58eb9e581a2d9d25f78e5bfbb0960':
  h264: move calculating the POC out of h264_slice_header_parse()

Merged-by: Clément Bœsch <clement@stupeflix.com>