ffmpeg.git
2 years agoffmpeg: pass output stream duration as a hint to the muxer
Tobias Rapp [Wed, 18 Jan 2017 09:27:01 +0000 (10:27 +0100)]
ffmpeg: pass output stream duration as a hint to the muxer

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/wmaprodec: >2 channel support for XMA
Paul B Mahol [Tue, 17 Jan 2017 14:54:57 +0000 (15:54 +0100)]
avcodec/wmaprodec: >2 channel support for XMA

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavfilter:vf_drawtext: add new line space size set parameter
Steven Liu [Wed, 18 Jan 2017 23:09:22 +0000 (07:09 +0800)]
avfilter:vf_drawtext: add new line space size set parameter

add line_spacing parameter to set the space between two lines

Based on an idea by: Leandro Santiago <leandrosansilva@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/hlsenc: fix bug of hlsenc http delete old segments
Steven Liu [Wed, 18 Jan 2017 23:06:50 +0000 (07:06 +0800)]
avformat/hlsenc: fix bug of hlsenc http delete old segments

when push hls to http server, the old segemnts can not delete by hls formats.
so add the http option into hls_delete_old_segments

Reported-by: Yin Jiaoyuan <yinjiaoyuan@163.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agolavc/h264dec: remove flush goto in decode callback
Clément Bœsch [Tue, 17 Jan 2017 09:50:01 +0000 (10:50 +0100)]
lavc/h264dec: remove flush goto in decode callback

2 years agoavformat/hlsenc: remove debug message used error level log
Steven Liu [Wed, 18 Jan 2017 15:18:41 +0000 (23:18 +0800)]
avformat/hlsenc: remove debug message used error level log

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agohwcontext_vdpau: Fix missing subscripts
Mark Thompson [Tue, 13 Sep 2016 19:45:55 +0000 (20:45 +0100)]
hwcontext_vdpau: Fix missing subscripts

Also remove the redundant casts which were hiding the error here.

(cherry picked from commit 7081620aca36e616ea96f71fd71d2703e3abae09)

2 years agolavc: Remove old vaapi decode infrastructure
Mark Thompson [Wed, 24 Aug 2016 22:30:29 +0000 (23:30 +0100)]
lavc: Remove old vaapi decode infrastructure

Deprecates struct vaapi_context and the installed header vaapi.h,
to be removed at the next version bump.

(cherry picked from commit 851960f6f8cf1f946fe42fa36cf6598fac68072c)

2 years agoffmpeg_vaapi: Convert to use hw_frames_ctx only
Mark Thompson [Sun, 31 Jul 2016 21:51:45 +0000 (22:51 +0100)]
ffmpeg_vaapi: Convert to use hw_frames_ctx only

Most of the functionality here has moved into lavc.

(cherry picked from commit 3e8651a7ccd8e89cc2f162cf614a3c9f7f4d9fcf)

2 years agovaapi_vp9: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sun, 8 Jan 2017 15:44:01 +0000 (15:44 +0000)]
vaapi_vp9: Convert to use the new VAAPI hwaccel code

2 years agovaapi_hevc: Convert to use the new VAAPI hwaccel code
Anton Khirnov [Sun, 2 Oct 2016 06:51:32 +0000 (08:51 +0200)]
vaapi_hevc: Convert to use the new VAAPI hwaccel code

(cherry picked from commit ea8b730d8e67152107d7fcdd5590bbb51ec236b1)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 years agovaapi_mpeg4: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sun, 7 Aug 2016 12:45:41 +0000 (13:45 +0100)]
vaapi_mpeg4: Convert to use the new VAAPI hwaccel code

(cherry picked from commit ccd0316f7cab760a93052206e8150f6b178c1e39)

2 years agovaapi_vc1: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 21:12:50 +0000 (22:12 +0100)]
vaapi_vc1: Convert to use the new VAAPI hwaccel code

(cherry picked from commit 520fb77285ff0e7da1449d2b60742865b0b43ae8)

2 years agovaapi_mpeg2: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 17:37:47 +0000 (18:37 +0100)]
vaapi_mpeg2: Convert to use the new VAAPI hwaccel code

(cherry picked from commit 102e13c353de43aa0cb1aa1843804d195c2a9164)

2 years agovaapi_h264: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 17:19:32 +0000 (18:19 +0100)]
vaapi_h264: Convert to use the new VAAPI hwaccel code

