ffmpeg.git
45 min agoRevert "udp: fix compilation when HAVE_PTHREAD_CANCEL isnt defined" master
Derek Buitenhuis [Wed, 22 Nov 2017 15:28:40 +0000 (15:28 +0000)]
Revert "udp: fix compilation when HAVE_PTHREAD_CANCEL isnt defined"

This was an mplayer-specific hack.

This reverts commit a4f94f24b4f153c30bbcaa700bedfb2b3a581e5e.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
13 hours agolavf/mov: Read aspect ratio from AVID jpeg2000 mov files.
Carl Eugen Hoyos [Thu, 23 Nov 2017 01:57:24 +0000 (02:57 +0100)]
lavf/mov: Read aspect ratio from AVID jpeg2000 mov files.

14 hours agoopus_pvq: fix crashing on analysis of mono
Rostislav Pehlivanov [Thu, 23 Nov 2017 00:58:36 +0000 (00:58 +0000)]
opus_pvq: fix crashing on analysis of mono

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
15 hours agotools/cl2c: Add a copyright header
Mark Thompson [Wed, 22 Nov 2017 23:55:03 +0000 (23:55 +0000)]
tools/cl2c: Add a copyright header

15 hours agolavu,lavfi,ffmpeg: Remove experimental OpenCL API
Mark Thompson [Tue, 14 Nov 2017 19:47:30 +0000 (19:47 +0000)]
lavu,lavfi,ffmpeg: Remove experimental OpenCL API

This was added in early 2013 and abandoned several months later; as far as
I can tell, there are no external users.  Future OpenCL use will be via
hwcontext, which requires neither special OpenCL-only API nor global state
in libavutil.

All internal users are also deleted - this is just the unsharp filter
(replaced by unsharp_opencl, which is more flexible) and the deshake filter
(no replacement).

15 hours agohwcontext: Perform usual uninitialisation on derived frames contexts
Mark Thompson [Mon, 26 Jun 2017 19:28:07 +0000 (20:28 +0100)]
hwcontext: Perform usual uninitialisation on derived frames contexts

15 hours agovf_hwmap: Pass mapping mode when deriving frames context on an existing device
Mark Thompson [Sun, 25 Jun 2017 21:13:03 +0000 (22:13 +0100)]
vf_hwmap: Pass mapping mode when deriving frames context on an existing device

To match creation on a newly-derived device.  (This was missed earlier
because the mode is only used in some cases.)

15 hours agolavfi: Add OpenCL unsharp mask filter
Mark Thompson [Tue, 14 Nov 2017 19:47:27 +0000 (19:47 +0000)]
lavfi: Add OpenCL unsharp mask filter

Intended to replace existing opencl mode of the unsharp filter.
Supports many more pixel formats and works without immediate upload
and download of frame data.  The options are compatible with the
existing filter.

15 hours agolavfi: Add OpenCL overlay filter
Mark Thompson [Sun, 10 Sep 2017 20:53:36 +0000 (21:53 +0100)]
lavfi: Add OpenCL overlay filter

Input and output formats must be the same, the overlay format must be
the same as the input except possibly with an additional alpha component.

15 hours agolavfi: Add infrastructure for building OpenCL source into libavfilter
Mark Thompson [Sun, 10 Sep 2017 20:53:35 +0000 (21:53 +0100)]
lavfi: Add infrastructure for building OpenCL source into libavfilter

15 hours agolavfi: Add some common code for OpenCL filtering
Mark Thompson [Tue, 27 Jun 2017 21:50:49 +0000 (22:50 +0100)]
lavfi: Add some common code for OpenCL filtering

16 hours agohwcontext_opencl: DRM to OpenCL mapping for ARM
Mark Thompson [Sun, 10 Sep 2017 12:37:20 +0000 (13:37 +0100)]
hwcontext_opencl: DRM to OpenCL mapping for ARM

Using cl_arm_import_memory.  Unfortunately, despite this not being a
standard extension, the function clImportMemoryARM() is not accessible
via clGetExtensionFunctionAddressForPlatform().  This means that it has
to be linked directly to the ARM OpenCL binary, so making a portable
binary is not possible as it is with all other mapping extensions.

