]> git.sesse.net Git - ffmpeg/log
ffmpeg
7 years agoconfigure: Fix the msvcrt version check for mingw32
Martin Storsjö [Wed, 31 May 2017 09:53:32 +0000 (12:53 +0300)]
configure: Fix the msvcrt version check for mingw32

This was actually broken when committed in 46e3936fb04; the
test never succeeded, and thus, _aligned_malloc wasn't actually
used on legacy mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agovaapi: Add ABGR map only if VA_FOURCC_ABGR is defined
Elviss Strazdins [Wed, 24 May 2017 12:33:08 +0000 (14:33 +0200)]
vaapi: Add ABGR map only if VA_FOURCC_ABGR is defined

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoconfigure: Do not check for the __builtin_vec_vsx_ld
Luca Barbato [Wed, 10 May 2017 15:18:48 +0000 (17:18 +0200)]
configure: Do not check for the __builtin_vec_vsx_ld

Clang support for Altivec/VSX uses a different approach.

7 years agoavutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects
Aaron Levinson [Tue, 16 May 2017 21:23:27 +0000 (14:23 -0700)]
avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects

Add dxva2_pool_release_dummy() and use it in call to
av_buffer_create() in dxva2_pool_alloc().

Prior to this change, av_buffer_create() was called with NULL for the
third argument, which indicates that av_buffer_default_free() should
be used to free the buffer's data.  Eventually, it gets to
buffer_pool_free() and calls buf->free() on a surface object (which is
av_buffer_default_free()).

This can result in a crash when the debug version of the C-runtime is
used on Windows.  While it doesn't appear to result in a crash when
the release version of the C-runtime is used on Windows, it likely
results in memory corruption, since av_free() is being called on
memory that was allocated using
IDirectXVideoAccelerationService::CreateSurface().

Signed-off-by: Aaron Levinson <alevinsn@aracnet.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
7 years agodecode: fix the code reducing cropping to preserve alignment
Anton Khirnov [Fri, 19 May 2017 09:47:21 +0000 (11:47 +0200)]
decode: fix the code reducing cropping to preserve alignment

Currently it does not work at all.

Bug-Id: 1058

7 years agohevcdec: move the MD5 context out of HEVCSEIPictureHash back into HEVCContext
Anton Khirnov [Fri, 12 May 2017 14:36:41 +0000 (16:36 +0200)]
hevcdec: move the MD5 context out of HEVCSEIPictureHash back into HEVCContext

HEVCSEIPictureHash should store only the information extracted from the
bitstream and exported to the higher layer (the decoder or the parser).
The MD5 context is allocated, used and freed by this higher layer, so it
makes more sense for it to also be stored there.

7 years agoextract_extradata_bsf: make sure all needed parameter set NALUs were found
James Almer [Fri, 14 Apr 2017 13:53:52 +0000 (10:53 -0300)]
extract_extradata_bsf: make sure all needed parameter set NALUs were found

This mimics the behavior of the now unused h264/hevc parser's split()
function and fixes decoding some files when extract_extradata bsf is
enabled.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
7 years agovp9_superframe_bsf: cache input packets directly
Anton Khirnov [Wed, 26 Apr 2017 07:42:32 +0000 (09:42 +0200)]
vp9_superframe_bsf: cache input packets directly

Avoids unnecessary allocs+copies and makes the code slightly simpler.

7 years agovp9_superframe_bsf: convert to the new bitstream reader
Anton Khirnov [Wed, 26 Apr 2017 07:25:05 +0000 (09:25 +0200)]
vp9_superframe_bsf: convert to the new bitstream reader

7 years agohevc: Add names for reserved NAL unit types
Mark Thompson [Sun, 14 May 2017 14:47:36 +0000 (15:47 +0100)]
hevc: Add names for reserved NAL unit types

While not yet used, these NAL units do already have some defined
semantics and are referred to elsewhere.

7 years agoh264_sei: Add namespace prefix to all SEI values
Mark Thompson [Mon, 15 May 2017 21:42:14 +0000 (22:42 +0100)]
h264_sei: Add namespace prefix to all SEI values