(cherry picked from commit 2fe93244ab9465ef19c756a41524cbbf0580ee48)

2 years agolavc: Rewrite VAAPI decode infrastructure
Mark Thompson [Sat, 6 Aug 2016 17:18:40 +0000 (18:18 +0100)]
lavc: Rewrite VAAPI decode infrastructure

Moves much of the setup logic for VAAPI decoding into lavc; the user
now need only provide the hw_frames_ctx.

(cherry picked from commit 123ccd07c55ccf075cc5daf5581237fbccb86bdb)
(cherry picked from commit 5e879b54a3a46817ea6c8a95a9aecab1176418b9)
(cherry picked from commit 0aec37e625821040c103641eec9c1e7a1efa2952)
(cherry picked from commit cfa4eb4fba782f3f37a33be997b27a91a07053c9)

2 years agovaapi_vc1: Remove redundant version check
Mark Thompson [Sat, 6 Aug 2016 20:35:13 +0000 (21:35 +0100)]
vaapi_vc1: Remove redundant version check

The lowest supported VAAPI version is 0.34 (checked at configure
time), so this test is no longer needed.

(cherry picked from commit 5a667322f5cb0e77c15891fc06725c19d8f3314f)

2 years agovaapi_vc1: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 20:34:04 +0000 (21:34 +0100)]
vaapi_vc1: Constify pointers

(cherry picked from commit 01d6f84f49a55fd591aa120960fce2b9dba92d0d)

2 years agovaapi_mpeg2: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 15:40:14 +0000 (16:40 +0100)]
vaapi_mpeg2: Constify pointers

(cherry picked from commit ee9061293e925916fe2e0b7c08fbbd1f981b1d29)

2 years agovaapi_h264: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 15:39:57 +0000 (16:39 +0100)]
vaapi_h264: Constify pointers

(cherry picked from commit 03adfe913062c6995136eb1ca51152b6d596c0f4)

2 years agolibavformat/mpegtsenc: support hevc with missing in stream headers like h.264
Michael Niedermayer [Sun, 15 Jan 2017 21:24:24 +0000 (22:24 +0100)]
libavformat/mpegtsenc: support hevc with missing in stream headers like h.264

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoconfigure: Don't disable SSA Optimizer on MSVC v19.00.24218+.
Kacper Michajłow [Thu, 12 Jan 2017 00:02:23 +0000 (01:02 +0100)]
configure: Don't disable SSA Optimizer on MSVC v19.00.24218+.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoMerge commit 'f450cc7bc595155bacdb9f5d2414a076ccf81b4a'
Matthieu Bouron [Mon, 16 Jan 2017 10:33:47 +0000 (11:33 +0100)]
Merge commit 'f450cc7bc595155bacdb9f5d2414a076ccf81b4a'

* commit 'f450cc7bc595155bacdb9f5d2414a076ccf81b4a':
  h264: eliminate decode_postinit()

Also includes fixes from 1f7b4f9abc and e344e65109.

Original patch replace H264Context.next_output_pic (H264Picture *) by
H264Context.output_frame (AVFrame *). This change is discarded as it
is incompatible with the frame reconstruction and motion vectors
display code which needs the extra information from the H264Picture.

Merged-by: Clément Bœsch <u@pkh.me>
Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2 years agoavutil/tests: add aes_ctr, audio_fifo and imgutils to .gitignore
Matthieu Bouron [Mon, 16 Jan 2017 10:41:34 +0000 (11:41 +0100)]
avutil/tests: add aes_ctr, audio_fifo and imgutils to .gitignore

2 years agoconfigure: Fix standalone compilation of aiff and caf muxers.
Carl Eugen Hoyos [Mon, 16 Jan 2017 11:03:21 +0000 (12:03 +0100)]
configure: Fix standalone compilation of aiff and caf muxers.

2 years agolavc/h264dec: reconstruct and debug flush frames as well
Clément Bœsch [Fri, 13 Jan 2017 10:18:10 +0000 (11:18 +0100)]
lavc/h264dec: reconstruct and debug flush frames as well

2 years agolavc/h264_slice: drop redundant current_slice reset
Clément Bœsch [Wed, 11 Jan 2017 16:12:37 +0000 (17:12 +0100)]
lavc/h264_slice: drop redundant current_slice reset

It is done unconditionally in ff_h264_field_end()

