ffmpeg.git
14 months agohwcontext_opencl: Add support for mapping DRM objects to Beignet
Mark Thompson [Sun, 11 Mar 2018 21:19:20 +0000 (21:19 +0000)]
hwcontext_opencl: Add support for mapping DRM objects to Beignet

Also use that to support mapping VAAPI to Beignet.

14 months agohwcontext_vaapi: Pass correct read/write flags when exporting surfaces
Mark Thompson [Sun, 11 Mar 2018 21:25:46 +0000 (21:25 +0000)]
hwcontext_vaapi: Pass correct read/write flags when exporting surfaces

14 months agohwcontext_vaapi: Add support for legacy DRM mapping
Mark Thompson [Sun, 11 Mar 2018 21:12:29 +0000 (21:12 +0000)]
hwcontext_vaapi: Add support for legacy DRM mapping

The old vaAcquireBufferHandle() API works in fewer cases and provides
less information than the current vaExportSurfaceHandle(), but it exists
on older versions and is already used by the OpenCL code.

14 months agohwcontext_drm: Clarify value for unknown format modifiers
Mark Thompson [Wed, 21 Mar 2018 21:13:16 +0000 (21:13 +0000)]
hwcontext_drm: Clarify value for unknown format modifiers

14 months agolavfi: Add OpenCL avgblur filter
drfer3 [Mon, 19 Mar 2018 02:30:23 +0000 (13:30 +1100)]
lavfi: Add OpenCL avgblur filter

Behaves like the existing avgblur filter, except working on OpenCL
hardware frames. Takes exactly the same options.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
14 months agohwcontext_opencl: Avoid deprecation warnings when built with post-1.2 headers
Mark Thompson [Mon, 19 Mar 2018 22:53:11 +0000 (22:53 +0000)]
hwcontext_opencl: Avoid deprecation warnings when built with post-1.2 headers

Matching the previous commit.  This is not applied to the installed header
because it could incorrectly suppress the warning inside user programs.

14 months agolavfi/opencl: Avoid deprecation warnings when built with post-1.2 headers
Mark Thompson [Mon, 19 Mar 2018 22:52:51 +0000 (22:52 +0000)]
lavfi/opencl: Avoid deprecation warnings when built with post-1.2 headers

The intended target is OpenCL 1.2, so disable warnings for APIs deprecated
after that.  This primarily applies to clCreateCommandQueue(), we can't use
the replacement clCreateCommandQueueWithProperties() because it was
introduced in OpenCL 2.0.

Also remove some unnecessary includes from overlay and program filters so
that the define is available at the right moment.

14 months agolavfi/opencl: Derive global work size from plane image sizes
Mark Thompson [Mon, 19 Mar 2018 22:52:30 +0000 (22:52 +0000)]
lavfi/opencl: Derive global work size from plane image sizes

Add a new function to find the global work size given the output image and
the required block alignment, then use it in the overlay, program and unsharp
filters.  Fixes the overlay and unsharp filters applying the kernel to
locations outside the frame when subsampled planes are present.

14 months agoavfilter/avf_showvolume: add background opacity option
Paul B Mahol [Thu, 22 Mar 2018 22:08:33 +0000 (23:08 +0100)]
avfilter/avf_showvolume: add background opacity option

This makes output more visible when overlayed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/extract_extradata: don't uninitialize the H2645Packet on every processed...
James Almer [Sat, 10 Mar 2018 22:57:35 +0000 (19:57 -0300)]
avcodec/extract_extradata: don't uninitialize the H2645Packet on every processed packet

Based on hevc_parser code. This prevents repeated unnecessary allocations
and frees on every packet processed by the bsf.

Reviewed-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mpeg4_unpack_bframes: make sure the packet is writable when data needs to...
James Almer [Thu, 22 Mar 2018 01:37:46 +0000 (22:37 -0300)]
avcodec/mpeg4_unpack_bframes: make sure the packet is writable when data needs to be changed

Nothing currently guarantees that the packet passed to the bsf will
be writable.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavf/movenc: write track title metadata for mov files
Courtland Idstrom [Mon, 19 Mar 2018 21:11:37 +0000 (14:11 -0700)]
lavf/movenc: write track title metadata for mov files

Track title (atom 'name') is a well defined user data atom for mov files. Existing code (for mp4) only writes title metadata if present.