16 hours agohwcontext_opencl: D3D11 to OpenCL mapping
Mark Thompson [Sun, 25 Jun 2017 21:34:40 +0000 (22:34 +0100)]
hwcontext_opencl: D3D11 to OpenCL mapping

Using cl_khr_d3d11_sharing and cl_intel_d3d11_nv12_media_sharing.

16 hours agohwcontext_opencl: DXVA2 to OpenCL mapping
Mark Thompson [Sun, 5 Mar 2017 16:21:41 +0000 (16:21 +0000)]
hwcontext_opencl: DXVA2 to OpenCL mapping

Using cl_khr_dx9_media_sharing.

16 hours agohwcontext_opencl: QSV to OpenCL mapping for Intel Media SDK
Mark Thompson [Sat, 4 Mar 2017 23:57:49 +0000 (23:57 +0000)]
hwcontext_opencl: QSV to OpenCL mapping for Intel Media SDK

Uses the cl_intel_va_api_media_sharing extension, which supports only
NV12 surfaces and only mapping from QSV to OpenCL.

16 hours agohwcontext_opencl: VAAPI to OpenCL mapping for Intel i965+beignet
Mark Thompson [Sat, 4 Mar 2017 23:57:48 +0000 (23:57 +0000)]
hwcontext_opencl: VAAPI to OpenCL mapping for Intel i965+beignet

Supports all surface formats in common between the two.

16 hours agolavu: OpenCL hwcontext implementation
Mark Thompson [Sat, 4 Mar 2017 23:57:47 +0000 (23:57 +0000)]
lavu: OpenCL hwcontext implementation

16 hours agolavu: Add OpenCL hardware pixfmt
Mark Thompson [Sat, 4 Mar 2017 23:57:46 +0000 (23:57 +0000)]
lavu: Add OpenCL hardware pixfmt

21 hours agodoc: Add FAQs about running in background (rev 2)
Jim DeLaHunt [Wed, 15 Nov 2017 08:43:30 +0000 (00:43 -0800)]
doc: Add FAQs about running in background (rev 2)

Add two FAQs about running FFmpeg in the background.
The first explains the use of the -nostdin option in
a straightforward way. Text revised based on review.

The second FAQ starts from a confusing error message,
and leads to the solution, use of the -nostdin option.
The purpose of the second FAQ is to attract web searches
from people having the problem, and offer them a solution.

Add an anchor to the Main Options section of the ffmpeg
documentation, so that the FAQs can link directly there.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
26 hours agoavformat/mov: Increment stsd_count while processing stsd data; avoids leaks.
Dale Curtis [Tue, 21 Nov 2017 23:40:22 +0000 (15:40 -0800)]
avformat/mov: Increment stsd_count while processing stsd data; avoids leaks.

In the event of ff_mov_read_stsd_entries() failure, sc->stsd_count
is not updated, even if the function allocates extradata memory.
Instead update the sc->stsd_count as entries are parsed so that
mov_read_close() can do the right thing.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
26 hours agoavcodec/jpeg2000: Dynamically allocate codeblock data
Michael Niedermayer [Sat, 18 Nov 2017 00:33:18 +0000 (01:33 +0100)]
avcodec/jpeg2000: Dynamically allocate codeblock data

Fixes: OOM
Fixes: 3541/clusterfuzz-testcase-minimized-6469958596820992

Adds support for decoding codeblock data larger than 8kb
Reduces decoder memory consumption

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
39 hours agoavdevice/decklink_dec: autodetect the video input format
Karthick J [Fri, 27 Oct 2017 06:30:23 +0000 (12:00 +0530)]
avdevice/decklink_dec: autodetect the video input format

When -format_code is not specified autodetection will happen.

Signed-off-by: Marton Balint <cus@passwd.hu>
41 hours agoavdevice/decklink: refactor ff_decklink_set_format function
Karthick J [Tue, 7 Nov 2017 04:02:23 +0000 (09:32 +0530)]
avdevice/decklink: refactor ff_decklink_set_format function

This is done to enable input format autodetection in decklink_dec.

