ffmpeg.git
4 years agox86inc: Support arbitrary stack alignments
Henrik Gramner [Sat, 1 Aug 2015 15:27:32 +0000 (17:27 +0200)]
x86inc: Support arbitrary stack alignments

Change ALLOC_STACK to always align the stack before allocating stack space for
consistency. Previously alignment would occur either before or after allocating
stack space depending on whether manual alignment was required or not.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agox86inc: warn if XOP integer FMA instruction emulation is impossible
Anton Mitrofanov [Sat, 1 Aug 2015 15:27:31 +0000 (17:27 +0200)]
x86inc: warn if XOP integer FMA instruction emulation is impossible

Emulation requires a temporary register if arguments 1 and 4 are the same; this
doesn't obey the semantics of the original instruction, so we can't emulate
that in x86inc.

Also add pmacsdql emulation.

Signed-off-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agocheckasm: Remove unnecessary include
Henrik Gramner [Wed, 5 Aug 2015 21:27:41 +0000 (23:27 +0200)]
checkasm: Remove unnecessary include

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agox86: dcadsp: Avoid SSE2 instructions in SSE functions
Henrik Gramner [Sat, 1 Aug 2015 15:10:22 +0000 (17:10 +0200)]
x86: dcadsp: Avoid SSE2 instructions in SSE functions

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agomovenc: Place the sidx index after the initial moov/mdat pair
Martin Storsjö [Sun, 9 Aug 2015 19:40:39 +0000 (22:40 +0300)]
movenc: Place the sidx index after the initial moov/mdat pair

For fragmented files with non-empty moov, with a fragment index
(sidx), place the index after the initial moov/mdat pair.

Previously, for this pathological case, the index was written
at the start of the file.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Rename reserved_moov_pos to reserved_header_pos
Martin Storsjö [Sun, 9 Aug 2015 19:39:28 +0000 (22:39 +0300)]
movenc: Rename reserved_moov_pos to reserved_header_pos

The same field is also used for writing the sidx index header,
for fragmented files, when the faststart flag is used.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agomovenc: Check that frag_info entries exist in mov_write_sidx_tag
Martin Storsjö [Sun, 9 Aug 2015 19:36:25 +0000 (22:36 +0300)]
movenc: Check that frag_info entries exist in mov_write_sidx_tag

This fixes crashes with pathological cases when trying to write
a sidx index (via the -movflags faststart option, in combination
with fragmenting options), when no fragments actually have been
written. (This is possible if the empty_moov flag isn't used,
so that all actual packet data is written in the moov/mdat pair,
and no moof/mdat pairs have been written.)

In these pathological cases, no sidx should be written at all.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agocosmetics: Drop spurious spaces from if clauses
Paolo Bizzarri [Fri, 7 Aug 2015 19:55:28 +0000 (21:55 +0200)]
cosmetics: Drop spurious spaces from if clauses

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoh264: Do not print an error when the buffer has to be refilled
Luca Barbato [Thu, 6 Aug 2015 09:55:48 +0000 (11:55 +0200)]
h264: Do not print an error when the buffer has to be refilled

Partially amends 9469370fb32679352e66826daf77bdd2e6f067b5

4 years agoh264: Use AVERROR return codes instead of -1
Jake Sebastian-Jones [Wed, 5 Aug 2015 06:15:39 +0000 (16:15 +1000)]
h264: Use AVERROR return codes instead of -1

And report why it fails.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoasf: Use time_t where needed
Luca Barbato [Tue, 4 Aug 2015 19:40:04 +0000 (21:40 +0200)]
asf: Use time_t where needed

gmtime takes a time_t not an uint64_t.

4 years agoasfdec: read values properly
Alexandra Hájková [Tue, 4 Aug 2015 10:46:27 +0000 (12:46 +0200)]
asfdec: read values properly

The length of BOOL values is 16 bits in the Metadata Object but
32 bits in the Extended Content Description Object.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoconfigure: Silence error messages when probing compiler
Shiz [Mon, 3 Aug 2015 10:44:44 +0000 (12:44 +0200)]
configure: Silence error messages when probing compiler