Relevant reference docs:

  https://developer.apple.com/library/content/documentation/QuickTime/Reference/QTRef_AtomsResources/Content/QTRef_AtomsResources4.html#//apple_ref/doc/uid/TP40004285-DontLinkChapterID_1--udta-
  https://developer.apple.com/library/content/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-63839

14 months agolavc/cfhd: add alpha decompanding in rgba12
Gagandeep Singh [Thu, 22 Mar 2018 09:33:37 +0000 (15:03 +0530)]
lavc/cfhd: add alpha decompanding in rgba12

Alpha decompanding curve added to post process the decoded alpha channel.
Fixes ticket #6265.

14 months agoavcodec/dxva2_vc1: add missing frame_params callback to vc1_d3d11va2 hwaccel
James Almer [Thu, 22 Mar 2018 04:40:02 +0000 (01:40 -0300)]
avcodec/dxva2_vc1: add missing frame_params callback to vc1_d3d11va2 hwaccel

Fixes ticket #7096

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agochangelog: add missing line for filter_units bsf
James Almer [Thu, 22 Mar 2018 04:19:13 +0000 (01:19 -0300)]
changelog: add missing line for filter_units bsf

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agocmdutils: print supported codecs in show_help_bsf()
James Almer [Thu, 22 Mar 2018 01:09:45 +0000 (22:09 -0300)]
cmdutils: print supported codecs in show_help_bsf()

Tested-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/avpacket: add av_packet_make_writable()
James Almer [Mon, 19 Mar 2018 15:39:08 +0000 (12:39 -0300)]
avcodec/avpacket: add av_packet_make_writable()

Useful as well to quickly make a packet reference counted when it
isn't already so.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavc/remove_extradata_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 07:00:27 +0000 (15:00 +0800)]
lavc/remove_extradata_bsf: support dump options.

support dump bit stream filter options

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavc/noise_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 06:57:47 +0000 (14:57 +0800)]
lavc/noise_bsf: support dump options.

support dump bit stream filter options.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavc/dump_extradata_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 06:01:48 +0000 (14:01 +0800)]
lavc/dump_extradata_bsf: support dump options.

support dump bit stream filter options

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavformat/unix: fix handling of EOF in case of SOCK_STREAM.
Bela Bodecs [Tue, 20 Mar 2018 22:24:11 +0000 (23:24 +0100)]
avformat/unix: fix handling of EOF in case of SOCK_STREAM.

When recv() returns 0 in case of SOCK_STREAM type, it means EOF and with
this patch returns value accordingly.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
14 months agoavfilter/vf_waveform: add orange graticule
Paul B Mahol [Wed, 21 Mar 2018 11:20:24 +0000 (12:20 +0100)]
avfilter/vf_waveform: add orange graticule

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavfilter/vf_waveform: add xflat mode
Paul B Mahol [Wed, 21 Mar 2018 10:34:11 +0000 (11:34 +0100)]
avfilter/vf_waveform: add xflat mode

Also use macros for xflat and aflat mode.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
14 months agoavcodec/vp9_superframe_split: fix memory leak in case of output packet creation failure
James Almer [Wed, 21 Mar 2018 04:38:34 +0000 (01:38 -0300)]
avcodec/vp9_superframe_split: fix memory leak in case of output packet creation failure

Some function calls may fail after the output packet is initialized.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavutil/integer: move the test to the corresponding subdirectory
James Almer [Tue, 20 Mar 2018 18:37:32 +0000 (15:37 -0300)]
avutil/integer: move the test to the corresponding subdirectory

And actually enable it.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mediacodecdec: propagate SAR to h/w frames
Aman Gupta [Mon, 19 Mar 2018 23:29:45 +0000 (16:29 -0700)]
avcodec/mediacodecdec: propagate SAR to h/w frames

Allows consumers who are converting hardware buffers
to OpenGL textures to render the frames at the intended
display resolution.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
14 months agoavformat/mov: Check STSC and remove invalid entries
Michael Niedermayer [Fri, 16 Mar 2018 18:53:36 +0000 (19:53 +0100)]
avformat/mov: Check STSC and remove invalid entries

Fixes assertion failure
Fixes: crbug 822547, crbug 822666 and crbug 823009

