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

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

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

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

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

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

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

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

4 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

4 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()

4 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

4 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>
4 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>
4 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>
4 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>
4 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

The loop is only done for DXVA2.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

This is cherrypicked from libav commit

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 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>
4 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>
4 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.

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

4 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>
4 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>
4 years agoswresample/arm: cosmetic fixes
Matthieu Bouron [Mon, 9 Jan 2017 16:22:40 +0000 (17:22 +0100)]
swresample/arm: cosmetic fixes

4 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

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

4 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

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

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

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

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

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

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

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

4 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().

4 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

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

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

4 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().

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

4 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().

4 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().

4 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().

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

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

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

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

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

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

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

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

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

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

4 years agolavfi, ffmpeg: simplify filter names.
Nicolas George [Thu, 28 Apr 2016 12:47:43 +0000 (14:47 +0200)]
lavfi, ffmpeg: simplify filter names.

The names are only used for technical output and debugging.
Make them similar to C identifiers for easier quick reading
of debug dumps.

4 years agolavf/hlsenc: fix typo in last commit.
Nicolas George [Thu, 12 Jan 2017 13:01:22 +0000 (14:01 +0100)]
lavf/hlsenc: fix typo in last commit.

4 years agoavformat/hlsenc: hls_start_number_source and start_number
Bodecs Bela [Thu, 12 Jan 2017 12:43:10 +0000 (20:43 +0800)]
avformat/hlsenc: hls_start_number_source and start_number

start_number option starts the playlist sequence number
(#EXT-X-MEDIA-SEQUENCE) from the specified number. Unless hls_flags
single_file is set, it also specifies starting sequence numbers of
segment and subtitle filenames. Sometimes it is usefull to have unique
starting numbers at each run, but currently it is only achiveable by
setting this parameter manually.
This patch enables to specify start_number source parameter by
introducing hls_start_number_source with 3 possible values:
generic/epoch/datetime. This ensures to set start sequence number
automatically for practically unique numbers. Generic option is the
default and this is the curent behaviour: start_number option value
specifies the start sequence number. (start_number default value is 0)
If hls_start_number_source is set to epoch, then the start number will
be the seconds since epoch (1970-01-01 00:00:00). If set to datetime,
then the start sequence number will be based on the current date/time
value as YYYYmmddHHMMSS. e.g. 20161231235659.
Hls speficication allows 64 bit integers as sequence numbers. This patch
also changes some code where only 32 bit integer values were handled

Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
4 years agolavfi: use an audio frame pool for each link of the filtergraph
Matthieu Bouron [Tue, 3 Jan 2017 16:44:14 +0000 (17:44 +0100)]
lavfi: use an audio frame pool for each link of the filtergraph

4 years agolavfi/framepool: cosmetic style fixes
Matthieu Bouron [Tue, 3 Jan 2017 16:46:24 +0000 (17:46 +0100)]
lavfi/framepool: cosmetic style fixes

4 years agolavfi/framepool: re-indent after previous commit
Matthieu Bouron [Tue, 3 Jan 2017 16:44:55 +0000 (17:44 +0100)]
lavfi/framepool: re-indent after previous commit

4 years agolavfi/framepool: add audio support
Matthieu Bouron [Tue, 3 Jan 2017 16:44:07 +0000 (17:44 +0100)]
lavfi/framepool: add audio support

4 years agolavfi/framepool: rename FFVideoFramePool to FFFramePool
Matthieu Bouron [Tue, 10 May 2016 15:45:59 +0000 (17:45 +0200)]
lavfi/framepool: rename FFVideoFramePool to FFFramePool

4 years agoavcodec/mathops: add missing header for ff_reverse
James Almer [Thu, 12 Jan 2017 00:17:52 +0000 (21:17 -0300)]
avcodec/mathops: add missing header for ff_reverse

Signed-off-by: James Almer <jamrial@gmail.com>
4 years agofate/psd : add test for 256 color
Martin Vignali [Mon, 9 Jan 2017 22:03:42 +0000 (23:03 +0100)]
fate/psd : add test for 256 color

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 years agoffmpeg: Add an option "qsv_device" to choose proper node for QSV child device (vaapi...
Zhengxu [Thu, 5 Jan 2017 06:48:06 +0000 (14:48 +0800)]
ffmpeg: Add an option "qsv_device" to choose proper node for QSV child device (vaapi or dxva2)

Reason: For some cases, such as 2 or more graphics cards existing, the
default command line may fail because ffmpeg does not open the correct
device node:
    ffmpeg -hwaccel qsv -c:v h264_qsv -i test.264 -c:v h264_qsv out.264
Let user choose the proper one by running like below:
    ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv \
-i test.264 -c:v h264_qsv out.264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Huang, Zhengxu <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew, Zhang <huazh407@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
4 years agolavf/dss: Support version 3 files / files with larger header.
Carl Eugen Hoyos [Wed, 11 Jan 2017 12:23:13 +0000 (13:23 +0100)]
lavf/dss: Support version 3 files / files with larger header.

Fixes ticket #6072.

4 years agohevc: Mark as having threadsafe init
Derek Buitenhuis [Tue, 10 Jan 2017 18:24:27 +0000 (13:24 -0500)]
hevc: Mark as having threadsafe init

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
4 years agoavcodec: add Newtek SpeedHQ decoder
Steinar H. Gunderson [Sun, 8 Jan 2017 11:07:09 +0000 (12:07 +0100)]
avcodec: add Newtek SpeedHQ decoder

This decoder can decode all existing SpeedHQ formats (SHQ0–5, 7, and 9),
including correct decoding of the alpha channel.

1080p is decoded in 142 fps on one core of my i7-4600U (2.1 GHz Haswell),
about evenly split between bitstream reader and IDCT. There is currently
no attempt at slice or frame threading, even though the format trivially
supports both.

NewTek very helpfully provided a full set of SHQ samples, as well as
source code for an SHQ2 encoder (not included) and assistance with
understanding some details of the format.