This avoids confusion with equivalent H.265 SEI values when both are
being used at the same time.

7 years agoavconv: Flush output BSFs when stream copy reaches EOF
Mark Thompson [Thu, 4 May 2017 22:01:23 +0000 (23:01 +0100)]
avconv: Flush output BSFs when stream copy reaches EOF

Same as f64d1100a54d12c78ce436181bb64229c56da6b3, for stream copy
rather than encode.

7 years agodoc: Document hwupload, hwdownload and hwmap filters
Mark Thompson [Sun, 30 Apr 2017 21:11:54 +0000 (22:11 +0100)]
doc: Document hwupload, hwdownload and hwmap filters

7 years agomovenc-test: Add tests for negative cts offsets
Martin Storsjö [Thu, 7 Apr 2016 13:16:27 +0000 (16:16 +0300)]
movenc-test: Add tests for negative cts offsets

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agomovenc: Don't write any edit list if the start offset is zero
Martin Storsjö [Thu, 7 Apr 2016 12:47:31 +0000 (15:47 +0300)]
movenc: Don't write any edit list if the start offset is zero

In these cases, the CTTS flag is set, but no edit list is necessary.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agomovenc: Add an option for enabling negative CTS offsets
Martin Storsjö [Thu, 7 Apr 2016 12:45:37 +0000 (15:45 +0300)]
movenc: Add an option for enabling negative CTS offsets

This reduces the need for an edit list; streams that start with
e.g. dts=-1, pts=0 can be encoded as dts=0, pts=0 (which is valid
in mov/mp4) by shifting the dts values of all packets forward.
This avoids the need for edit lists for such streams (while they
still are needed for audio streams with encoder delay).

This eases conformance with the DASH-IF interoperability guidelines.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agocheckasm: aarch64: Specify alignment for the register_init const array
Martin Storsjö [Thu, 4 May 2017 18:45:34 +0000 (20:45 +0200)]
checkasm: aarch64: Specify alignment for the register_init const array

Loads from this strictly doesn't require alignment, but specify it
just for consistency with the arm version.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoarm: Avoid using .dn register aliases
Martin Storsjö [Tue, 9 May 2017 07:25:44 +0000 (10:25 +0300)]
arm: Avoid using .dn register aliases

clang now (in the upcoming 5.0 version) is capable of building our
arm assembly without relying on gas-preprocessor, although clang/LLVM
doesn't support .dn register aliases.

The VC1 MC assembly was only built and used if the chosen assembler
supported the .dn directives though. This was supported as long as
gas-preprocessor was used.

This means that VC1 decoding got a speed regression on clang 5.0,
unless the user manually chose using gas-preprocessor again.

By avoiding using the .dn register aliases, we can build the VC1 MC
assembly with the latest clang version.

Support for the .dn/.qn directives in clang/LLVM isn't actively planned,
see https://bugs.llvm.org/show_bug.cgi?id=18199.

This partially reverts 896a5bff64264f4d01ed98eacc97a67260c1e17e.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agompjpeg: Use proper CR/LF in multipart headers
Martin Storsjö [Wed, 10 May 2017 20:57:20 +0000 (23:57 +0300)]
mpjpeg: Use proper CR/LF in multipart headers

This is more correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoh264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking()
Sean McGovern [Sun, 7 May 2017 21:11:59 +0000 (17:11 -0400)]
h264_refs: validate the SPS pointer in ff_h264_execute_ref_pic_marking()

Bug-Id: 1036
CC: libav-stable@libav.org
7 years agohevcdec: move SEI message parsing into a separate header
James Almer [Sun, 7 May 2017 13:51:59 +0000 (10:51 -0300)]
hevcdec: move SEI message parsing into a separate header

It doesn't depend on hevcdec anymore.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agohevcdec: remove HEVCContext usage from hevc_sei
James Almer [Sun, 7 May 2017 13:51:58 +0000 (10:51 -0300)]
hevcdec: remove HEVCContext usage from hevc_sei