Affects: aark15sd_9A62E2FA.mp4

Found-by: ClusterFuzz
Reviewed-by: Matt Wolenetz <wolenetz@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/libopenmpt: Probe file format from file data if possible
Jörn Heusipp [Wed, 21 Feb 2018 11:11:48 +0000 (12:11 +0100)]
avformat/libopenmpt: Probe file format from file data if possible

When building with libopenmpt 0.3, use the libopenmpt file header
probing functions for probing. libopenmpt probing functions are
allocation-free and designed to be as fast as possible.

For libopenmpt 0.2, or when libopenmpt 0.3 file header probing cannot
probe successfully due to too small probe buffer, test the filename
against the file extensions supported by the libopenmpt library that
is actually linked, instead of relying on a hard-coded file extension
list. File extension testing is also allocation-free and designed to
be fast in libopenmpt. Avoiding a hard-coded file extension list is
useful because later libopenmpt versions will likely add support for
more module file formats.

libopenmpt file header probing is tested regularly against the FATE
suite and other diverse file collections by libopenmpt upstream in
order to avoid false positives.

FATE passes with './configure --enable-libopenmpt' as well as with
'./configure --enable-libopenmpt --enable-libmodplug'.

libopenmpt probing adds about 5%..10% cpu time (depending on precise
usage pattern and host CPU and compiler version used for libopenmpt)
compared to all current internal FFmpeg probing functions combined in
tools/probetest for all of its module formats combined (currently 41
modules formats in libopenmpt 0.3.4 and 234 file formats in FFmpeg).

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Reviewed-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavformat/libopenmpt: Update file extensions list for libopenmpt 0.3
Jörn Heusipp [Wed, 21 Feb 2018 11:11:47 +0000 (12:11 +0100)]
avformat/libopenmpt: Update file extensions list for libopenmpt 0.3

Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
Reviewed-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoffmpeg.c - drain all decoded frames during stream_loop flush
Gyan Doshi [Thu, 15 Mar 2018 11:15:51 +0000 (16:45 +0530)]
ffmpeg.c - drain all decoded frames during stream_loop flush

When a decoded stream is being looped, after each post-EOF rewind,
decoders are flushed in seek_to_start(). This only drains 1 frame, and
thus the output has a few frames missing at the tail of each iteration
except the last.

With this patch, process_input is looped till process_input_packet
reaches EOF.

Fixes #7081

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
14 months agoavcodec/mpeg2_metadata: unref output packet on failure
James Almer [Tue, 20 Mar 2018 03:55:28 +0000 (00:55 -0300)]
avcodec/mpeg2_metadata: unref output packet on failure

Move the check and unref call to the end to be consistent with other
bsfs.

Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/h265_metadata: fix memory leak in case of output packet creation failure
James Almer [Tue, 20 Mar 2018 03:55:27 +0000 (00:55 -0300)]
avcodec/h265_metadata: fix memory leak in case of output packet creation failure

Some function calls may fail after the output packet is initialized.

Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/h264_metadata: fix memory leak in case of output packet creation failure
James Almer [Tue, 20 Mar 2018 03:55:26 +0000 (00:55 -0300)]
avcodec/h264_metadata: fix memory leak in case of output packet creation failure

Some function calls may fail after the output packet is initialized.

Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mpeg4_unpack_bframes: reduce code duplication
James Almer [Mon, 19 Mar 2018 02:25:32 +0000 (23:25 -0300)]
avcodec/mpeg4_unpack_bframes: reduce code duplication

Also fixes one potential leak of side data in out if
the av_packet_from_data() call fails.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/mp3_header_decompress: don't free the user provided packet on error
James Almer [Mon, 19 Mar 2018 03:21:19 +0000 (00:21 -0300)]
avcodec/mp3_header_decompress: don't free the user provided packet on error

It's owned by the caller.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoavcodec/vp9_superframe_split: move the reference in the bsf internal buffer
James Almer [Fri, 16 Mar 2018 21:58:04 +0000 (18:58 -0300)]
avcodec/vp9_superframe_split: move the reference in the bsf internal buffer

There's no need to allocate a new packet for it.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavfi/deshake: Check alignment before calling asm init function.
Carl Eugen Hoyos [Fri, 16 Mar 2018 18:54:03 +0000 (19:54 +0100)]
lavfi/deshake: Check alignment before calling asm init function.