On Xcode's clang on OS X, $cc --version will output a 'Configured with:'
line to stderr, which clobbers the configure script output. As this line
serves no further purpose, it should be silenced.

The same applies to apple-gcc 4.2.1, which complains that it can not
understand the kernel version it is running on.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodrawtext: Move the strftime expansion in a separate function
Luca Barbato [Sat, 1 Aug 2015 09:22:11 +0000 (11:22 +0200)]
drawtext: Move the strftime expansion in a separate function

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodrawtext: Drop stray guards
Luca Barbato [Fri, 31 Jul 2015 11:49:03 +0000 (13:49 +0200)]
drawtext: Drop stray guards

There is a fallback for localtime_r and it is in use already.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agopng: Be more informative regarding signature errors
Luca Barbato [Fri, 31 Jul 2015 12:24:08 +0000 (14:24 +0200)]
png: Be more informative regarding signature errors

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoopusdec: properly handle mismatching configurations in multichannel streams
Anton Khirnov [Mon, 27 Jul 2015 09:13:53 +0000 (11:13 +0200)]
opusdec: properly handle mismatching configurations in multichannel streams

The substreams can have different resampling delays, so an additional
level of buffering is needed to synchronize them.

Bug-Id: 876

4 years agoasfdec: prevent the memory leak while reading metadata
Alexandra Hájková [Fri, 31 Jul 2015 07:53:40 +0000 (09:53 +0200)]
asfdec: prevent the memory leak while reading metadata

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agox86: dct: Disable dct32_float_sse on x86-64
Henrik Gramner [Sat, 1 Aug 2015 15:12:48 +0000 (17:12 +0200)]
x86: dct: Disable dct32_float_sse on x86-64

There is an SSE2 implementation so the SSE version is never used. The "SSE"
version also happens to contain SSE2 instructions on x86-64.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agohevc: Split the sei parsing in 3 functions
Luca Barbato [Sat, 1 Aug 2015 13:39:44 +0000 (15:39 +0200)]
hevc: Split the sei parsing in 3 functions

4 years agohevc: Use switch instead of if-nests in decode_nal_sei_message
Luca Barbato [Sat, 25 Jul 2015 13:26:29 +0000 (15:26 +0200)]
hevc: Use switch instead of if-nests in decode_nal_sei_message

Makes simpler to add support for more SEI types.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agohevc: Use a proper enum for the SEI values
Luca Barbato [Sat, 25 Jul 2015 13:26:28 +0000 (15:26 +0200)]
hevc: Use a proper enum for the SEI values

And use the correct value for decoded_picture_hash.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoavcodec: h264: Extract decoder methods
David Holm [Fri, 31 Jul 2015 19:06:13 +0000 (21:06 +0200)]
avcodec: h264: Extract decoder methods

Extract two methods from decode_registered_user_data in order to improve
code readability. Also make the constant holding the allocation size a
64-bit unsigned integer so that the size comparison against INT_MAX makes
sense.

Bug-Id: CID1312090

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoasfdec: remove improper assignement that caused wrong timestamps
Alexandra Hájková [Mon, 27 Jul 2015 11:37:04 +0000 (13:37 +0200)]
asfdec: remove improper assignement that caused wrong timestamps

and remove unneeded variable