2 years agolavc/pthread_frame: protect read state access in setup finish function
Clément Bœsch [Wed, 11 Jan 2017 16:10:07 +0000 (17:10 +0100)]
lavc/pthread_frame: protect read state access in setup finish function

2 years agoavformat/aadec: use avio_get_str()
Paul B Mahol [Mon, 16 Jan 2017 09:07:14 +0000 (10:07 +0100)]
avformat/aadec: use avio_get_str()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavformat/aadec: stop ignoring file metadata
Paul B Mahol [Mon, 16 Jan 2017 09:03:54 +0000 (10:03 +0100)]
avformat/aadec: stop ignoring file metadata

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoavcodec: add SIPR parser
Paul B Mahol [Sat, 14 Jan 2017 14:55:27 +0000 (15:55 +0100)]
avcodec: add SIPR parser

Fixes #2056.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agodxva2: allow an empty array of ID3D11VideoDecoderOutputView
Steve Lhomme [Fri, 13 Jan 2017 13:01:07 +0000 (14:01 +0100)]
dxva2: allow an empty array of ID3D11VideoDecoderOutputView

We can pick the correct slice index directly from the ID3D11VideoDecoderOutputView
casted from data[3].

Also added myself as maintainer for DXVA2 and D3D11VA.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodxva2: get the slice number directly from the surface in D3D11VA
Steve Lhomme [Fri, 13 Jan 2017 13:01:06 +0000 (14:01 +0100)]
dxva2: get the slice number directly from the surface in D3D11VA

No need to loop through the known surfaces, we'll use the requested surface
anyway.

The loop is only done for DXVA2.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodxva2: use a single macro to test if the DXVA context is valid
Steve Lhomme [Fri, 13 Jan 2017 13:01:05 +0000 (14:01 +0100)]
dxva2: use a single macro to test if the DXVA context is valid

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibopenmpt: add missing avio_read return value check
Andreas Cadhalpun [Sun, 1 Jan 2017 19:27:50 +0000 (20:27 +0100)]
libopenmpt: add missing avio_read return value check

This fixes heap-buffer-overflows in libopenmpt caused by interpreting
the negative size value as unsigned size_t.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agodcaenc: Implementation of Huffman codes for DCA encoder
Daniil Cherednik [Sat, 7 Jan 2017 12:18:32 +0000 (15:18 +0300)]
dcaenc: Implementation of Huffman codes for DCA encoder

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agodcaenc: Reverse data layout to prevent data copies during Huffman encoding introduction
Daniil Cherednik [Thu, 5 Jan 2017 23:07:54 +0000 (02:07 +0300)]
dcaenc: Reverse data layout to prevent data copies during Huffman encoding introduction

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2 years agomatroskaenc: remove unofficial compliance on color information
Rostislav Pehlivanov [Sun, 15 Jan 2017 13:56:53 +0000 (13:56 +0000)]
matroskaenc: remove unofficial compliance on color information

When support for this was added the details weren't yet finalized.
This is no longer the case.
Fixes writing of mkv/webm files with HDR.

Reported-by: Kagami Hiiragi <kagami@genshiken.org>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
2 years agoaarch64: vp9mc: Fix a comment to refer to a register with the right name
Martin Storsjö [Mon, 9 Jan 2017 22:15:19 +0000 (00:15 +0200)]
aarch64: vp9mc: Fix a comment to refer to a register with the right name

This is cherrypicked from libav commit
85ad5ea72ce3983947a3b07e4b35c66cb16dfaba.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: vp9dsp: Fix vertical alignment in the init file
Martin Storsjö [Mon, 9 Jan 2017 22:15:18 +0000 (00:15 +0200)]
aarch64: vp9dsp: Fix vertical alignment in the init file

This is cherrypicked from libav commit
65074791e8f8397600aacc9801efdd17777eb6e3.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoarm: vp9mc: Fix vertical alignment of operands
Martin Storsjö [Mon, 9 Jan 2017 22:15:17 +0000 (00:15 +0200)]
arm: vp9mc: Fix vertical alignment of operands

This is cherrypicked from libav commit
c536e5e8698110c139b1c17938998a5547550aa3.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32
Martin Storsjö [Mon, 9 Jan 2017 22:15:16 +0000 (00:15 +0200)]
aarch64: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32

This work is sponsored by, and copyright, Google.

Previously all subpartitions except the eob=1 (DC) case ran with
the same runtime:

vp9_inv_dct_dct_16x16_sub16_add_neon:   1373.2
vp9_inv_dct_dct_32x32_sub32_add_neon:   8089.0