Based on the H264 SEI implementation.

This will be mainly useful once support for SEI messages that can be
used by the hevc parser are implemented, like Picture Timing.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoarm: Check for the .arch directive in configure
Martin Storsjö [Wed, 3 May 2017 08:18:51 +0000 (11:18 +0300)]
arm: Check for the .arch directive in configure

When targeting windows, the .arch directive isn't available.

So far, when building for windows, we've always used gas-preprocessor,
both when using msvc's armasm and when using clang. Lately, clang/llvm
has implemented the last missing piece (altmacro support) for building
our assembly without gas-preprocessor. This means that we now build
for arm/windows with clang without any extra compatibility layer.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agohevc: Add NEON 32x32 IDCT
Alexandra Hájková [Thu, 4 May 2017 08:52:52 +0000 (10:52 +0200)]
hevc: Add NEON 32x32 IDCT

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agohevc: 16x16 NEON idct: Use the right element size for loads/stores
Alexandra Hájková [Thu, 4 May 2017 08:49:16 +0000 (10:49 +0200)]
hevc: 16x16 NEON idct: Use the right element size for loads/stores

This doesn't change the actual behaviour of the code but improves
readability.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoaacsbr: Turnoff in the event of over read.
Alex Converse [Mon, 20 Mar 2017 19:44:42 +0000 (12:44 -0700)]
aacsbr: Turnoff in the event of over read.

Aliased compressed AAC bytes are almost certainly not meaningful SBR
data. In the wild this causes harsh artifacts switching HE-AAC streams
that don't have SBR headers aligned with segment boundaries.

Turning off SBR falls back to a default set of upsampling parameters
that can function as a sort of error concealment. This is consistent
with how the decoder handles other sorts of errors.

Bug-Id: 1047
CC: libav-stable@libav.org
Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
7 years agoaac: Split function to parse ADTS header data into public and private part
Diego Biurrun [Wed, 26 Apr 2017 16:57:54 +0000 (18:57 +0200)]
aac: Split function to parse ADTS header data into public and private part

This makes the currently semi-public avpriv_aac_parse_header() function
private to libavcodec and adds a proper public API function to return
the parts of the ADTS header required in libavformat.

7 years agobitstream: Move VLC reading functions into the vlc.h header
Luca Barbato [Sat, 29 Apr 2017 00:34:12 +0000 (00:34 +0000)]
bitstream: Move VLC reading functions into the vlc.h header

This makes the bitstream.h header leaner.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agovlc: Add header #include when the types are used
Luca Barbato [Sat, 29 Apr 2017 00:34:11 +0000 (00:34 +0000)]
vlc: Add header #include when the types are used

Do not rely on indirectly including it from bitstream.h.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agohevc: Add NEON add_residual for bitdepth 10
Alexandra Hájková [Mon, 1 May 2017 18:16:02 +0000 (20:16 +0200)]
hevc: Add NEON add_residual for bitdepth 10

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agovf_hwmap: Add reverse mapping for hardware frames
Mark Thompson [Sat, 4 Mar 2017 23:57:42 +0000 (23:57 +0000)]
vf_hwmap: Add reverse mapping for hardware frames

This is something of a hack.  It allocates a new hwframe context for
the target format, then maps it back to the source link and overwrites
the input link hw_frames_ctx so that the previous filter will receive
the frames we want from ff_get_video_buffer().  It may fail if
the previous filter imposes any additional constraints on the frames
it wants to use as output.

7 years agovf_hwmap: Add device derivation
Mark Thompson [Sat, 4 Mar 2017 23:57:41 +0000 (23:57 +0000)]
vf_hwmap: Add device derivation

Also refactor a little and improve error messages to make failure
cases easier to understand.

7 years agohwcontext: Improve allocation in derived contexts
Mark Thompson [Sat, 4 Mar 2017 23:57:40 +0000 (23:57 +0000)]
hwcontext: Improve allocation in derived contexts