Sample-Id: https://samples.libav.org/asf-wmv/asf-code-53/movn018.asf

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: do not export empty metadata
Alexandra Hájková [Mon, 27 Jul 2015 17:42:15 +0000 (19:42 +0200)]
asfdec: do not export empty metadata

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agodes: extend av_des_init() doxy
James Almer [Fri, 31 Jul 2015 07:01:06 +0000 (09:01 +0200)]
des: extend av_des_init() doxy

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agodes: add av_des_alloc()
James Almer [Tue, 28 Jul 2015 19:57:49 +0000 (16:57 -0300)]
des: add av_des_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoxtea: add av_xtea_alloc()
James Almer [Tue, 28 Jul 2015 19:57:48 +0000 (16:57 -0300)]
xtea: add av_xtea_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agorc4: extend av_rc4_init() doxy
James Almer [Fri, 31 Jul 2015 07:01:06 +0000 (09:01 +0200)]
rc4: extend av_rc4_init() doxy

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agorc4: add av_rc4_alloc()
James Almer [Tue, 28 Jul 2015 19:57:47 +0000 (16:57 -0300)]
rc4: add av_rc4_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoblowfish: add av_blowfish_alloc()
James Almer [Tue, 28 Jul 2015 19:57:46 +0000 (16:57 -0300)]
blowfish: add av_blowfish_alloc()

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: free AVDictionaries properly when closing the demuxer
Alexandra Hájková [Thu, 30 Jul 2015 17:59:25 +0000 (19:59 +0200)]
asfdec: free AVDictionaries properly when closing the demuxer

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agofate/mp3: use the f32le format as output
Anton Khirnov [Mon, 27 Jul 2015 19:49:17 +0000 (21:49 +0200)]
fate/mp3: use the f32le format as output

Those tests test the float decoder, so it is preferable to dump the
decoder output directly instead of converting it to s16.

4 years agofate/mp3: specify the number of output samples instead of filesize
Anton Khirnov [Mon, 27 Jul 2015 19:43:22 +0000 (21:43 +0200)]
fate/mp3: specify the number of output samples instead of filesize

This is not dependent on the output format.

4 years agortsp: Only interpret $ as interleaved packet indicator at the start of replies
Martin Storsjö [Wed, 21 Jan 2015 12:05:43 +0000 (13:05 +0100)]
rtsp: Only interpret $ as interleaved packet indicator at the start of replies

Allow $ as character anywhere within normal RTSP replies - both
within the lines, and as the first character of RTSP header lines.
(The existing old comment indicated that an inline packet could
start at any line within a RTSP reply header, but that doesn't
sound valid to me, and I'm not sure if the existing code
handled that correctly either.)

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohmac: add missing version bump and APIChanges entry
James Almer [Thu, 30 Jul 2015 07:02:23 +0000 (04:02 -0300)]
hmac: add missing version bump and APIChanges entry

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohls: Save and forward avio options
Luca Barbato [Thu, 23 Jul 2015 19:11:58 +0000 (21:11 +0200)]
hls: Save and forward avio options

Make possible to send the custom headers and override the user agent.

Reported-by: BenWonder
4 years agohttp: Add the trailing endlines if they are missing
Luca Barbato [Thu, 23 Jul 2015 19:14:09 +0000 (21:14 +0200)]
http: Add the trailing endlines if they are missing

Makes slightly easier the life of those want to use the option
from the command line

4 years agocheckasm: Include io.h for isatty, if available
Martin Storsjö [Wed, 29 Jul 2015 20:08:09 +0000 (23:08 +0300)]
checkasm: Include io.h for isatty, if available

configure does check for isatty, and checkasm properly checks
HAVE_ISATTY, but on some platforms (e.g. WinRT), io.h needs to be
included for isatty to be available.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortmpproto: free hmac context properly
James Almer [Thu, 30 Jul 2015 03:00:01 +0000 (00:00 -0300)]
rtmpproto: free hmac context properly

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agortmpproto: use AVHMAC instead of a custom implementation
James Almer [Wed, 29 Jul 2015 03:23:43 +0000 (00:23 -0300)]
rtmpproto: use AVHMAC instead of a custom implementation

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agofate: add test vectors for HMAC SHA and SHA-2
James Almer [Tue, 28 Jul 2015 18:36:15 +0000 (15:36 -0300)]
fate: add test vectors for HMAC SHA and SHA-2

Also replace custom tests for MD5 with those published in RFC 2202

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohmac: add support for SHA-2
James Almer [Tue, 28 Jul 2015 18:36:14 +0000 (15:36 -0300)]
hmac: add support for SHA-2

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Don't force _WIN32_WINNT to an older version if targeting winphone/winrt
Martin Storsjö [Fri, 24 Jul 2015 20:12:43 +0000 (23:12 +0300)]
configure: Don't force _WIN32_WINNT to an older version if targeting winphone/winrt