By skipping individual 8x16 or 8x32 pixel slices in the first pass,
we reduce the runtime of these functions like this:

vp9_inv_dct_dct_16x16_sub1_add_neon:     235.3
vp9_inv_dct_dct_16x16_sub2_add_neon:    1036.7
vp9_inv_dct_dct_16x16_sub4_add_neon:    1036.7
vp9_inv_dct_dct_16x16_sub8_add_neon:    1036.7
vp9_inv_dct_dct_16x16_sub12_add_neon:   1372.1
vp9_inv_dct_dct_16x16_sub16_add_neon:   1372.1
vp9_inv_dct_dct_32x32_sub1_add_neon:     555.1
vp9_inv_dct_dct_32x32_sub2_add_neon:    5190.2
vp9_inv_dct_dct_32x32_sub4_add_neon:    5180.0
vp9_inv_dct_dct_32x32_sub8_add_neon:    5183.1
vp9_inv_dct_dct_32x32_sub12_add_neon:   6161.5
vp9_inv_dct_dct_32x32_sub16_add_neon:   6155.5
vp9_inv_dct_dct_32x32_sub20_add_neon:   7136.3
vp9_inv_dct_dct_32x32_sub24_add_neon:   7128.4
vp9_inv_dct_dct_32x32_sub28_add_neon:   8098.9
vp9_inv_dct_dct_32x32_sub32_add_neon:   8098.8

I.e. in general a very minor overhead for the full subpartition case due
to the additional cmps, but a significant speedup for the cases when we
only need to process a small part of the actual input data.

This is cherrypicked from libav commits
cad42fadcd2c2ae1b3676bb398844a1f521a2d7b and
a0c443a3980dc22eb02b067ac4cb9ffa2f9b04d2.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoarm: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32
Martin Storsjö [Mon, 9 Jan 2017 22:15:15 +0000 (00:15 +0200)]
arm: vp9itxfm: Skip empty slices in the first pass of idct_idct 16x16 and 32x32

This work is sponsored by, and copyright, Google.

Previously all subpartitions except the eob=1 (DC) case ran with
the same runtime:

                                     Cortex A7       A8       A9      A53
vp9_inv_dct_dct_16x16_sub16_add_neon:   3188.1   2435.4   2499.0   1969.0
vp9_inv_dct_dct_32x32_sub32_add_neon:  18531.7  16582.3  14207.6  12000.3

By skipping individual 4x16 or 4x32 pixel slices in the first pass,
we reduce the runtime of these functions like this:

vp9_inv_dct_dct_16x16_sub1_add_neon:     274.6    189.5    211.7    235.8
vp9_inv_dct_dct_16x16_sub2_add_neon:    2064.0   1534.8   1719.4   1248.7
vp9_inv_dct_dct_16x16_sub4_add_neon:    2135.0   1477.2   1736.3   1249.5
vp9_inv_dct_dct_16x16_sub8_add_neon:    2446.7   1828.7   1993.6   1494.7
vp9_inv_dct_dct_16x16_sub12_add_neon:   2832.4   2118.3   2266.5   1735.1
vp9_inv_dct_dct_16x16_sub16_add_neon:   3211.7   2475.3   2523.5   1983.1
vp9_inv_dct_dct_32x32_sub1_add_neon:     756.2    456.7    862.0    553.9
vp9_inv_dct_dct_32x32_sub2_add_neon:   10682.2   8190.4   8539.2   6762.5
vp9_inv_dct_dct_32x32_sub4_add_neon:   10813.5   8014.9   8518.3   6762.8
vp9_inv_dct_dct_32x32_sub8_add_neon:   11859.6   9313.0   9347.4   7514.5
vp9_inv_dct_dct_32x32_sub12_add_neon:  12946.6  10752.4  10192.2   8280.2
vp9_inv_dct_dct_32x32_sub16_add_neon:  14074.6  11946.5  11001.4   9008.6
vp9_inv_dct_dct_32x32_sub20_add_neon:  15269.9  13662.7  11816.1   9762.6
vp9_inv_dct_dct_32x32_sub24_add_neon:  16327.9  14940.1  12626.7  10516.0
vp9_inv_dct_dct_32x32_sub28_add_neon:  17462.7  15776.1  13446.2  11264.7
vp9_inv_dct_dct_32x32_sub32_add_neon:  18575.5  17157.0  14249.3  12015.1