Use the flags argument of av_hwframe_ctx_create_derived() to pass the
mapping flags which will be used on allocation.  Also, set the format
and hardware context on the allocated frame automatically - the user
should not be required to do this themselves.

7 years agohwcontext_qsv: Implement mapping frames to the child device type
Mark Thompson [Sat, 4 Mar 2017 23:57:45 +0000 (23:57 +0000)]
hwcontext_qsv: Implement mapping frames to the child device type

7 years agohwcontext_qsv: Implement mapping frames from the child device type
Mark Thompson [Sat, 4 Mar 2017 23:57:44 +0000 (23:57 +0000)]
hwcontext_qsv: Implement mapping frames from the child device type

Factorises out existing surface initialisation code to reuse.

7 years agohwcontext: Add frame context mapping for nontrivial contexts
Mark Thompson [Sat, 4 Mar 2017 23:57:39 +0000 (23:57 +0000)]
hwcontext: Add frame context mapping for nontrivial contexts

Some frames contexts are not usable without additional format-specific
state in hwctx.  This change adds new functions frames_derive_from and
frames_derive_to to initialise this state appropriately when deriving
a frames context which will require it to be set.

7 years agohwcontext_qsv: Support derivation from child devices
Mark Thompson [Sat, 4 Mar 2017 23:57:43 +0000 (23:57 +0000)]
hwcontext_qsv: Support derivation from child devices

7 years agoavconv: Support setting the hardware device to use when filtering
Mark Thompson [Sat, 4 Mar 2017 23:57:38 +0000 (23:57 +0000)]
avconv: Support setting the hardware device to use when filtering

This only supports one device globally, but more can be used by
passing them with input streams in hw_frames_ctx or by deriving new
devices inside a filter graph with hwmap.

7 years agoavconv_hw: Add implicit device creation with default parameters
Mark Thompson [Sun, 30 Apr 2017 13:11:51 +0000 (14:11 +0100)]
avconv_hw: Add implicit device creation with default parameters

If -hwaccel foo is supplied without any other device options, and the
foo hwaccel is meant to have a device, try to make such a device with
default parameters for the hwaccel to use.

7 years agovp9_raw_reorder_bsf: Remove a redundant allocation
Mark Thompson [Wed, 26 Apr 2017 20:39:54 +0000 (21:39 +0100)]
vp9_raw_reorder_bsf: Remove a redundant allocation

This was left over from an earlier version which created the new
packet inside the current frame structure.  Now it just leaks an
unused packet, so remove the allocation entirely.

7 years agompeg4audio: Make avpriv_copy_pce_data() inline
Anton Khirnov [Thu, 16 Mar 2017 16:34:12 +0000 (17:34 +0100)]
mpeg4audio: Make avpriv_copy_pce_data() inline

The function currently accepts a PutBitContext and a GetBitContext,
which hardcodes their sizes into the lavc ABI. Since the function is
quite small and only called in a few places, the simplest solution is
making it inline, thus avoiding a runtime dependency completely.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agoarm: hevc_idct: Tune the add_res_8x8 and add_res_32x32 functions
Martin Storsjö [Thu, 27 Apr 2017 21:36:40 +0000 (00:36 +0300)]
arm: hevc_idct: Tune the add_res_8x8 and add_res_32x32 functions

Before:              Cortex     A7      A8      A9     A53
hevc_add_res_8x8_8_neon:     116.0    58.7    80.2    90.7
hevc_add_res_32x32_8_neon:  1230.0   737.5  1187.5   974.4
After:
hevc_add_res_8x8_8_neon:      97.7    57.0    73.7    80.0
hevc_add_res_32x32_8_neon:  1216.0   698.7  1127.5   827.1

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agohevc: Add NEON add_residual for bitdepth 8
Seppo Tomperi [Thu, 27 Apr 2017 19:05:29 +0000 (21:05 +0200)]
hevc: Add NEON add_residual for bitdepth 8

Optimized by Alexandra Hájková.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agomlp_parser: Drop in-parser downmix functionality
Vittorio Giovara [Wed, 26 Apr 2017 15:08:17 +0000 (11:08 -0400)]
mlp_parser: Drop in-parser downmix functionality