Signed-off-by: Marton Balint <cus@passwd.hu>
42 hours agoavcodec/mpeg4videodec: Check also for negative versions in the validity check
Michael Niedermayer [Tue, 21 Nov 2017 02:15:53 +0000 (03:15 +0100)]
avcodec/mpeg4videodec: Check also for negative versions in the validity check

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
45 hours agoavfilter/af_asetnsamples: add missing error check
Paul B Mahol [Mon, 20 Nov 2017 13:02:28 +0000 (14:02 +0100)]
avfilter/af_asetnsamples: add missing error check

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 days agocheckasm/utvideodsp: zero initialize the entire buffer
James Almer [Tue, 21 Nov 2017 14:14:33 +0000 (11:14 -0300)]
checkasm/utvideodsp: zero initialize the entire buffer

Signed-off-by: James Almer <jamrial@gmail.com>
2 days agocheckasm/utvideodsp: fix mixed declarations and code
James Almer [Tue, 21 Nov 2017 14:13:24 +0000 (11:13 -0300)]
checkasm/utvideodsp: fix mixed declarations and code

Signed-off-by: James Almer <jamrial@gmail.com>
2 days agox86/utvideodsp: reuse shared constants
James Almer [Tue, 21 Nov 2017 13:57:06 +0000 (10:57 -0300)]
x86/utvideodsp: reuse shared constants

Remove the broadcast instructions as well now that they are wide
enough.

Signed-off-by: James Almer <jamrial@gmail.com>
2 days agox86/constants: make pb_80 32 byte wide
James Almer [Tue, 21 Nov 2017 13:57:03 +0000 (10:57 -0300)]
x86/constants: make pb_80 32 byte wide

Signed-off-by: James Almer <jamrial@gmail.com>
2 days agoavfilter/avf_avectorscope: add swap and mirror options
Paul B Mahol [Tue, 21 Nov 2017 11:07:13 +0000 (12:07 +0100)]
avfilter/avf_avectorscope: add swap and mirror options

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2 days agofate/hapdec : add test for hapqa decoding
Martin Vignali [Tue, 21 Nov 2017 11:01:00 +0000 (12:01 +0100)]
fate/hapdec : add test for hapqa decoding

2 days agoavcodec/hapdec : add support for hapqa decoding
Martin Vignali [Tue, 21 Nov 2017 10:59:02 +0000 (11:59 +0100)]
avcodec/hapdec : add support for hapqa decoding

2 days agoavcodec/hapdec : indent after previous commit
Martin Vignali [Tue, 21 Nov 2017 10:55:56 +0000 (11:55 +0100)]
avcodec/hapdec : indent after previous commit

2 days agoavcodec/hapdec : reorganize code before adding multi-texture decoding
Martin Vignali [Tue, 21 Nov 2017 10:55:37 +0000 (11:55 +0100)]
avcodec/hapdec : reorganize code before adding multi-texture decoding

2 days agoavcodec/huffyuvdspenc : add diff_int16 AVX2 func
Martin Vignali [Tue, 21 Nov 2017 08:17:44 +0000 (09:17 +0100)]
avcodec/huffyuvdspenc : add diff_int16 AVX2 func

2 days agoavcodec/huffyuvdspenc : reorganize diff_int16
Martin Vignali [Tue, 21 Nov 2017 08:16:18 +0000 (09:16 +0100)]
avcodec/huffyuvdspenc : reorganize diff_int16

2 days agoavcodec/huffyuvdsp : add add_int16 AVX2 func
Martin Vignali [Tue, 21 Nov 2017 08:14:35 +0000 (09:14 +0100)]
avcodec/huffyuvdsp : add add_int16 AVX2 func

2 days agoavcodec/huffyuvdsp : reorganize add_int16 asm
Martin Vignali [Tue, 21 Nov 2017 08:11:36 +0000 (09:11 +0100)]
avcodec/huffyuvdsp : reorganize add_int16 asm

2 days agoavcodec/huffyuvdsp(enc) : move duplicate macro to a template file
Martin Vignali [Tue, 21 Nov 2017 08:10:52 +0000 (09:10 +0100)]
avcodec/huffyuvdsp(enc) : move duplicate macro to a template file