This avoids having to manually set _WIN32_WINNT in --extra-cflags
when targeting these API families, which only was necessary to
work around configure setting _WIN32_WINNT to an older version
by default.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600
Martin Storsjö [Sat, 25 Jul 2015 17:30:31 +0000 (20:30 +0300)]
dxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600

If _WIN32_WINNT is unset, we force it to a new enough value to
make sure the necessary definitions are visible.

When targeting Windows Phone or Windows RT, _WIN32_WINNT should
be at least 0x0602 - otherwise the windows headers themselves
can cause errors (which technically are bugs in the headers).

Raising this value here shouldn't hurt; the alternative would
be to not touch it at all if WINAPI_FAMILY is set to phone/app,
or to force setting it to 0x0602 in configure if unset (for phone/app).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoh264: fix AVDISCARD_NONKEY for some interlaced content
John Högberg [Fri, 24 Jul 2015 13:30:38 +0000 (15:30 +0200)]
h264: fix AVDISCARD_NONKEY for some interlaced content

When skip_frame is set to _NONKEY the decoder skips everything except intra
slices, which breaks frames that consist of an intra field together with any
other field type; half the frame becomes garbage. This patch fixes the issue by
letting non-intra slices through if they're part of a keyframe.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: do not align Data Object when Broadcast Flag is set
Alexandra Hájková [Thu, 23 Jul 2015 10:33:37 +0000 (12:33 +0200)]
asfdec: do not align Data Object when Broadcast Flag is set

its size is invalid in this case

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoqsvdec_mpeg2: drop an incorrect comment
Anton Khirnov [Mon, 27 Jul 2015 06:01:09 +0000 (08:01 +0200)]
qsvdec_mpeg2: drop an incorrect comment

It got copypasted from the h264 decoder, but it does not apply to mpeg2.

4 years agofate: Add hap-chunk ref file
Vittorio Giovara [Mon, 27 Jul 2015 15:56:12 +0000 (16:56 +0100)]
fate: Add hap-chunk ref file

Missing from the push of 3ee217853a6741b829a2683f49c590618891b1ab.

4 years agohap: Add utility functions file
Vittorio Giovara [Mon, 27 Jul 2015 15:20:29 +0000 (16:20 +0100)]
hap: Add utility functions file

Missing from the push of 3ee217853a6741b829a2683f49c590618891b1ab.

4 years agoSupport the Hap chunked frame format
Tom Butterworth [Thu, 23 Jul 2015 18:39:29 +0000 (14:39 -0400)]
Support the Hap chunked frame format

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agohap: Move some per-stream setup into decoder init rather than per-frame
Tom Butterworth [Thu, 23 Jul 2015 18:37:08 +0000 (14:37 -0400)]
hap: Move some per-stream setup into decoder init rather than per-frame

This change will reject frames with a texture type which does not match
the stream description.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agolavc: Update version and APIchanges
Vittorio Giovara [Thu, 2 Jul 2015 23:50:54 +0000 (00:50 +0100)]
lavc: Update version and APIchanges

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agolavc: Consistently prefix input buffer defines
Vittorio Giovara [Mon, 29 Jun 2015 21:48:34 +0000 (23:48 +0200)]
lavc: Consistently prefix input buffer defines

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agolavc: AV-prefix all codec capabilities
Vittorio Giovara [Tue, 7 Jul 2015 00:41:27 +0000 (01:41 +0100)]
lavc: AV-prefix all codec capabilities

Express bitfields more simply.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agolavc: AV-prefix all codec flags
Vittorio Giovara [Mon, 29 Jun 2015 19:59:37 +0000 (21:59 +0200)]
lavc: AV-prefix all codec flags

Convert doxygen to multiline and express bitfields more simply.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agolavc: Deprecate avctx.me_method
Vittorio Giovara [Tue, 7 Jul 2015 00:20:43 +0000 (01:20 +0100)]
lavc: Deprecate avctx.me_method