request_channel_layout is a decoder option and it makes no sense
to have it in a parser.

This feature was needed in the past when the decoder was allowed
to reuse the avctx from the demuxer. Nowadays the decoder receives
only the parameters from it, already containing the real channel
layout (and the correct request_channel_layout option).

After initialization the decoder overwrites the channel layout
with the downmixed one that is actually output, so there is no need
to preserve this functionality in the parser.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoaac_ac3_parser: Drop in-parser downmix functionality
Vittorio Giovara [Wed, 26 Apr 2017 15:08:17 +0000 (11:08 -0400)]
aac_ac3_parser: Drop in-parser downmix functionality

request_channel_layout is a decoder option and it makes no sense
to have it in a parser.

This feature was needed in the past when the decoder was allowed
to reuse the avctx from the demuxer. Nowadays the decoder receives
only the parameters from it, already containing the real channel
layout (and the correct request_channel_layout option).

After initialization the decoder overwrites the channel layout
with the downmixed one that is actually output, so there is no need
to preserve this functionality in the parser.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agoavprobe: use av_spherical_projection_name() to print spherical projection names
James Almer [Tue, 4 Apr 2017 20:24:19 +0000 (17:24 -0300)]
avprobe: use av_spherical_projection_name() to print spherical projection names

Signed-off-by: James Almer <jamrial@gmail.com>
7 years agodump: use av_spherical_projection_name() to print spherical projection names
James Almer [Tue, 4 Apr 2017 20:24:18 +0000 (17:24 -0300)]
dump: use av_spherical_projection_name() to print spherical projection names

Signed-off-by: James Almer <jamrial@gmail.com>
7 years agospherical: add functions to retrieve and request projection names
James Almer [Thu, 20 Apr 2017 15:40:48 +0000 (11:40 -0400)]
spherical: add functions to retrieve and request projection names

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agovaapi: Add external control of allow-profile-mismatch
Mark Thompson [Mon, 27 Mar 2017 19:46:11 +0000 (20:46 +0100)]
vaapi: Add external control of allow-profile-mismatch

Uses the just-added ALLOW_PROFILE_MISMATCH flag.

7 years agolavc: Add flag to allow profile mismatch with hardware decoding
Mark Thompson [Mon, 27 Mar 2017 19:45:21 +0000 (20:45 +0100)]
lavc: Add flag to allow profile mismatch with hardware decoding

7 years agovaapi_encode: Use gop_size consistently in RC parameters
Mark Thompson [Sun, 2 Apr 2017 22:05:13 +0000 (23:05 +0100)]
vaapi_encode: Use gop_size consistently in RC parameters

The non-H.26[45] codecs already use this form.  Since we don't
currently generate I frames for codecs which support them separately
to IDR, the p_per_i variable is set to infinity by default so that it
doesn't interfere with any other calculation.  (All the code for I
frames still exists, and it works for H.264 if set manually.)

7 years agoavfoundation: update to use AVCodecParameters
Vittorio Giovara [Wed, 26 Apr 2017 15:31:28 +0000 (11:31 -0400)]
avfoundation: update to use AVCodecParameters

7 years agomlp: Factor out channel layout subset checks
Vittorio Giovara [Tue, 25 Apr 2017 20:26:58 +0000 (16:26 -0400)]
mlp: Factor out channel layout subset checks

7 years agomlp: Drop ff_ prefix from a static function
Vittorio Giovara [Tue, 25 Apr 2017 20:26:57 +0000 (16:26 -0400)]
mlp: Drop ff_ prefix from a static function

7 years agomlp: Rename the channel layout variable
Vittorio Giovara [Tue, 25 Apr 2017 20:26:56 +0000 (16:26 -0400)]
mlp: Rename the channel layout variable

Purely cosmetic change, will make code more readable once the new
channel layout takes over.