I.e. in general a very minor overhead for the full subpartition case due
to the additional loads and cmps, but a significant speedup for the cases
when we only need to process a small part of the actual input data.

In common VP9 content in a few inspected clips, 70-90% of the non-dc-only
16x16 and 32x32 IDCTs only have nonzero coefficients in the upper left
8x8 or 16x16 subpartitions respectively.

This is cherrypicked from libav commit
9c8bc74c2b40537b0997f646c87c008042d788c2.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoarm: vp9itxfm: Only reload the idct coeffs for the iadst_idct combination
Martin Storsjö [Mon, 9 Jan 2017 22:15:14 +0000 (00:15 +0200)]
arm: vp9itxfm: Only reload the idct coeffs for the iadst_idct combination

This avoids reloading them if they haven't been clobbered, if the
first pass also was idct.

This is similar to what was done in the aarch64 version.

This is cherrypicked from libav commit
3c87039a404c5659ae9bf7454a04e186532eb40b.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: vp9itxfm: Don't repeatedly set x9 when nothing overwrites it
Martin Storsjö [Mon, 9 Jan 2017 22:15:13 +0000 (00:15 +0200)]
aarch64: vp9itxfm: Don't repeatedly set x9 when nothing overwrites it

This is cherrypicked from libav commit
2f99117f6ff24ce5be2abb9e014cb8b86c2aa0e0.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoarm: vp9itxfm: Rename a macro parameter to fit better
Martin Storsjö [Mon, 9 Jan 2017 22:15:12 +0000 (00:15 +0200)]
arm: vp9itxfm: Rename a macro parameter to fit better

Since the same parameter is used for both input and output,
the name inout is more fitting.

This matches the naming used below in the dmbutterfly macro.

This is cherrypicked from libav commit
79566ec8c77969d5f9be533de04b1349834cca62.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoarm/aarch64: vp9itxfm: Fix indentation of macro arguments
Martin Storsjö [Mon, 9 Jan 2017 22:15:11 +0000 (00:15 +0200)]
arm/aarch64: vp9itxfm: Fix indentation of macro arguments

This is cherrypicked from libav commit
721bc37522c5c1d6a8c3cea5e9c3fcde8d256c05.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: vp9itxfm: Use w3 instead of x3 for the int eob parameter
Martin Storsjö [Mon, 9 Jan 2017 22:15:10 +0000 (00:15 +0200)]
aarch64: vp9itxfm: Use w3 instead of x3 for the int eob parameter

The clobbering tests in checkasm are only invoked when testing
correctness, so this bug didn't show up when benchmarking the
dc-only version.

This is cherrypicked from libav commit
4d960a11855f4212eb3a4e470ce890db7f01df29.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoarm: vp9itxfm: Simplify the stack alignment code
Janne Grunau [Mon, 9 Jan 2017 22:15:09 +0000 (00:15 +0200)]
arm: vp9itxfm: Simplify the stack alignment code

This is one instruction less for thumb, and only have got
1/2 arm/thumb specific instructions.

This is cherrypicked from libav commit
e5b0fc170f85b00f7dd0ac514918fb5c95253d39.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: vp9: loop filter: replace 'orr; cbn?z' with 'adds; b.{eq,ne};
Janne Grunau [Mon, 9 Jan 2017 22:15:08 +0000 (00:15 +0200)]
aarch64: vp9: loop filter: replace 'orr; cbn?z' with 'adds; b.{eq,ne};

The latter is 1 cycle faster on a cortex-53 and since the operands are
bytewise (or larger) bitmask (impossible to overflow to zero) both are
equivalent.

This is cherrypicked from libav commit
e7ae8f7a715843a5089d18e033afb3ee19ab3057.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoaarch64: vp9: use alternative returns in the core loop filter function
Janne Grunau [Mon, 9 Jan 2017 22:15:07 +0000 (00:15 +0200)]
aarch64: vp9: use alternative returns in the core loop filter function

Since aarch64 has enough free general purpose registers use them to
branch to the appropiate storage code. 1-2 cycles faster for the
functions using loop_filter 8/16, ... on a cortex-a53. Mixed results
(up to 2 cycles faster/slower) on a cortex-a57.