2 days agocheckasm : add test for huffyuvdsp add_int16
Martin Vignali [Tue, 21 Nov 2017 08:09:42 +0000 (09:09 +0100)]
checkasm : add test for huffyuvdsp add_int16

2 days agoavcodec/x86/utvideodsp.asm : cosmetic
Martin Vignali [Tue, 21 Nov 2017 07:36:00 +0000 (08:36 +0100)]
avcodec/x86/utvideodsp.asm : cosmetic

better func separator
and add comment for the restore rgb planes10 declaration

2 days agoavcodec/utvideodsp : add avx2 version for the dsp
Martin Vignali [Tue, 21 Nov 2017 07:34:20 +0000 (08:34 +0100)]
avcodec/utvideodsp : add avx2 version for the dsp

2 days agoavcodec/x86/utvideodsp : make macro for func
Martin Vignali [Tue, 21 Nov 2017 07:32:01 +0000 (08:32 +0100)]
avcodec/x86/utvideodsp : make macro for func

2 days agocheckasm : add utvideodsp test
Martin Vignali [Tue, 21 Nov 2017 07:31:12 +0000 (08:31 +0100)]
checkasm : add utvideodsp test

2 days agoffmpeg: add return value check to supress the build warning.
Jun Zhao [Sat, 18 Nov 2017 05:24:24 +0000 (13:24 +0800)]
ffmpeg: add return value check to supress the build warning.

add return value check to supress the build warning message like
"warning: ignoring return value" when use attribute -Wunused-result.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: 刘歧 <lq@chinaffmpeg.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavformat/dashenc: Added configuration to override HTTP User-Agent
Karthick J [Wed, 8 Nov 2017 09:22:54 +0000 (14:52 +0530)]
avformat/dashenc: Added configuration to override HTTP User-Agent

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavformat/mov: Propagate errors in mov_switch_root.
Jacob Trimble [Mon, 20 Nov 2017 20:05:02 +0000 (12:05 -0800)]
avformat/mov: Propagate errors in mov_switch_root.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoClose ogg stream upon error when using AV_EF_EXPLODE.
Dale Curtis [Mon, 20 Nov 2017 20:07:57 +0000 (12:07 -0800)]
Close ogg stream upon error when using AV_EF_EXPLODE.

Without this there can be multiple memory leaks for unrecognized
ogg streams.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoFix undefined shift on assumed 8-bit input.
Dale Curtis [Sat, 18 Nov 2017 00:05:30 +0000 (16:05 -0800)]
Fix undefined shift on assumed 8-bit input.

decode_user_data() attempts to create an integer |build|
value with 8 bits of spacing for 3 components. However
each component is an int32_t, so shifting each component
is undefined for values outside of the 8 bit range.

This patch simply clamps input to 8-bits per component
and prints out a warning that the values were clamped.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agolibvpxenc: remove pre-1.4.0 checks
James Zern [Sat, 18 Nov 2017 01:25:40 +0000 (17:25 -0800)]
libvpxenc: remove pre-1.4.0 checks

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2 days agolibvpxdec: remove pre-1.4.0 checks
James Zern [Sat, 18 Nov 2017 01:25:59 +0000 (17:25 -0800)]
libvpxdec: remove pre-1.4.0 checks

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2 days agolibvpx: remove pre-1.4.0 checks
James Zern [Sat, 18 Nov 2017 01:25:21 +0000 (17:25 -0800)]
libvpx: remove pre-1.4.0 checks

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2 days agoconfigure: require libvpx-1.4.0 for vp[89] support
James Zern [Sat, 18 Nov 2017 01:24:07 +0000 (17:24 -0800)]
configure: require libvpx-1.4.0 for vp[89] support

this will simplify libvpxenc/dec.c and ensure more stable versions of
the codecs are present.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2 days agox86/jpeg2000dsp: add ff_ict_float_{fma3,fma4}
James Almer [Sun, 19 Nov 2017 03:32:25 +0000 (00:32 -0300)]
x86/jpeg2000dsp: add ff_ict_float_{fma3,fma4}