7 years agomatroskaenc: don't warn about unknown spherical metadata when there isn't any
James Almer [Fri, 14 Apr 2017 16:06:35 +0000 (13:06 -0300)]
matroskaenc: don't warn about unknown spherical metadata when there isn't any

The same warning is issued when actual unknown spherical metadata is
found further down in the function.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
7 years agomem: uninline av_malloc(z)_array()
Anton Khirnov [Thu, 30 Mar 2017 15:02:39 +0000 (17:02 +0200)]
mem: uninline av_malloc(z)_array()

Inlining public functions hardcodes their implementation into the ABI,
so it should be avoided unless there is a very good reason for it. No
such reason exists in this case.

7 years agohevc: Add support for bitdepth 10 for IDCT DC
Alexandra Hájková [Tue, 25 Apr 2017 17:43:41 +0000 (19:43 +0200)]
hevc: Add support for bitdepth 10 for IDCT DC

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agohevc: Add NEON IDCT DC functions for bitdepth 8
Seppo Tomperi [Tue, 25 Apr 2017 17:41:29 +0000 (19:41 +0200)]
hevc: Add NEON IDCT DC functions for bitdepth 8

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoclearvideo: Convert to the new bitstream reader
Diego Biurrun [Fri, 14 Apr 2017 18:42:47 +0000 (20:42 +0200)]
clearvideo: Convert to the new bitstream reader

7 years agoAdd ClearVideo decoder
Kostya Shishkov [Thu, 2 Mar 2017 10:21:48 +0000 (11:21 +0100)]
Add ClearVideo decoder

Only I-frames are decoded for now.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agoavprobe: Handle unknown values for the color description
Luca Barbato [Mon, 17 Apr 2017 13:48:54 +0000 (13:48 +0000)]
avprobe: Handle unknown values for the color description

print_str() cannot print NULL.

Bug-Id: 1040
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoutvideodec: Fix gradient prediction when stride does not match width
Paul B Mahol [Fri, 21 Apr 2017 19:44:28 +0000 (21:44 +0200)]
utvideodec: Fix gradient prediction when stride does not match width

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoutvideodec: Fix decoding odd sizes with interlaced video with some formats
Paul B Mahol [Fri, 21 Apr 2017 10:27:17 +0000 (12:27 +0200)]
utvideodec: Fix decoding odd sizes with interlaced video with some formats

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoavplay: Do not try to allocate new frames when the player is closing
Luca Barbato [Mon, 17 Apr 2017 22:22:17 +0000 (22:22 +0000)]
avplay: Do not try to allocate new frames when the player is closing

The allocation event can trigger while the decoding thread is already
closing.

Bug-Id: 1052
CC: libav-stable@libav.org
7 years agoconfigure: Fix sem_timedwait probe
Luca Barbato [Sun, 23 Apr 2017 14:10:20 +0000 (14:10 +0000)]
configure: Fix sem_timedwait probe

It requires pthreads.

7 years agoconfigure: Properly escape arguments in filter/filter_out helper functions
Luca Barbato [Thu, 6 Apr 2017 16:14:29 +0000 (18:14 +0200)]
configure: Properly escape arguments in filter/filter_out helper functions

The arguments may contain '$', which gets interpreted by the shell.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agodca: Move the downmix request check outside the loop
Anton Khirnov [Mon, 24 Apr 2017 20:39:32 +0000 (22:39 +0200)]
dca: Move the downmix request check outside the loop

7 years agovc1dec: raise an error if sprite picture data is missing
Sean McGovern [Sat, 22 Apr 2017 23:16:34 +0000 (19:16 -0400)]
vc1dec: raise an error if sprite picture data is missing

Bug-Id: 1013
CC: libav-stable@libav.org
7 years agodoc/examples/output: Cast pointer to the right (const) type
Diego Biurrun [Sat, 22 Apr 2017 11:19:04 +0000 (13:19 +0200)]
doc/examples/output: Cast pointer to the right (const) type

doc/examples/output.c:512:33: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type