This option is extremely codec specific and only a few codecs employ it.
Move it to codec private options instead: mpegenc family supports only 3
values, xavs and x264 use 5, and xvid has a different metric entirely.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agowmv2enc: Check memory allocation
Vittorio Giovara [Fri, 24 Jul 2015 03:24:33 +0000 (04:24 +0100)]
wmv2enc: Check memory allocation

4 years agoac3enc_template: Use the correct context field
Vittorio Giovara [Fri, 24 Jul 2015 04:17:26 +0000 (05:17 +0100)]
ac3enc_template: Use the correct context field

For audio encoders, delay has no effect, use the appropriate one,
initial_padding (see 2df0c32).

4 years agoconfigure: Check for _M_ARMT to detect thumb when using MSVC
Martin Storsjö [Fri, 24 Jul 2015 20:29:17 +0000 (23:29 +0300)]
configure: Check for _M_ARMT to detect thumb when using MSVC

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Check MSVC defines for identifying hardfloat
Martin Storsjö [Fri, 24 Jul 2015 20:25:10 +0000 (23:25 +0300)]
configure: Check MSVC defines for identifying hardfloat

This macro identifies whether VFPv3 is available; MSVC defaults
to hardfloat (except for older MSVC versions for CE, targeting
ARMv4).

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Default to armasm for --toolchain=msvc when targeting arm
Martin Storsjö [Fri, 24 Jul 2015 20:23:29 +0000 (23:23 +0300)]
configure: Default to armasm for --toolchain=msvc when targeting arm

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Simplify, remove an unnecessary intermediate variable
Martin Storsjö [Mon, 27 Jul 2015 06:40:28 +0000 (09:40 +0300)]
configure: Simplify, remove an unnecessary intermediate variable

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodoc: Remove the now unnecessary remark about PATH and link.exe
Martin Storsjö [Sun, 26 Jul 2015 17:23:30 +0000 (20:23 +0300)]
doc: Remove the now unnecessary remark about PATH and link.exe

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoasfdec: interpret the first flag in an asf packet as length flag
Alexandra Hájková [Fri, 24 Jul 2015 09:22:56 +0000 (11:22 +0200)]
asfdec: interpret the first flag in an asf packet as length flag

if the error correction flag is not set, a packet starts with payload

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agocheckasm: Modify report format
Henrik Gramner [Fri, 24 Jul 2015 21:46:20 +0000 (23:46 +0200)]
checkasm: Modify report format

Makes it a bit more clear where each test belongs.

Suggested by Anton Khirnov.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoqsvdec_*: add missing CODEC_CAP_DR1
Anton Khirnov [Sat, 25 Jul 2015 16:03:35 +0000 (18:03 +0200)]
qsvdec_*: add missing CODEC_CAP_DR1

4 years agoconfigure: Only redirect strtoll to _strtoi64 if necessary
Martin Storsjö [Sat, 25 Jul 2015 19:54:26 +0000 (22:54 +0300)]
configure: Only redirect strtoll to _strtoi64 if necessary

This isn't necessary any longer on MSVC 2013 Update 4.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Only redefine inline to __inline for msvc if necessary
Martin Storsjö [Sat, 25 Jul 2015 19:47:47 +0000 (22:47 +0300)]
configure: Only redefine inline to __inline for msvc if necessary

This isn't necessary on MSVC 2015 any longer.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: Only add -FIstdlib.h for msvc/icl if necessary
Martin Storsjö [Sat, 25 Jul 2015 19:09:21 +0000 (22:09 +0300)]
configure: Only add -FIstdlib.h for msvc/icl if necessary

This is only necessary on MSVC 2010/2012 (and possibly on some
ICL versions). This both avoids an extra hack on newer MSVC
versions, and better documents what the extra compiler option
is used for.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoforce WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h
Steve Lhomme [Sun, 26 Jul 2015 11:35:47 +0000 (13:35 +0200)]
force WINAPI_FAMILY to WINAPI_FAMILY_DESKTOP_APP to be able to use dxva.h

The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.

Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.

The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agocheckasm: Use LOCAL_ALIGNED
Michael Niedermayer [Fri, 24 Jul 2015 21:46:21 +0000 (23:46 +0200)]
checkasm: Use LOCAL_ALIGNED