This is cherrypicked from libav commit
d7595de0b25e7064fd9e06dea5d0425536cef6dc.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoffmpeg: Add -time_base option to hint the time base
Michael Bradshaw [Wed, 28 Dec 2016 06:05:35 +0000 (22:05 -0800)]
ffmpeg: Add -time_base option to hint the time base

Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavcodec/cinepakenc: remove CVID from long description
Paul B Mahol [Sat, 14 Jan 2017 15:56:47 +0000 (16:56 +0100)]
avcodec/cinepakenc: remove CVID from long description

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agoCosmetics: Reindent after last commit.
Carl Eugen Hoyos [Sat, 14 Jan 2017 05:07:06 +0000 (06:07 +0100)]
Cosmetics: Reindent after last commit.

2 years agolavf/matroskaenc: Do not write two CodecID elements for rawvideo.
Carl Eugen Hoyos [Sat, 14 Jan 2017 05:06:05 +0000 (06:06 +0100)]
lavf/matroskaenc: Do not write two CodecID elements for rawvideo.

Fixes ticket #6068.

2 years agofate/psd : add test for bitmap and duotone
Martin Vignali [Wed, 11 Jan 2017 20:51:36 +0000 (21:51 +0100)]
fate/psd : add test for bitmap and duotone

The duotone file is interpreted as gray

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agolibavcodec/psd : add test for channel depth/channel count in bitmap mode
Martin Vignali [Wed, 11 Jan 2017 20:47:56 +0000 (21:47 +0100)]
libavcodec/psd : add test for channel depth/channel count in bitmap mode

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoswresample/arm: cosmetic fixes
Matthieu Bouron [Mon, 9 Jan 2017 16:22:40 +0000 (17:22 +0100)]
swresample/arm: cosmetic fixes

2 years agoswresample/aarch64: add ff_resample_common_apply_filter_{x4,x8}_{float,s16}_neon
Matthieu Bouron [Mon, 9 Jan 2017 14:26:37 +0000 (14:26 +0000)]
swresample/aarch64: add ff_resample_common_apply_filter_{x4,x8}_{float,s16}_neon

2 years agoavcodec/qdrw: skip long comment for now
Paul B Mahol [Fri, 13 Jan 2017 19:18:36 +0000 (20:18 +0100)]
avcodec/qdrw: skip long comment for now

Fixes part of #5918.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 years agospeedhq: Align blocks variable properly.
Steinar H. Gunderson [Fri, 13 Jan 2017 18:04:25 +0000 (19:04 +0100)]
speedhq: Align blocks variable properly.

Seemingly ff_clear_block_sse assumed that the block array is aligned,
so make sure it is.

Fixes ticket #6079

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavcodec/lossless_videodsp: add missing call to ff_llviddsp_init_ppc()
James Almer [Fri, 13 Jan 2017 01:56:50 +0000 (22:56 -0300)]
avcodec/lossless_videodsp: add missing call to ff_llviddsp_init_ppc()

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16
James Almer [Sun, 8 Jan 2017 14:56:03 +0000 (11:56 -0300)]
lossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agohuffyuvdsp: move functions only used by huffyuv from lossless_videodsp
James Almer [Sun, 8 Jan 2017 14:48:05 +0000 (11:48 -0300)]
huffyuvdsp: move functions only used by huffyuv from lossless_videodsp

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agohuffyuvencdsp: move shared functions to a new lossless_videoencdsp context
James Almer [Sun, 8 Jan 2017 02:13:48 +0000 (23:13 -0300)]
huffyuvencdsp: move shared functions to a new lossless_videoencdsp context

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agohuffyuvencdsp: move functions only used by huffyuv from lossless_videodsp
James Almer [Sun, 8 Jan 2017 00:10:46 +0000 (21:10 -0300)]
huffyuvencdsp: move functions only used by huffyuv from lossless_videodsp

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolossless_videodsp: move shared functions from huffyuvdsp
James Almer [Sat, 7 Jan 2017 22:04:39 +0000 (19:04 -0300)]
lossless_videodsp: move shared functions from huffyuvdsp

Several codecs other than huffyuv use them.

Signed-off-by: James Almer <jamrial@gmail.com>
2 years agoavformat/hlsenc: refine the hlsenc code
Steven Liu [Thu, 12 Jan 2017 23:59:48 +0000 (07:59 +0800)]
avformat/hlsenc: refine the hlsenc code

because the oc have been  potint to hls->avf or hls->vtt_avf
here is not needed point once again

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavformat/hlsenc: fix hlsenc bug at windows system
Steven Liu [Thu, 12 Jan 2017 23:57:22 +0000 (07:57 +0800)]
avformat/hlsenc: fix hlsenc bug at windows system