7 years agodoc/examples/filter_audio: const correctness
Diego Biurrun [Sat, 22 Apr 2017 11:12:29 +0000 (13:12 +0200)]
doc/examples/filter_audio: const correctness

doc/examples/filter_audio.c:168:17: warning: assignment discards ‘const’ qualifier from pointer target type

7 years agoswscale-test: const correctness
Diego Biurrun [Wed, 19 Apr 2017 09:11:09 +0000 (11:11 +0200)]
swscale-test: const correctness

7 years agoqsvenc: Make sure the interlaced encoding works
Aaron Levinson [Mon, 17 Apr 2017 01:06:37 +0000 (18:06 -0700)]
qsvenc: Make sure the interlaced encoding works

And reduce the vertical alignment constraint when possible to reduce the
memory usage.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoqsvenc: Use MFXVideoENCODE_Query() to update the parameters
Aaron Levinson [Mon, 17 Apr 2017 01:07:42 +0000 (18:07 -0700)]
qsvenc: Use MFXVideoENCODE_Query() to update the parameters

Fill out the default/unset parameters with ones actually in use.

Matches the current MediaSDK example code.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agocheckasm: hevc: Add a hevc_ prefix to the add_residual functions
Martin Storsjö [Wed, 19 Apr 2017 07:37:51 +0000 (10:37 +0300)]
checkasm: hevc: Add a hevc_ prefix to the add_residual functions

This makes it easier to group them with the rest when running e.g.
--bench=hevc.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agomm: Skip unexpected audio packets
Luca Barbato [Mon, 17 Apr 2017 19:25:35 +0000 (19:25 +0000)]
mm: Skip unexpected audio packets

Bug-Id: 1046
CC: libav-stable@libav.org
7 years agomjpeg: Report non-3 component rgb lossless as not supported
Luca Barbato [Mon, 17 Apr 2017 19:11:57 +0000 (19:11 +0000)]
mjpeg: Report non-3 component rgb lossless as not supported

Bug-Id: 1043
CC: libav-stable@libav.org
7 years agoflv: Validate the packet size
Luca Barbato [Mon, 17 Apr 2017 14:10:52 +0000 (14:10 +0000)]
flv: Validate the packet size

Size can be negative at that point.

Bug-Id: 1041
CC: libav-stable@libav.org
7 years agotravis: Exclude gcc for the macOS target
Luca Barbato [Tue, 18 Apr 2017 18:21:35 +0000 (20:21 +0200)]
travis: Exclude gcc for the macOS target

On a normal macOS setup, 'gcc' is a symlink to clang. Therefore there is
little point in running the tests twice, with CC=gcc and CC=clang.

7 years agodca: Account for lfe when checking for the channel count
Luca Barbato [Mon, 17 Apr 2017 12:53:14 +0000 (12:53 +0000)]
dca: Account for lfe when checking for the channel count

Bug-Id: 1037
CC: libav-stable@libav.org
7 years agoswscale: Convert the check check_image_pointers helper to a macro
Luca Barbato [Sat, 15 Apr 2017 12:55:33 +0000 (14:55 +0200)]
swscale: Convert the check check_image_pointers helper to a macro

Avoid warnings about types mismatch and make the code a little simpler.

7 years agoswscale: Do not shift negative values directly
Luca Barbato [Sat, 15 Apr 2017 12:39:45 +0000 (14:39 +0200)]
swscale: Do not shift negative values directly

It is undefined in C as reported:
    warning: shifting a negative signed value is undefined

7 years agoutvideodec: Support for gradient prediction
Paul B Mahol [Fri, 7 Apr 2017 18:09:22 +0000 (20:09 +0200)]
utvideodec: Support for gradient prediction

Introduced with utvideo 18.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoutvideodec: Reuse the huffyuv add_left
Paul B Mahol [Fri, 23 Dec 2016 14:41:51 +0000 (15:41 +0100)]
utvideodec: Reuse the huffyuv add_left