Fixes alignment issues and bus errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agolavc: add Intel libmfx-based HEVC decoder.
Anton Khirnov [Tue, 16 Jun 2015 16:22:11 +0000 (18:22 +0200)]
lavc: add Intel libmfx-based HEVC decoder.

4 years agolavc: add Intel libmfx-based MPEG2 decoder.
Anton Khirnov [Tue, 16 Jun 2015 16:22:11 +0000 (18:22 +0200)]
lavc: add Intel libmfx-based MPEG2 decoder.

4 years agolavc: add a HEVC mp4->annex B bitstream filter
Anton Khirnov [Thu, 9 Jul 2015 09:28:38 +0000 (11:28 +0200)]
lavc: add a HEVC mp4->annex B bitstream filter

4 years agoqsvdec: move qsv_process_data() from qsvdec_h264 to the common code
Anton Khirnov [Tue, 21 Jul 2015 16:57:49 +0000 (18:57 +0200)]
qsvdec: move qsv_process_data() from qsvdec_h264 to the common code

It will be shared with the upcoming mpeg2 and hevc decoders.

4 years agoqsvenc_hevc: fix enum declaration
Anton Khirnov [Tue, 21 Jul 2015 17:43:34 +0000 (19:43 +0200)]
qsvenc_hevc: fix enum declaration

Declare a named enum, not a variable with anonymous enum type.

4 years agoqsvdec: fix a memleak of async_fifo
Anton Khirnov [Tue, 21 Jul 2015 17:41:59 +0000 (19:41 +0200)]
qsvdec: fix a memleak of async_fifo

init() is called whenever format changes, so current code would leak the
fifo in this case.

4 years agoqsvdec: avoid an infinite loop with no consumed data and no output
Anton Khirnov [Thu, 9 Jul 2015 18:08:13 +0000 (20:08 +0200)]
qsvdec: avoid an infinite loop with no consumed data and no output

This is triggerable with the HEVC decoder. It is unclear yet whether the
bug is in the calling code or the MSDK, but it seems better to check for
this in any case.

4 years agouse a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe
Steve Lhomme [Fri, 24 Jul 2015 07:38:04 +0000 (09:38 +0200)]
use a wrapper script to call MS link.exe to avoid mixing with /usr/bin/link.exe

Fallback to "link" in the path if the one next to cl is not found.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agoconfigure: force -nologo- when detecting MSVC
Steve Lhomme [Thu, 23 Jul 2015 17:25:44 +0000 (19:25 +0200)]
configure: force -nologo- when detecting MSVC

The -nologo- option is the inverse of -nologo, reenabling printing the
"logo" version header. This is useful if the compiler actually is a
wrapper that forces -nologo.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agodds: Write the palette in the native endian form
Martin Storsjö [Thu, 23 Jul 2015 14:59:44 +0000 (17:59 +0300)]
dds: Write the palette in the native endian form

This fixes the palette on big endian, broken (or, differing from
little endian) since 57214b2f7.

Signed-off-by: Martin Storsjö <martin@martin.st>
4 years agohap: Name enums, remove unused struct member
Tom Butterworth [Tue, 21 Jul 2015 00:21:39 +0000 (01:21 +0100)]
hap: Name enums, remove unused struct member

4 years agosnappy: Refactor so ff_snappy_uncompress() uses an existing buffer
Tom Butterworth [Tue, 21 Jul 2015 00:21:38 +0000 (01:21 +0100)]
snappy: Refactor so ff_snappy_uncompress() uses an existing buffer

Some uses of Snappy require uncompressing to positions within
an existing buffer. Also adds a function to get the uncompressed
length of Snappy data.

4 years agoasfdec: remove the wrong condition
Alexandra Hájková [Wed, 22 Jul 2015 14:10:25 +0000 (16:10 +0200)]
asfdec: remove the wrong condition