Do this for every frame to make sure dynamic filters do not
cause crashes.

Fixes ticket #7078.

14 months agoh264_metadata: Fix memory leak on multiple display orientation messages
Mark Thompson [Mon, 19 Mar 2018 23:12:01 +0000 (23:12 +0000)]
h264_metadata: Fix memory leak on multiple display orientation messages

Fixes CID #1430176.

14 months agocheckasm/hevc_idct : update test bit depth from 8 9 and 10 to 8 10 and 12
Yingming Fan [Thu, 8 Mar 2018 07:56:56 +0000 (15:56 +0800)]
checkasm/hevc_idct : update test bit depth from 8 9 and 10 to 8 10 and 12

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agoconfigure: add const_nan dependency to h264_metadata_bsf
James Almer [Sun, 18 Mar 2018 22:12:39 +0000 (19:12 -0300)]
configure: add const_nan dependency to h264_metadata_bsf

Fixes compilation with some compilers.

Reviewed-by: jkqxz
Signed-off-by: James Almer <jamrial@gmail.com>
14 months agolavc/mpeg2_metadata_bsf: support dump options.
Jun Zhao [Wed, 14 Mar 2018 05:42:37 +0000 (13:42 +0800)]
lavc/mpeg2_metadata_bsf: support dump options.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
14 months agolavc/h265_metadata_bsf: support dump options.
Jun Zhao [Wed, 14 Mar 2018 05:42:28 +0000 (13:42 +0800)]
lavc/h265_metadata_bsf: support dump options.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
14 months agolavc/h264_metadata_bsf: support dump options.
Jun Zhao [Wed, 14 Mar 2018 05:42:19 +0000 (13:42 +0800)]
lavc/h264_metadata_bsf: support dump options.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
14 months agoavcodec/aac_adtstoasc: move the reference in the bsf internal buffer
James Almer [Fri, 16 Mar 2018 23:06:40 +0000 (20:06 -0300)]
avcodec/aac_adtstoasc: move the reference in the bsf internal buffer

There's no need to allocate a new packet for it.

Signed-off-by: James Almer <jamrial@gmail.com>
14 months agohwcontext_vaapi: Always include DRM hwcontext header
Mark Thompson [Sun, 18 Mar 2018 18:34:38 +0000 (18:34 +0000)]
hwcontext_vaapi: Always include DRM hwcontext header

Fixes building with VAAPI but not libdrm, which was broken by
389f4c3e0d0a26a7d3d2696017384874cf5e93fa.  Just unconditionally include
the header, since it doesn't depend on libdrm being present.

14 months agolavc: Add filter_units bitstream filter
Mark Thompson [Tue, 6 Mar 2018 18:49:27 +0000 (18:49 +0000)]
lavc: Add filter_units bitstream filter

This can remove units with types in or not in a given set from a stream.
For example, it can be used to remove all non-VCL NAL units from an H.264 or
H.265 stream.

14 months agohwcontext_vaapi: Fix condition for DRM device derivation
Mark Thompson [Sun, 11 Mar 2018 21:16:25 +0000 (21:16 +0000)]
hwcontext_vaapi: Fix condition for DRM device derivation

vaGetDisplayDRM() is required for this code to work, libdrm is not.

14 months agocbs: Add a table of all supported codec IDs
Mark Thompson [Sun, 11 Mar 2018 17:27:15 +0000 (17:27 +0000)]
cbs: Add a table of all supported codec IDs

Use it as the set of codec IDs supported by the trace_headers BSF.

14 months agoh264_metadata: Remove unused fields
Mark Thompson [Sun, 11 Mar 2018 17:04:01 +0000 (17:04 +0000)]
h264_metadata: Remove unused fields

The SEI NAL is unused since 69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb,
while the AUD NAL is small and would more sensibly be on the stack.

14 months agoh264_metadata: Add support for display orientation SEI messages
Mark Thompson [Sun, 11 Mar 2018 16:39:03 +0000 (16:39 +0000)]
h264_metadata: Add support for display orientation SEI messages

14 months agocbs_h265: Use helper macro for maximum values of fixed-width elements
Mark Thompson [Sun, 11 Mar 2018 14:42:09 +0000 (14:42 +0000)]
cbs_h265: Use helper macro for maximum values of fixed-width elements