~10% faster when simd is available.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoutvideodec: Support ULY4 and ULH4
Paul B Mahol [Sat, 3 Sep 2016 23:56:02 +0000 (01:56 +0200)]
utvideodec: Support ULY4 and ULH4

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoutvideodec: Support UQRA and UQRG
Paul B Mahol [Mon, 10 Apr 2017 09:35:00 +0000 (11:35 +0200)]
utvideodec: Support UQRA and UQRG

7 years agoswscale: Add gbrap10 output
Michael Niedermayer [Wed, 9 Nov 2016 23:02:50 +0000 (00:02 +0100)]
swscale: Add gbrap10 output

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoswscale: Add input support for gbrap10 pixel format
Paul B Mahol [Fri, 10 Jun 2016 11:01:26 +0000 (13:01 +0200)]
swscale: Add input support for gbrap10 pixel format

Signed-off-by: Paul B Mahol <onemda@gmail.com>
7 years agopixfmt: Add gbrap10 pixel format
Paul B Mahol [Fri, 10 Jun 2016 10:48:09 +0000 (12:48 +0200)]
pixfmt: Add gbrap10 pixel format

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoutvideodec: Support UQY2
Paul B Mahol [Mon, 10 Apr 2017 09:08:44 +0000 (11:08 +0200)]
utvideodec: Support UQY2

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agoavformat: Free the internal codec context at the end
Luca Barbato [Tue, 11 Apr 2017 23:46:30 +0000 (01:46 +0200)]
avformat: Free the internal codec context at the end

Avoid a use after free in avformat_find_stream_info.

CC: libav-stable@libav.org
7 years agogolomb: Simplify get_ur_golomb_jpegls
Luca Barbato [Tue, 11 Apr 2017 10:11:59 +0000 (12:11 +0200)]
golomb: Simplify get_ur_golomb_jpegls

The loop always consumes the bit read and the new bitstream reader
can read 0 bits just fine.

7 years agoutvideodec: Prevent possible signed overflow
Ganesh Ajjanagadde [Tue, 23 Feb 2016 04:21:58 +0000 (23:21 -0500)]
utvideodec: Prevent possible signed overflow

Doing slice_end - slice_start is unsafe and can lead to undefined behavior
until slice_end has been properly sanitized.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
7 years agofmvc: Add FATE tests
Diego Biurrun [Tue, 21 Mar 2017 11:16:00 +0000 (12:16 +0100)]
fmvc: Add FATE tests

7 years agoAdd FM Screen Capture Codec decoder
Paul B Mahol [Mon, 6 Feb 2017 08:17:29 +0000 (09:17 +0100)]
Add FM Screen Capture Codec decoder

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agohevc: Add NEON 16x16 IDCT
Alexandra Hájková [Wed, 12 Apr 2017 07:29:44 +0000 (09:29 +0200)]
hevc: Add NEON 16x16 IDCT

The speedup vs C code is around 6-13x.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agoac3_parser: add a public function for parsing the data required by the demuxer
Anton Khirnov [Thu, 30 Mar 2017 14:56:28 +0000 (16:56 +0200)]
ac3_parser: add a public function for parsing the data required by the demuxer

Make the current semi-public avpriv_ac3_parse_header() private to lavc.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agothread: Define ff_mutex_* macros as stub functions when threads are disabled
Diego Biurrun [Fri, 31 Mar 2017 17:04:56 +0000 (19:04 +0200)]
thread: Define ff_mutex_* macros as stub functions when threads are disabled

Silences a bunch of "statement with no effect" warnings with threads disabled.

7 years agoexamples: Fixed and extended Doxygen documentation
Andreas Unterweger [Mon, 10 Apr 2017 11:06:18 +0000 (13:06 +0200)]
examples: Fixed and extended Doxygen documentation

Added parameter descriptions for all functions
 and converted in-function comments into regular
 (non-Doxygen) comments.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
7 years agodecode: Initialize ret before using it
Vittorio Giovara [Mon, 3 Apr 2017 19:58:15 +0000 (21:58 +0200)]
decode: Initialize ret before using it

libavcodec/decode.c:608:9: warning: variable 'ret' is
      used uninitialized whenever 'if' condition is false