jpeg2000_ict_float_c: 2296.0
jpeg2000_ict_float_sse: 628.0
jpeg2000_ict_float_avx: 317.0
jpeg2000_ict_float_fma3: 262.0

Signed-off-by: James Almer <jamrial@gmail.com>
2 days agocheckasm/jpeg2000dsp: add test for ict_float
James Almer [Sun, 19 Nov 2017 03:32:24 +0000 (00:32 -0300)]
checkasm/jpeg2000dsp: add test for ict_float

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2 days agocheckasm/jpeg2000dsp: refactor rct_int test
James Almer [Sun, 19 Nov 2017 03:32:23 +0000 (00:32 -0300)]
checkasm/jpeg2000dsp: refactor rct_int test

Signed-off-by: James Almer <jamrial@gmail.com>
2 days agoavformat/avio: remove must_flush from AVIOContext
Marton Balint [Wed, 15 Nov 2017 21:13:41 +0000 (22:13 +0100)]
avformat/avio: remove must_flush from AVIOContext

It is unused.

Signed-off-by: Marton Balint <cus@passwd.hu>
2 days agoavcodec/hevcdsp_template: Fix invalid shift in put_hevc_epel_bi_w_v()
Michael Niedermayer [Fri, 17 Nov 2017 21:01:29 +0000 (22:01 +0100)]
avcodec/hevcdsp_template: Fix invalid shift in put_hevc_epel_bi_w_v()

Fixes: runtime error: left shift of negative value -255
Fixes: 4037/clusterfuzz-testcase-minimized-5290998163832832

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agolibavcodec/videotoolbox: fix decoding of h264 streams with minor SPS changes
Aman Gupta [Wed, 15 Nov 2017 20:50:31 +0000 (12:50 -0800)]
libavcodec/videotoolbox: fix decoding of h264 streams with minor SPS changes

Previously the codec kept an entire copy of the SPS, and restarted the VT decoder
session whenever it changed. This fixed decoding errors in [1], as
described in 9519983c. On further inspection, that sample features an SPS change
from High/4.0 to High/3.2 while moving from one scene to another.

Yesterday I received [2], which contains minor SPS changes where the
profile and level do not change. These occur frequently and are not associated with
scene changes. After 9519983c, the VT decoder session is recreated unnecessarily when
these are encountered causing visual glitches.

This commit simplifies the state kept in the VTContext to include just the first three
bytes of the SPS, containing the profile and level details. This is populated initially
when the VT decoder session is created, and used to detect changes and force a restart.

This means minor SPS changes are fed directly into the existing decoder, whereas
profile/level changes force the decoder session to be recreated with the new parameters.

After this commit, both samples [1] and [2] playback as expected.

[1] https://s3.amazonaws.com/tmm1/videotoolbox/spschange.ts
[2] https://s3.amazonaws.com/tmm1/videotoolbox/spschange2.ts

Signed-off-by: Aman Gupta <aman@tmm1.net>
2 days agoRevert "tests/fate: addition of test case for hls variant stream creation with master...
Steven Liu [Mon, 20 Nov 2017 16:22:25 +0000 (00:22 +0800)]
Revert "tests/fate: addition of test case for hls variant stream creation with master playlist"

This reverts commit 218ce1f6237b39090015809468f8e933bb09d9b8.

2 days agocompat/cuda: Pass a logging context to load functions
Mark Thompson [Sat, 18 Nov 2017 17:16:14 +0000 (17:16 +0000)]
compat/cuda: Pass a logging context to load functions

Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
2 days agolavf/qsv_vpp: check the return value of ff_formats_ref()
Zhong Li [Mon, 20 Nov 2017 09:14:34 +0000 (04:14 -0500)]
lavf/qsv_vpp: check the return value of ff_formats_ref()

Fixes the build warning of "ignoring return value of ‘ff_formats_ref’,
declared with attribute warn_unused_result"

Signed-off-by: Zhong Li <zhong.li@intel.com>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 days agolavf/qsv_overlay: check the return value of ff_formats_ref()
Zhong Li [Mon, 20 Nov 2017 09:14:33 +0000 (04:14 -0500)]
lavf/qsv_overlay: check the return value of ff_formats_ref()