when hlsenc use flag second_level_segment_index,
second_level_segment_size and second_level_segment_duration,
the rename is ok but the output filename always use the old filename
so move the rename operation after the close the ts file and
before open new segment

Reported-by: Christian Johannesen <chrisjohannesen@gmail.com>
Reviewed-by: Bodecs Bela <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agocmdutils_opencl: fix resource_leak cid 1396852
Steven Liu [Thu, 12 Jan 2017 23:54:49 +0000 (07:54 +0800)]
cmdutils_opencl: fix resource_leak cid 1396852

CID: 1396852
check the devices_list alloc status,
and release the devices_list when alloc devices error

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2 years agoavutil/tests/audio_fifo.c: pass by reference for efficiency and change datatype to...
Thomas Turner [Thu, 12 Jan 2017 01:20:30 +0000 (17:20 -0800)]
avutil/tests/audio_fifo.c: pass by reference for efficiency and change datatype to const

Signed-off-by: Thomas Turner <thomastdt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 years agoavutil/reverse: move the ff_reverse declaration to a separate header
James Almer [Thu, 12 Jan 2017 22:37:16 +0000 (19:37 -0300)]
avutil/reverse: move the ff_reverse declaration to a separate header

Fixes compilation with hardcoded tables after eaff1aa09e90e2711207c9463db8bf8e8dec8178
and e71b8119e7db675dd2dac3f7fb069b0df2943c38

Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2 years agolavf/mxf: Add a universal label for ProRes used in FCP.
Carl Eugen Hoyos [Thu, 12 Jan 2017 22:24:39 +0000 (23:24 +0100)]
lavf/mxf: Add a universal label for ProRes used in FCP.

Fixes ticket #6075.

2 years agolibavfilter/af_biquads: warn about clipping only after frame with clipping
Sergey Kudryashov [Thu, 12 Jan 2017 14:38:58 +0000 (17:38 +0300)]
libavfilter/af_biquads: warn about clipping only after frame with clipping

2 years agolavfi: remove stray semicolons.
Nicolas George [Thu, 12 Jan 2017 13:43:51 +0000 (14:43 +0100)]
lavfi: remove stray semicolons.

Hopefully fix compilation with suncc.

2 years agolavf/dss: Do not fail randomly if dss_sp input contains 0xff.
Carl Eugen Hoyos [Thu, 12 Jan 2017 13:12:35 +0000 (14:12 +0100)]
lavf/dss: Do not fail randomly if dss_sp input contains 0xff.

Fixes decoding the sample from ticket #6072 with ffmpeg.

2 years agolavfi: reindent after previous commit.
Nicolas George [Thu, 12 Jan 2017 12:36:02 +0000 (13:36 +0100)]
lavfi: reindent after previous commit.

2 years agolavfi/buffersink: move to the new design.
Nicolas George [Mon, 19 Dec 2016 07:38:25 +0000 (08:38 +0100)]
lavfi/buffersink: move to the new design.

2 years agolavfi: do not call ff_filter_frame() with activate.
Nicolas George [Sat, 24 Dec 2016 12:17:21 +0000 (13:17 +0100)]
lavfi: do not call ff_filter_frame() with activate.

avfilter_graph_request_oldest() does work that should be done by
either the filter or the application.

The principle of this function, calling ff_request_frame() from
outside the filter was always shaky. This version is less elegant
since it requires making special cases for each filter, but it
is more robust since it no longer calls ff_request_frame()
directly without notifying the filter.

Eventually, avfilter_graph_request_oldest() will be deprecated
for a function to just run the graph.

2 years agolavfi: make two functions static.
Nicolas George [Sat, 24 Dec 2016 15:56:50 +0000 (16:56 +0100)]
lavfi: make two functions static.

ff_request_frame_to_filter() and ff_filter_frame_to_filter()
are only used in avfilter.c.

2 years agolavfi: disallow ff_request_frame for filters using activate.
Nicolas George [Sat, 24 Dec 2016 12:16:15 +0000 (13:16 +0100)]
lavfi: disallow ff_request_frame for filters using activate.

Having two different functions allows to have stricter tests
and detect errors earlier.

2 years agolavfi: add ff_inlink_request_frame().
Nicolas George [Sat, 24 Dec 2016 12:16:59 +0000 (13:16 +0100)]
lavfi: add ff_inlink_request_frame().