Apply the same logic as the previous patch to H.265.  There are no cases
which currently overflow here, but this is still more consistent.

14 months agocbs_h264: Fix overflow in shifts
Mark Thompson [Sun, 11 Mar 2018 14:40:23 +0000 (14:40 +0000)]
cbs_h264: Fix overflow in shifts

The type of the result of a shift operation is unaffected by the type of
the right operand, so some existing code overflows with undefined behaviour
when the element length is 32.  Add a helper macro to calculate the maximum
value correctly and then use it everywhere this pattern appears.

Found-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
14 months agolavd: fix iterating of input and output devices
Felix Matouschek [Wed, 14 Mar 2018 12:14:07 +0000 (13:14 +0100)]
lavd: fix iterating of input and output devices

In the previous implementation the first input or output device
was skipped when device_next was called with prev = NULL

Signed-off-by: Felix Matouschek <felix@matouschek.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
14 months agoavfilter/vf_premultiply : fix unpremultiply_offset for rgb input
Martin Vignali [Sat, 17 Mar 2018 21:20:34 +0000 (22:20 +0100)]
avfilter/vf_premultiply : fix unpremultiply_offset for rgb input

14 months agofate/hapqa_extract : add test for hapqa_extract bsf
Martin Vignali [Sat, 17 Mar 2018 20:07:17 +0000 (21:07 +0100)]
fate/hapqa_extract : add test for hapqa_extract bsf

test extract color and alpha
with the three main kind of hap frame :
- no snappy compression
- snappy compression and one chunk
- snappy compression and several chunks (16 here)

like the bsf filter need to be used with vtag and encoder edition
also test the information of the target mov for color and alpha

14 months agohttp: fix potentially dangerous whitespace skipping code
wm4 [Thu, 8 Mar 2018 03:52:36 +0000 (04:52 +0100)]
http: fix potentially dangerous whitespace skipping code

If the string consists entirely of whitespace, this could in theory
continue to write '\0' before the start of the memory allocation. In
practice, it didn't really happen: the generic HTTP header parsing code
already skips leading whitespaces, so the string is either empty, or
consists a non-whitespace. (The generic code and the cookie code
actually have different ideas about what bytes are whitespace: the
former uses av_isspace(), the latter uses WHITESPACES. Fortunately,
av_isspace() is a super set of the http.c specific WHITESPACES, so
there's probably no case where the above assumption could have been
broken.)

14 months agohttp: avoid out of bound accesses on broken Set-Cookie headers
wm4 [Thu, 8 Mar 2018 03:47:40 +0000 (04:47 +0100)]
http: avoid out of bound accesses on broken Set-Cookie headers

It's trivial to craft a HTTP response that will make the code for
skipping trailing whitespace access and possibly overwrite bytes outside
of the memory allocation. Why this can happen is blindingly obvious: it
accesses cstr[strlen(cstr)-1] without checking whether the string is
empty.

14 months agohttp: do not print a warning message for expired cookies
wm4 [Thu, 8 Mar 2018 03:30:35 +0000 (04:30 +0100)]
http: do not print a warning message for expired cookies

libavformat prints a warning that the cookie couldn't be parsed (see
callers of parse_cookie()). This is obviously not true - it could be
parsed, but was simply ignored. Don't return an error to avoid the
warning.

14 months agolavu/frame: add QP side data
wm4 [Thu, 1 Mar 2018 14:57:01 +0000 (15:57 +0100)]
lavu/frame: add QP side data

This adds a way for an API user to transfer QP data and metadata without
having to keep the reference to AVFrame, and without having to
explicitly care about QP APIs. It might also provide a way to finally
remove the deprecated QP related fields. In the end, the QP table should
be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS.

There are two side data types, because I didn't care about having to
repack the QP data so the table and the metadata are in a single
AVBufferRef. Otherwise it would have either required a copy on decoding
(extra slowdown for something as obscure as the QP data), or would have
required making intrusive changes to the codecs which support export of
this data.

The new side data types are added under deprecation guards, because I
don't intend to change the status of the QP export as being deprecated
(as it was before this patch too).