Fixes the build warning of "ignoring return value of ‘ff_formats_ref’,
declared with attribute warn_unused_result"

Signed-off-by: Zhong Li <zhong.li@intel.com>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 days agolavu/qsv: remove unused variable
Zhong Li [Mon, 20 Nov 2017 09:14:32 +0000 (04:14 -0500)]
lavu/qsv: remove unused variable

Fixes build warning of "variable 's' is declared but not used"

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 days agohwcontext_vaapi: add the fourcc of I420 format map.
Jun Zhao [Mon, 20 Nov 2017 00:36:45 +0000 (08:36 +0800)]
hwcontext_vaapi: add the fourcc of I420 format map.

VA-API 2.0 have enable the I420, so enable this map.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2 days agoavcodec: Implement mpeg4 nvdec hwaccel
Philip Langdale [Thu, 16 Nov 2017 04:59:29 +0000 (20:59 -0800)]
avcodec: Implement mpeg4 nvdec hwaccel

This was predictably nightmarish, given how ridiculous mpeg4 is.
I had to stare at the cuvid parser output for a long time to work
out what each field was supposed to be, and even then, I still don't
fully understand some of them. Particularly:

vop_coded: If I'm reading the decoder correctly, this flag will always
           be 1 as the decoder will not pass the hwaccel any frame
           where it is not 1.
divx_flags: There's obviously no documentation on what the possible
            flags are. I simply observed that this is '0' for a
            normal bitstream and '5' for packed b-frames.
gmc_enabled: I had a number of guesses as to what this mapped to.
             I picked the condition I did based on when the cuvid
             parser was setting flag.

Also note that as with the vdpau hwaccel, the decoder needs to
consume the entire frame and not the slice.

3 days agoavcodec: Implement mpeg1 nvdec hwaccel
Philip Langdale [Thu, 16 Nov 2017 15:38:10 +0000 (07:38 -0800)]
avcodec: Implement mpeg1 nvdec hwaccel

Once I remembered that there's a separate decoder type for mpeg1,
even though params struct is shared with mpeg2, everything worked.

3 days agoavcodec: Refactor common nvdec hwaccel logic
Philip Langdale [Sun, 19 Nov 2017 04:29:15 +0000 (20:29 -0800)]
avcodec: Refactor common nvdec hwaccel logic

The 'simple' hwaccels (not h.264 and hevc) all use the same bitstream
management and reference lookup logic so let's refactor all that into
common functions.

I verified that casting a signed int -1 to unsigned char produces 255
according to the C language specification.

3 days agoavfilter/avfiltergraph: pass correct audio/video flags
Paul B Mahol [Sun, 19 Nov 2017 14:34:52 +0000 (15:34 +0100)]
avfilter/avfiltergraph: pass correct audio/video flags

Previously video flags where set for audio option.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agoavfilter/af_afftfilt: add missing error check
Paul B Mahol [Mon, 20 Nov 2017 12:42:59 +0000 (13:42 +0100)]
avfilter/af_afftfilt: add missing error check

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agoavfilter/af_headphone: add missing error check
Paul B Mahol [Mon, 20 Nov 2017 12:37:24 +0000 (13:37 +0100)]
avfilter/af_headphone: add missing error check

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agoavfilter/af_afir: add missing error check
Paul B Mahol [Mon, 20 Nov 2017 12:25:39 +0000 (13:25 +0100)]
avfilter/af_afir: add missing error check

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agoavfilter/af_surround: add missing error check
Paul B Mahol [Mon, 20 Nov 2017 12:23:07 +0000 (13:23 +0100)]
avfilter/af_surround: add missing error check

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agolavf/mov: Do not mix variable declaration and code.
Carl Eugen Hoyos [Mon, 20 Nov 2017 12:48:28 +0000 (13:48 +0100)]
lavf/mov: Do not mix variable declaration and code.

Fixes a warning:
libavformat/mov.c:1195:5: warning: ISO C90 forbids mixed declarations and code