2 years agolavfi: move ff_update_link_current_pts() into the utility functions.
Nicolas George [Fri, 23 Dec 2016 15:00:57 +0000 (16:00 +0100)]
lavfi: move ff_update_link_current_pts() into the utility functions.

It does not change anything for the existing filters and makes
better code fatrorization when future code will use the utility
functions.

2 years agolavfi: cosmetic: remove forward declaration.
Nicolas George [Fri, 23 Dec 2016 14:40:27 +0000 (15:40 +0100)]
lavfi: cosmetic: remove forward declaration.

2 years agolavfi: add AVFilter.activate.
Nicolas George [Mon, 19 Dec 2016 07:38:15 +0000 (08:38 +0100)]
lavfi: add AVFilter.activate.

2 years agolavfi: use the consume helpers in ff_filter_frame_to_filter().
Nicolas George [Tue, 20 Dec 2016 22:23:29 +0000 (23:23 +0100)]
lavfi: use the consume helpers in ff_filter_frame_to_filter().

2 years agolavfi: add helpers to consume frames from link FIFOs.
Nicolas George [Tue, 20 Dec 2016 13:58:37 +0000 (14:58 +0100)]
lavfi: add helpers to consume frames from link FIFOs.

2 years agolavfi: pass min explicitly to samples_ready().
Nicolas George [Thu, 22 Dec 2016 13:21:24 +0000 (14:21 +0100)]
lavfi: pass min explicitly to samples_ready().

2 years agolavfi: add ff_inlink_evaluate_timeline_at_frame().
Nicolas George [Tue, 20 Dec 2016 16:13:04 +0000 (17:13 +0100)]
lavfi: add ff_inlink_evaluate_timeline_at_frame().

2 years agolavfi: add ff_inlink_process_commands().
Nicolas George [Tue, 20 Dec 2016 15:53:23 +0000 (16:53 +0100)]
lavfi: add ff_inlink_process_commands().

2 years agolavfi: merge two variables after a recent commit.
Nicolas George [Tue, 20 Dec 2016 14:49:17 +0000 (15:49 +0100)]
lavfi: merge two variables after a recent commit.

2 years agolavfi: implement ff_inlink_make_frame_writable().
Nicolas George [Tue, 20 Dec 2016 13:56:03 +0000 (14:56 +0100)]
lavfi: implement ff_inlink_make_frame_writable().

Unlike av_frame_is_writable(), it uses the link's alloc callback,
making direct rendering possible.

The code comes from ff_filter_frame_framed(), moved with mostly
trivial changes.

2 years agolavfi: export ff_filter_set_ready() to the library.
Nicolas George [Tue, 20 Dec 2016 14:57:19 +0000 (15:57 +0100)]
lavfi: export ff_filter_set_ready() to the library.

2 years agolavfi: add ff_inlink_acknowledge_status().
Nicolas George [Tue, 20 Dec 2016 14:56:48 +0000 (15:56 +0100)]
lavfi: add ff_inlink_acknowledge_status().

Also introduce libavfilter/filters.h for all functions needed
to implement filters.

2 years agolavfi: document that AVFilterLink is not for applications.
Nicolas George [Tue, 27 Dec 2016 16:18:33 +0000 (17:18 +0100)]
lavfi: document that AVFilterLink is not for applications.

2 years agolavfi/tests/filtfmts: include internal.h.
Nicolas George [Sun, 18 Dec 2016 11:35:50 +0000 (12:35 +0100)]
lavfi/tests/filtfmts: include internal.h.

2 years agolavd/lavfi: use buffersink accessors.
Nicolas George [Sun, 18 Dec 2016 11:35:25 +0000 (12:35 +0100)]
lavd/lavfi: use buffersink accessors.

2 years agoffplay: use buffersink accessors.
Nicolas George [Sun, 18 Dec 2016 11:35:14 +0000 (12:35 +0100)]
ffplay: use buffersink accessors.

2 years agoffmpeg: use buffersink accessors.
Nicolas George [Sun, 18 Dec 2016 11:34:35 +0000 (12:34 +0100)]
ffmpeg: use buffersink accessors.

2 years agolavfi/buffersink: add accessors for the stream properties.
Nicolas George [Sun, 18 Dec 2016 11:31:24 +0000 (12:31 +0100)]
lavfi/buffersink: add accessors for the stream properties.

av_buffersink_get_frame_rate() did already exist; its argument becomes const.