14 months agolavu/frame: fix inconsistent qp_table_buf deprecation
wm4 [Thu, 1 Mar 2018 14:50:56 +0000 (15:50 +0100)]
lavu/frame: fix inconsistent qp_table_buf deprecation

Everything related to the QP data is deprecated, with qp_table_buf being
an inconsistent exception. Some parts were under the deprecation guards,
some not. It probably didn't even compile.

14 months agoavformat/hlsenc: reindent after previous commits
Steven Liu [Sun, 18 Mar 2018 06:09:44 +0000 (14:09 +0800)]
avformat/hlsenc: reindent after previous commits

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
14 months agoavformat/hlsenc: fix fmp4 single init file problem
Steven Liu [Sun, 18 Mar 2018 06:08:57 +0000 (14:08 +0800)]
avformat/hlsenc: fix fmp4 single init file problem

fix ticket: #7021

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
14 months agoavformat/hlsenc: fix memleak problem about fmp4_init_filename
Steven Liu [Sun, 18 Mar 2018 06:08:14 +0000 (14:08 +0800)]
avformat/hlsenc: fix memleak problem about fmp4_init_filename

move fmp4_init_filename init in if else for first fmp4_init_filename set
value operation.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
14 months agoavformat/hlsenc: reindent after previous commits
Steven Liu [Sun, 18 Mar 2018 06:07:40 +0000 (14:07 +0800)]
avformat/hlsenc: reindent after previous commits

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
14 months agoavformat/hlsenc: fix write wrong init file URI string problem
Steven Liu [Sun, 18 Mar 2018 06:07:00 +0000 (14:07 +0800)]
avformat/hlsenc: fix write wrong init file URI string problem

fmp4_init_filename should append after base_output_dirname

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
14 months agolavf/dashenc: remove unneeded call to dash_free
Rodger Combs [Wed, 14 Mar 2018 06:24:39 +0000 (01:24 -0500)]
lavf/dashenc: remove unneeded call to dash_free

14 months agolibavformat/dashenc: Option to set timeout for socket I/O operation
Ravindra [Mon, 5 Mar 2018 09:37:26 +0000 (15:07 +0530)]
libavformat/dashenc: Option to set timeout for socket I/O operation

15 months agoavformat/codec2: don't include avcodec objects
James Almer [Sat, 17 Mar 2018 20:17:25 +0000 (17:17 -0300)]
avformat/codec2: don't include avcodec objects

They belong in avcodec.

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoconfigure: revert changes to the schannel check
James Almer [Sat, 17 Mar 2018 19:49:15 +0000 (16:49 -0300)]
configure: revert changes to the schannel check

check_cpp_condition was not being called on some targets, which made schannel
remain enabled even when it was not available

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit '83fef16b6a8dbbcbd80d159ba3ebe818dbbb2776'
James Almer [Sat, 17 Mar 2018 18:01:29 +0000 (15:01 -0300)]
Merge commit '83fef16b6a8dbbcbd80d159ba3ebe818dbbb2776'

* commit '83fef16b6a8dbbcbd80d159ba3ebe818dbbb2776':
  configure: Add check_cpp_condition() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit 'a5e011c8dcbf6968cc60f883d33382ba46147e90'
James Almer [Sat, 17 Mar 2018 18:00:40 +0000 (15:00 -0300)]
Merge commit 'a5e011c8dcbf6968cc60f883d33382ba46147e90'

* commit 'a5e011c8dcbf6968cc60f883d33382ba46147e90':
  configure: Add check_cmd() helper function to simplify some expressions

Merged-by: James Almer <jamrial@gmail.com>
15 months agofate/hapenc : remove test which use libsnappy
Martin Vignali [Wed, 14 Mar 2018 06:26:43 +0000 (07:26 +0100)]
fate/hapenc : remove test which use libsnappy