3 days agoavfilter/af_extrastereo: fix filtering when clipping is disabled
Paul B Mahol [Mon, 20 Nov 2017 09:58:35 +0000 (10:58 +0100)]
avfilter/af_extrastereo: fix filtering when clipping is disabled

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agoavformat/hlsenc: use FFABS to instead of abs
Steven Liu [Mon, 20 Nov 2017 02:51:57 +0000 (10:51 +0800)]
avformat/hlsenc: use FFABS to instead of abs

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
3 days agoavformat/swfenc: use FFABS to instead of abs
Steven Liu [Mon, 20 Nov 2017 02:51:06 +0000 (10:51 +0800)]
avformat/swfenc: use FFABS to instead of abs

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
3 days agoavformat/mxf: use FFABS to instead of abs
Steven Liu [Mon, 20 Nov 2017 02:50:30 +0000 (10:50 +0800)]
avformat/mxf: use FFABS to instead of abs

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
3 days agoavformat/mp3dec: use FFABS to instead of abs
Steven Liu [Mon, 20 Nov 2017 02:49:42 +0000 (10:49 +0800)]
avformat/mp3dec: use FFABS to instead of abs

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
3 days agotests/fate: addition of test case for hls variant stream creation with master playlist
Vishwanath Dixit [Mon, 20 Nov 2017 02:05:33 +0000 (10:05 +0800)]
tests/fate: addition of test case for hls variant stream creation with master playlist

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
3 days agoavformat/hlsenc: creation of hls master playlist file
Vishwanath Dixit [Mon, 20 Nov 2017 02:04:34 +0000 (10:04 +0800)]
avformat/hlsenc: creation of hls master playlist file

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
3 days agoavformat/hlsenc: creation of hls variant streams in a single hlsenc instance
Vishwanath Dixit [Mon, 20 Nov 2017 02:02:11 +0000 (10:02 +0800)]
avformat/hlsenc: creation of hls variant streams in a single hlsenc instance

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
3 days agoavformat/movenc: write clap atom for uncompressed yuv in mov
Dave Rice [Sun, 19 Nov 2017 02:19:23 +0000 (21:19 -0500)]
avformat/movenc: write clap atom for uncompressed yuv in mov

fixes 6145

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavformat/movenc: correct ImageDescription for uncompressed ycbcr
Dave Rice [Sun, 19 Nov 2017 02:19:17 +0000 (21:19 -0500)]
avformat/movenc: correct ImageDescription for uncompressed ycbcr

Per
https://developer.apple.com/library/content/technotes/tn2162/_index.html

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoffmpeg: add ui64 type to SpecifierOpt
pkviet [Sat, 18 Nov 2017 21:19:46 +0000 (22:19 +0100)]
ffmpeg: add ui64 type to SpecifierOpt

 Adds ui64 (uint64_t) as a possible type for SpecifierOpt. This enables
 use of uint64_t options with SpecifierOpt such as channel_layout
 when expressed as a 64 bit channel mask.

Signed-off-by: pkviet <pkv.stream@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavcodec: remove unnecessary AVPacketSideDataType enum offset
James Almer [Mon, 20 Nov 2017 00:03:09 +0000 (21:03 -0300)]
avcodec: remove unnecessary AVPacketSideDataType enum offset

Signed-off-by: James Almer <jamrial@gmail.com>
3 days agodoc/codecs.texi: Remove documentation of removed codec flags.
Carl Eugen Hoyos [Mon, 20 Nov 2017 00:09:08 +0000 (01:09 +0100)]
doc/codecs.texi: Remove documentation of removed codec flags.

The flags were removed in b79a7da3

3 days agoMerge commit '3152058bf1dca318898550efacf0286f4836cae6'
James Almer [Sun, 19 Nov 2017 21:26:45 +0000 (18:26 -0300)]
Merge commit '3152058bf1dca318898550efacf0286f4836cae6'

* commit '3152058bf1dca318898550efacf0286f4836cae6':
  libavcodec: Don't use dllexport, only dllimport when building DLLs

Merged-by: James Almer <jamrial@gmail.com>
3 days agoconfigure: fix module dependencies on zlib
James Almer [Sun, 19 Nov 2017 18:23:02 +0000 (15:23 -0300)]
configure: fix module dependencies on zlib