this condition breaks reading from the pipe as data_reached variable
have to be set to break while in the asf_read_header just after the Data
Object is found

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agohap: Fix slice size computation
Tom Butterworth [Wed, 22 Jul 2015 23:01:01 +0000 (00:01 +0100)]
hap: Fix slice size computation

A bug was introduced in 977105407cae55876041dddbf4ce0934cdd4cd6c whereby when
frame height wasn't divisible by the number of threads, pixels would be omitted
from the bottom rows during decode.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agodds: Fix the slice size computation
Tom Butterworth [Wed, 22 Jul 2015 23:03:29 +0000 (00:03 +0100)]
dds: Fix the slice size computation

A bug was introduced in 6b2b26e7af3ede0abfb46eb5725c26d1083f50bc whereby when
frame height wasn't divisible by the number of threads, pixels would be omitted
from the bottom rows during decode.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoaf_channelmap: properly set the supported output channel layouts
Anton Khirnov [Wed, 22 Jul 2015 09:30:37 +0000 (11:30 +0200)]
af_channelmap: properly set the supported output channel layouts

The current code expects query_formats() to be called exactly once, it
will leak if it's not called at all (filter initialized, but never
configured or used) or try to read freed memory if it's called more than
once.

Found-by: James Almer <jamrial@gmail.com>
CC: libav-stable@libav.org
4 years agoasfdec: increment nb_streams right after the stream allocation
Alexandra Hájková [Thu, 23 Jul 2015 06:59:53 +0000 (08:59 +0200)]
asfdec: increment nb_streams right after the stream allocation

to prevent possible memory leaks

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: set nb_streams to 0 in the asf_read_close
Alexandra Hájková [Wed, 22 Jul 2015 19:38:15 +0000 (21:38 +0200)]
asfdec: set nb_streams to 0 in the asf_read_close

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agompegvideo: Add missing include
Vittorio Giovara [Mon, 20 Jul 2015 17:24:19 +0000 (18:24 +0100)]
mpegvideo: Add missing include

4 years agodds: Add a rgba fate test
Vittorio Giovara [Mon, 20 Jul 2015 22:47:14 +0000 (23:47 +0100)]
dds: Add a rgba fate test

4 years agodds: Fix 32bpp bitmaps decoding
Michael Niedermayer [Mon, 20 Jul 2015 22:47:13 +0000 (23:47 +0100)]
dds: Fix 32bpp bitmaps decoding

Found-By: ami_stuff
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
4 years agodds: Fix palette decoding
Vittorio Giovara [Mon, 20 Jul 2015 22:47:12 +0000 (23:47 +0100)]
dds: Fix palette decoding

Red and blue channels were decoded in the wrong order.

Found-By: ami_stuff
4 years agodds: Fix enum declaration
Vittorio Giovara [Wed, 22 Jul 2015 12:20:07 +0000 (13:20 +0100)]
dds: Fix enum declaration

Drop the global variables with anonymous enum type.

4 years agoasfdec: avoid crash in the case when chunk_len is 0 or pkt_len is 0
Alexandra Hájková [Tue, 21 Jul 2015 08:45:01 +0000 (10:45 +0200)]
asfdec: avoid crash in the case when chunk_len is 0 or pkt_len is 0

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: close the demuxer properly when read_header is failing
Alexandra Hájková [Fri, 17 Jul 2015 12:17:02 +0000 (14:17 +0200)]
asfdec: close the demuxer properly when read_header is failing

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoasfdec: factor out seeking to the Data Object outside while
Alexandra Hájková [Tue, 21 Jul 2015 07:14:39 +0000 (09:14 +0200)]
asfdec: factor out seeking to the Data Object outside while

return INVALIDDARA if Data Object was not found

Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoqsvenc_hevc: use the correct HW plugin UID
Anton Khirnov [Sun, 19 Jul 2015 09:24:36 +0000 (11:24 +0200)]
qsvenc_hevc: use the correct HW plugin UID

4 years agocheckasm: remove empty array initializer list in h264pred test
Janne Grunau [Mon, 20 Jul 2015 21:17:57 +0000 (23:17 +0200)]
checkasm: remove empty array initializer list in h264pred test

Fixes MSVC compilation.