the test in none mode can be let (they don't use libsnappy)

15 months agofate: add a dca_core bitstream filter test
James Almer [Sat, 17 Mar 2018 05:08:37 +0000 (02:08 -0300)]
fate: add a dca_core bitstream filter test

Reviwed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoPartially revert "avcodec/hapqa_extract: remove the AVOption flags
James Almer [Sat, 17 Mar 2018 15:03:32 +0000 (12:03 -0300)]
Partially revert "avcodec/hapqa_extract: remove the AVOption flags

Re add AVOptions flags, using the new one meant for bsfs.
This partially reverts commit f706cdda56.

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agolavc/extract_extradata_bsf: support dump options.
Jun Zhao [Thu, 8 Mar 2018 06:05:53 +0000 (14:05 +0800)]
lavc/extract_extradata_bsf: support dump options.

support dump bit stream filter options

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agocmdutils: remove a superfluous line break
James Almer [Sat, 17 Mar 2018 14:53:56 +0000 (11:53 -0300)]
cmdutils: remove a superfluous line break

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/null_bsf: move the reference in the bsf internal buffer
James Almer [Fri, 16 Mar 2018 22:51:08 +0000 (19:51 -0300)]
avcodec/null_bsf: move the reference in the bsf internal buffer

There's no need to allocate a new packet for it.

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavfilter/af_surround: drain input at EOF
Paul B Mahol [Fri, 16 Mar 2018 11:30:17 +0000 (12:30 +0100)]
avfilter/af_surround: drain input at EOF

Signed-off-by: Paul B Mahol <onemda@gmail.com>
15 months agoavutil/log: print level prefix also when no AVClass context is available
Tobias Rapp [Wed, 14 Mar 2018 08:34:32 +0000 (09:34 +0100)]
avutil/log: print level prefix also when no AVClass context is available

Adds the level prefix to all log messages, except those with level <=
AV_LOG_QUIET as they seem to be used for flushing the log buffer.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
15 months agoavutil: bump version after the latest AVOption flag addition
James Almer [Fri, 16 Mar 2018 03:19:45 +0000 (00:19 -0300)]
avutil: bump version after the latest AVOption flag addition

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoffmpeg: support dump bit stream filter options.
Jun Zhao [Thu, 8 Mar 2018 05:50:31 +0000 (13:50 +0800)]
ffmpeg: support dump bit stream filter options.

Support dump bit stream filter option in ffmpeg -h full and
ffmpeg -h bsf=FooBar.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 months agolavu/opt: add bit stream filter option dump support.
Jun Zhao [Wed, 14 Mar 2018 02:05:05 +0000 (10:05 +0800)]
lavu/opt: add bit stream filter option dump support.

enable dump bit stream filter and update opt fate test ref.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 months agolavu/opt: add AV_OPT_FLAG_BSF_PARAM
Jun Zhao [Thu, 8 Mar 2018 05:47:23 +0000 (13:47 +0800)]
lavu/opt: add AV_OPT_FLAG_BSF_PARAM

add AV_OPT_FLAG_BSF_PARAM for bit stream filter options.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
15 months agoavformat/movenc: move the concatenated eac3 packet reference
James Almer [Wed, 14 Mar 2018 02:35:12 +0000 (23:35 -0300)]
avformat/movenc: move the concatenated eac3 packet reference

Simplifies code.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoconfigure: add missing adts_header to aac_fixed decoder
James Almer [Thu, 15 Mar 2018 23:33:20 +0000 (20:33 -0300)]
configure: add missing adts_header to aac_fixed decoder

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit '49804dc2baec009577e6b4ee827ae562188fbc2f'
James Almer [Thu, 15 Mar 2018 21:22:51 +0000 (18:22 -0300)]
Merge commit '49804dc2baec009577e6b4ee827ae562188fbc2f'

* commit '49804dc2baec009577e6b4ee827ae562188fbc2f':
  configure: Use test_ prefix for helper functions that do not set variables

Merged-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit '8c893aa3cd5f2d73896c72af330dcbfe299fbc5a'
James Almer [Thu, 15 Mar 2018 21:09:58 +0000 (18:09 -0300)]
Merge commit '8c893aa3cd5f2d73896c72af330dcbfe299fbc5a'

* commit '8c893aa3cd5f2d73896c72af330dcbfe299fbc5a':
  configure: Drop unnecessary variables, shifts, and quotes in helper functions

Merged-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit '121314895f6360852b2807d5dfafea576b2e6fed'
James Almer [Thu, 15 Mar 2018 21:01:11 +0000 (18:01 -0300)]
Merge commit '121314895f6360852b2807d5dfafea576b2e6fed'

* commit '121314895f6360852b2807d5dfafea576b2e6fed':
  configure: Fix logic of AMF external library check

This commit is a noop. AMF is meant to be autodetected.

Merged-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit '0711d142997b2662ba9198e607015b06c6eed0d8'
James Almer [Thu, 15 Mar 2018 20:57:18 +0000 (17:57 -0300)]
Merge commit '0711d142997b2662ba9198e607015b06c6eed0d8'

* commit '0711d142997b2662ba9198e607015b06c6eed0d8':
  examples: Use new API for transcoding example

Merged-by: James Almer <jamrial@gmail.com>
15 months agoMerge commit 'aeaa108bafa11db290f1ada0e22dbfbd655cf2ba'
James Almer [Thu, 15 Mar 2018 20:55:36 +0000 (17:55 -0300)]
Merge commit 'aeaa108bafa11db290f1ada0e22dbfbd655cf2ba'

* commit 'aeaa108bafa11db290f1ada0e22dbfbd655cf2ba':
  hls: Add a discontinuity marker on recover

This commit is a noop, see
572a8292cbded93c64110b872d2a8abadc92b741
6b95da9af91cd912561aa25593d6a41caa071963

Merged-by: James Almer <jamrial@gmail.com>
15 months agoavformat/dashdec: Correct spelling mistakes
sanilraut [Thu, 15 Mar 2018 11:00:04 +0000 (04:00 -0700)]
avformat/dashdec: Correct spelling mistakes

Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
15 months agoavcodec/hapqa_extract: remove the AVOption flags
James Almer [Wed, 14 Mar 2018 01:08:29 +0000 (22:08 -0300)]
avcodec/hapqa_extract: remove the AVOption flags

These two are not used for bitstream filters.

Reviewed-by: Martin Vignali <martin.vignali@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavformat/hlsenc: Option to set timeout for socket I/O operation
Ravindra [Wed, 14 Mar 2018 11:59:34 +0000 (19:59 +0800)]
avformat/hlsenc: Option to set timeout for socket I/O operation

Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
15 months agoavcodec/hapqa_extract: fix two error return values
James Almer [Tue, 13 Mar 2018 22:06:45 +0000 (19:06 -0300)]
avcodec/hapqa_extract: fix two error return values

ret is 0 by default.

Reviewed-by: Martin Vignali <martin.vignali@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/hapqa_extract: move the reference in the bsf internal buffer
James Almer [Tue, 13 Mar 2018 21:55:49 +0000 (18:55 -0300)]
avcodec/hapqa_extract: move the reference in the bsf internal buffer

There's no need to allocate a new packet for it.

Signed-off-by: James Almer <jamrial@gmail.com>
15 months agoavcodec/mediacodecdec: fix immediate EAGAIN with buffered packet
Aman Gupta [Tue, 13 Mar 2018 09:40:09 +0000 (02:40 -0700)]
avcodec/mediacodecdec: fix immediate EAGAIN with buffered packet

In cases where the mediacodec decoder consumed a partial packet,
receive_frame() would start returning EAGAIN if the rest of the
packet couldn't be flushed and no frames were immediately available.

This fixes receive_frame() to perform its normal blocking wait for
new frames before returning EAGAIN. Fixes an issue I could reproduce
fairly often on a FireOS 6 device, and reported to be happening
intermittently by two mpv users.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
15 months agofate/hap : add test for hap encoding
Martin Vignali [Sun, 11 Mar 2018 18:34:54 +0000 (19:34 +0100)]
fate/hap : add test for hap encoding

with and without snappy compression
with chunk 1 or chunk 16
for hap, hapa, and hapq

15 months agofate/hap : move decoding test to a separate file
Martin Vignali [Sun, 11 Mar 2018 18:22:54 +0000 (19:22 +0100)]
fate/hap : move decoding test to a separate file

15 months agoavcodec/hapqa_extract_bsf : add new bsf filter
Martin Vignali [Sun, 11 Mar 2018 18:16:09 +0000 (19:16 +0100)]
avcodec/hapqa_extract_bsf : add new bsf filter

convert HapQA data to HAPQ or HAPAlphaOnly
by copying the corresponding texture

15 months agoavcodec/hap : move parse_section_header to hap.c in order to be use by new bsf filter
Martin Vignali [Sun, 11 Mar 2018 18:15:56 +0000 (19:15 +0100)]
avcodec/hap : move parse_section_header to hap.c in order to be use by new bsf filter