select should not be used with external libraries. It's mean to soft
enable internal modules/features.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
3 days agoavfilter/af_surround: add some more layouts
Paul B Mahol [Sun, 19 Nov 2017 19:20:55 +0000 (20:20 +0100)]
avfilter/af_surround: add some more layouts

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agoavfilter: fix indentation
Paul B Mahol [Sun, 19 Nov 2017 20:18:00 +0000 (21:18 +0100)]
avfilter: fix indentation

Signed-off-by: Paul B Mahol <onemda@gmail.com>
3 days agolibavcodec: Don't use dllexport, only dllimport when building DLLs
Martin Storsjö [Thu, 14 Sep 2017 05:33:05 +0000 (08:33 +0300)]
libavcodec: Don't use dllexport, only dllimport when building DLLs

The only purpose of dllexport (which is set while building the library
that exports the symbols) is to have the linker automatically
export such symbols into a DLL without using a def file - it doesn't
affect the generated code.

For both MSVC and mingw builds, this isn't essential since we override
what symbols to export via an autogenerated def file instead.

Update a comment in configure to refer to the right concept.

With lld, this avoids warnings about duplicate export directives,
when some symbols are requested to be exported both via dllexport
attributes and via the autogenerated def file.

This also reduces the number of lines of code marginally.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 days agoavformat/subfile: allow to extract till EOF
Gyan Doshi [Wed, 15 Nov 2017 12:06:19 +0000 (17:36 +0530)]
avformat/subfile: allow to extract till EOF

Users can set end offset as 0 to extract till end of file.
Tested locally and documented.

3 days agolavfi/af_pan: fix sign handling in channel coefficient parser
Michael Roitzsch [Sat, 18 Nov 2017 12:33:08 +0000 (13:33 +0100)]
lavfi/af_pan: fix sign handling in channel coefficient parser

When a channel formula ends with a subtraction, the next formula will
otherwise have its first coefficient negated.

4 days agoconfigure: add audio_frame_queue dependency for aptx codec
James Darnley [Sun, 19 Nov 2017 13:54:34 +0000 (14:54 +0100)]
configure: add audio_frame_queue dependency for aptx codec

4 days agoavfilter: add acontrast filter
Paul B Mahol [Sat, 18 Nov 2017 09:28:27 +0000 (10:28 +0100)]
avfilter: add acontrast filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
4 days agoavformat/dashenc: fix min_seg_duration option size
James Cowgill [Sat, 18 Nov 2017 15:11:45 +0000 (15:11 +0000)]
avformat/dashenc: fix min_seg_duration option size

In the DASHContext structure, min_seg_duration is declared as an int,
but the AVOption list claimed it was an INT64. Change the option list
to use the correct size, which should fix some initialization errors
seen on big-endian platforms.

Signed-off-by: James Cowgill <jcowgill@debian.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoffmpeg: Allow "-to" on input files in addition to "-t"
Vitaly _Vi Shukela [Sat, 18 Nov 2017 07:36:51 +0000 (10:36 +0300)]
ffmpeg: Allow "-to" on input files in addition to "-t"

For some strange reason "-t" option was only implemented
for input files while both "-t" and "-to" were available
for use for output files. This made extracting a range from
input file inconvenient.

This patch enables -to option for input so one can do

    ffmpeg -ss 1:23:20 -to 1:27:22.3 -i myinput.mkv ...

Signed-off-by: Vitaly _Vi Shukela <vi0oss@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoffmpeg_filter: use nb_threads=1 on unused filtergraph
DHE [Fri, 17 Nov 2017 01:09:37 +0000 (20:09 -0500)]
ffmpeg_filter: use nb_threads=1 on unused filtergraph

Signed-off-by: DHE <git@dehacked.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
4 days agoavformat: remove unnecessary AVStreamParseType enum offset
James Almer [Sat, 18 Nov 2017 17:55:29 +0000 (14:55 -0300)]
avformat: remove unnecessary AVStreamParseType enum offset

Signed-off-by: James Almer <jamrial@gmail.com>