ffmpeg.git
3 years agobuild: Fix dependencies for components relying on H.263 data tables
Diego Biurrun [Tue, 16 Feb 2016 19:01:30 +0000 (20:01 +0100)]
build: Fix dependencies for components relying on H.263 data tables

3 years agobuild: Add missing dependencies for eatqi decoder
Diego Biurrun [Tue, 16 Feb 2016 17:27:34 +0000 (18:27 +0100)]
build: Add missing dependencies for eatqi decoder

3 years agobuild: Add missing celp_math dependency for G723_1 encoder and decoder
Vittorio Giovara [Fri, 12 Feb 2016 19:05:04 +0000 (14:05 -0500)]
build: Add missing celp_math dependency for G723_1 encoder and decoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agocheckasm: Use standard multiple inclusion guards
Diego Biurrun [Tue, 16 Feb 2016 17:12:28 +0000 (18:12 +0100)]
checkasm: Use standard multiple inclusion guards

3 years agoprofiles: Add missing #endif comment
Diego Biurrun [Tue, 16 Feb 2016 17:04:16 +0000 (18:04 +0100)]
profiles: Add missing #endif comment

3 years agocosmetics: Drop particularly redundant silly comments
Diego Biurrun [Tue, 16 Feb 2016 17:02:14 +0000 (18:02 +0100)]
cosmetics: Drop particularly redundant silly comments

3 years agocosmetics: Drop empty comment lines
Diego Biurrun [Tue, 16 Feb 2016 17:01:29 +0000 (18:01 +0100)]
cosmetics: Drop empty comment lines

3 years agohwcontext_cuda/vdpau: add to skipheaders
Anton Khirnov [Mon, 15 Feb 2016 18:52:33 +0000 (19:52 +0100)]
hwcontext_cuda/vdpau: add to skipheaders

3 years agoqsv: add a missing #include
Anton Khirnov [Mon, 15 Feb 2016 17:49:29 +0000 (18:49 +0100)]
qsv: add a missing #include

Needed for enum AVCodecID

3 years agomov: Fix the format specifier type for size
Vittorio Giovara [Tue, 16 Feb 2016 02:46:16 +0000 (21:46 -0500)]
mov: Fix the format specifier type for size

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoconfigure: Relax the implication of --enable for components
Luca Barbato [Mon, 15 Feb 2016 00:49:18 +0000 (01:49 +0100)]
configure: Relax the implication of --enable for components

Do not error out if some subcomponents cannot be enabled.

Reported-By: RT|AO
3 years agofft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs
Diego Biurrun [Sat, 30 Jan 2016 13:39:00 +0000 (14:39 +0100)]
fft: ppc: Place ff_fft_calc_interleave_altivec() under correct ifdefs

Also fix #endif comments in the FFT init code.

3 years agoavconv: pass the hw context from filters to the encoder
Anton Khirnov [Tue, 2 Feb 2016 09:38:58 +0000 (10:38 +0100)]
avconv: pass the hw context from filters to the encoder

3 years agonvenc: support CUDA frames as input
Anton Khirnov [Mon, 1 Feb 2016 14:56:31 +0000 (15:56 +0100)]
nvenc: support CUDA frames as input

3 years agolavc: add a field for passing AVHWFramesContext to encoders
Anton Khirnov [Mon, 1 Feb 2016 14:39:50 +0000 (15:39 +0100)]
lavc: add a field for passing AVHWFramesContext to encoders

3 years agolavfi: add a filter for uploading normal frames to CUDA
Anton Khirnov [Fri, 15 Jan 2016 11:42:42 +0000 (12:42 +0100)]
lavfi: add a filter for uploading normal frames to CUDA

3 years agoavconv: use the new buffersrc parameters API
Anton Khirnov [Fri, 12 Feb 2016 08:22:15 +0000 (09:22 +0100)]
avconv: use the new buffersrc parameters API

The timebase change in the zmbv-8bit test is due to the fact that
previously the timebase string was evaluated as floating point, then
converted to a rational. After this commit, the timebase is passed
directly as is.

3 years agolavfi: pass the hw frames context through the filter chain
Anton Khirnov [Tue, 2 Feb 2016 08:47:16 +0000 (09:47 +0100)]
lavfi: pass the hw frames context through the filter chain

3 years agohwcontext: add a CUDA implementation
Anton Khirnov [Wed, 13 Jan 2016 13:25:58 +0000 (14:25 +0100)]
hwcontext: add a CUDA implementation

3 years agopixfmt: add a CUDA hwaccelled format
Anton Khirnov [Wed, 13 Jan 2016 13:17:54 +0000 (14:17 +0100)]
pixfmt: add a CUDA hwaccelled format

3 years agoAllow linking to CUDA dynamically instead of dlopen()ing it at runtime
Anton Khirnov [Wed, 13 Jan 2016 13:07:37 +0000 (14:07 +0100)]
Allow linking to CUDA dynamically instead of dlopen()ing it at runtime

3 years agoavconv_vdpau: use the hwcontext API to simplify code
Anton Khirnov [Tue, 2 Feb 2016 10:21:36 +0000 (11:21 +0100)]
avconv_vdpau: use the hwcontext API to simplify code

3 years agohwcontext: add a VDPAU implementation
Anton Khirnov [Mon, 7 Dec 2015 14:04:57 +0000 (15:04 +0100)]
hwcontext: add a VDPAU implementation

3 years agolavu: add a framework for handling hwaccel frames
Anton Khirnov [Fri, 20 Nov 2015 18:47:29 +0000 (19:47 +0100)]
lavu: add a framework for handling hwaccel frames

3 years agobuffer: add support for pools using caller data in allocation
Anton Khirnov [Sat, 9 Jan 2016 08:25:32 +0000 (09:25 +0100)]
buffer: add support for pools using caller data in allocation

This should allow using more complex allocators than simple malloc
wrappers.

3 years agobuffersrc: default SAR to 0 (unknown) rather than 1
Anton Khirnov [Fri, 12 Feb 2016 08:21:00 +0000 (09:21 +0100)]
buffersrc: default SAR to 0 (unknown) rather than 1

It makes more sense to not claim anything about the SAR if we don't know
anything. No changes in the FATE tests, since this is what avconv ends
up doing anyway.

3 years agoconfigure: Restore the --enable-everything behaviour
Luca Barbato [Sat, 23 Jan 2016 18:35:22 +0000 (19:35 +0100)]
configure: Restore the --enable-everything behaviour

Make sure that the minimum set of dependencies needed by the tools
and the examples are enabled.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoconfigure: Print which libraries will be built
Luca Barbato [Sat, 23 Jan 2016 18:35:21 +0000 (19:35 +0100)]
configure: Print which libraries will be built

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoconfigure: Use `require` for the non-component options
Luca Barbato [Sat, 23 Jan 2016 18:35:20 +0000 (19:35 +0100)]
configure: Use `require` for the non-component options

And make sure to enable all the components needed

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agomov: Use the correct type for size
Luca Barbato [Tue, 9 Feb 2016 22:07:18 +0000 (23:07 +0100)]
mov: Use the correct type for size

An AVIO offset is int64_t.

Bug-Id: 921

3 years agovdpau: Support for VDPAU accelerated HEVC decoding
Philip Langdale [Fri, 12 Feb 2016 18:38:42 +0000 (20:38 +0200)]
vdpau: Support for VDPAU accelerated HEVC decoding

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agohevc: Track long and short term RPS size for VDPAU
Philip Langdale [Fri, 12 Feb 2016 18:38:41 +0000 (20:38 +0200)]
hevc: Track long and short term RPS size for VDPAU

Today, we track the short term RPS size for DXVA, but only if the
SliceHeader RPS is being used. Otherwise it's left uninitialized.

NVIDIA's VDPAU implementation requires that the size be accurately
tracked even if an SPS RPS is being used. In this case, it's really
counting the size of the RPS idx information, but you end up with
mangled output if the value is not accurate.

VDPAU also needs the size of the long term RPS.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agodxva2_hevc: properly signal the num_delta_pocs from the SPS RPS
Hendrik Leppkes [Fri, 12 Feb 2016 18:38:40 +0000 (20:38 +0200)]
dxva2_hevc: properly signal the num_delta_pocs from the SPS RPS

ucNumDeltaPocsOfRefRpsIdx needs to contain the flat value from the SPS RPS,
and not the final computed value from the slice header RPS, as this calculation
is done internally by the driver again.

Sample-Id: http://trailers.divx.com/hevc/Sintel_4k_27qp_24fps_1aud_9subs.mkvi
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
3 years agolavf: Dump the cpb side data information
Luca Barbato [Sat, 2 Jan 2016 14:34:04 +0000 (15:34 +0100)]
lavf: Dump the cpb side data information

3 years agonvenc: rename a misnamed function
Anton Khirnov [Sat, 30 Jan 2016 21:13:04 +0000 (22:13 +0100)]
nvenc: rename a misnamed function

This function copies the encoded bistream into the caller's packet,
calling it 'get_frame' is misleading.

3 years agonvenc: merge input and output surface structs
Anton Khirnov [Sat, 30 Jan 2016 21:06:47 +0000 (22:06 +0100)]
nvenc: merge input and output surface structs

An input frame always corresponds to exactly one output packet, so there
is no point in complicating the situation by managing them separately.

3 years agonvenc: factor out the pixel format list
Anton Khirnov [Sat, 30 Jan 2016 20:33:48 +0000 (21:33 +0100)]
nvenc: factor out the pixel format list

3 years agobuffersrc: do not discard the error from ff_filter_frame()
Anton Khirnov [Tue, 9 Feb 2016 21:01:26 +0000 (22:01 +0100)]
buffersrc: do not discard the error from ff_filter_frame()

3 years agoeatqi: Remove MpegEncContext dependency
Vittorio Giovara [Mon, 25 Jan 2016 17:56:12 +0000 (12:56 -0500)]
eatqi: Remove MpegEncContext dependency

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agompeg1: Make intra-block decoding independent of MpegEncContext
Vittorio Giovara [Mon, 25 Jan 2016 17:56:11 +0000 (12:56 -0500)]
mpeg1: Make intra-block decoding independent of MpegEncContext

This allows untangling the eatqi decoder from the MPEG-1 decoder.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agompeg12dec: Refactor mpeg1_decode_block_intra()
Diego Biurrun [Sat, 6 Feb 2016 17:02:47 +0000 (18:02 +0100)]
mpeg12dec: Refactor mpeg1_decode_block_intra()

Reduce variable scope, improve variable name, drop pointless ff_dlog(),
merge variable declaration and initialization, whitespace cosmetics.

3 years agompeg12dec: Always close reader on error
Vittorio Giovara [Mon, 25 Jan 2016 20:11:43 +0000 (15:11 -0500)]
mpeg12dec: Always close reader on error

A reader left open may lead to hangs.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
3 years agotiny_psnr: Support large files
Thomas Lee [Fri, 29 Jan 2016 10:11:06 +0000 (18:11 +0800)]
tiny_psnr: Support large files

If an input file is bigger than 2GB (assume sizeof(int) == 4)),
size0/size1 will overflow, making stddev and PSNR invalid.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agodnxhd: Make the encoder message friendlier
Luca Barbato [Mon, 8 Feb 2016 09:17:00 +0000 (10:17 +0100)]
dnxhd: Make the encoder message friendlier

3 years agoconfigure: Refactor toolchain flag setting
Diego Biurrun [Sat, 6 Feb 2016 16:31:14 +0000 (17:31 +0100)]
configure: Refactor toolchain flag setting

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavplay: drop support for building without lavfi
Anton Khirnov [Sun, 31 Jan 2016 13:11:50 +0000 (14:11 +0100)]
avplay: drop support for building without lavfi

lavfi has been considered to be stable for a while now, so it is enabled
in most configurations. Supporting avplay without lavfi requires a lot
of nontrivial ifdef mess for no good reason.

3 years agoflacenc: Load default prediction_order parameters if none is selected
Michael Niedermayer [Wed, 3 Feb 2016 14:57:39 +0000 (15:57 +0100)]
flacenc: Load default prediction_order parameters if none is selected

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoasfdec: make sure packet_size is non-zero before seeking
Andreas Cadhalpun [Thu, 7 Jan 2016 09:02:53 +0000 (10:02 +0100)]
asfdec: make sure packet_size is non-zero before seeking

This fixes infinite loops due to seeking back.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: check for too small size in asf_read_unknown
Andreas Cadhalpun [Wed, 6 Jan 2016 19:59:58 +0000 (20:59 +0100)]
asfdec: check for too small size in asf_read_unknown

This fixes infinite loops due to seeking back.

Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: check avio_skip in asf_read_simple_index
Andreas Cadhalpun [Thu, 7 Jan 2016 09:22:00 +0000 (10:22 +0100)]
asfdec: check avio_skip in asf_read_simple_index

The loop can be very long, even though the file is very short.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoasfdec: break if EOF is reached after asf_read_packet_header
Andreas Cadhalpun [Wed, 6 Jan 2016 20:09:19 +0000 (21:09 +0100)]
asfdec: break if EOF is reached after asf_read_packet_header

asf_read_payload can unset eof_reached, so check it also before calling
that function.

This fixes infinite loops.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Alexandra Hájková <alexandra@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agomsvc: Fix libx264 linking
Henrik Gramner [Thu, 28 Jan 2016 16:11:21 +0000 (17:11 +0100)]
msvc: Fix libx264 linking

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agodoc: Improve the channelsplit example
Vicente Jimenez Aguilar [Thu, 21 Feb 2013 14:08:55 +0000 (15:08 +0100)]
doc: Improve the channelsplit example

Expand LFE acronym (lfe.wav -> low_frecuency_effects.wav) as with others filenames

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoconfigure: Support MSYS2 mingw-w64 64bit
Luca Barbato [Sat, 6 Feb 2016 11:07:47 +0000 (12:07 +0100)]
configure: Support MSYS2 mingw-w64 64bit

3 years agov210: Use separate sample_factors
Luca Barbato [Thu, 28 Jan 2016 00:01:46 +0000 (01:01 +0100)]
v210: Use separate sample_factors

The 10bit and the 8bit functions can now be implemented to process
a different amount of samples.

And while at it simplify a little the code.

3 years agov210: Add avx2 version of the 10-bit line encoder
James Darnley [Fri, 15 Jan 2016 19:35:06 +0000 (20:35 +0100)]
v210: Add avx2 version of the 10-bit line encoder

Around 25% faster than the ssse3 version.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agov210: Add avx2 version of the 8-bit line encoder
James Darnley [Fri, 15 Jan 2016 19:35:05 +0000 (20:35 +0100)]
v210: Add avx2 version of the 8-bit line encoder

Around 35% faster than the avx version.

Signed-off-by: Henrik Gramner <henrik@gramner.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoflacenc: Restore defaults and range for {min, max}_prediction_order
Derek Buitenhuis [Sun, 31 Jan 2016 18:30:46 +0000 (18:30 +0000)]
flacenc: Restore defaults and range for {min, max}_prediction_order

This was broken in 243df1351d2d928caa084a5704ed783f0b83f072.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
3 years agolibx264: Make sure to preserve default option values
Vittorio Giovara [Thu, 28 Jan 2016 16:38:27 +0000 (11:38 -0500)]
libx264: Make sure to preserve default option values

The private options chromaoffset, sc_threshold, and noise_reduction
were set to 0 rather than -1, and were always initializing values
in libx264 rather than letting the library use its default.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agoconfigure: add missing avx2 support check
James Almer [Sun, 24 Jan 2016 05:10:44 +0000 (02:10 -0300)]
configure: add missing avx2 support check

AVX2 support was introduced in Yasm 1.2.0 and NASM 2.10, and the
oldest versions currently supported are Yasm 0.8.0 and NASM 2.03

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agox86: Add ymm_reg struct
James Almer [Sun, 24 Jan 2016 05:10:43 +0000 (02:10 -0300)]
x86: Add ymm_reg struct

Needed to declare 32-byte long constants

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agov210: x86: Add the correct guards around the asm code
Luca Barbato [Sun, 24 Jan 2016 15:58:19 +0000 (16:58 +0100)]
v210: x86: Add the correct guards around the asm code

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agolavfi: Use AV_CEIL_RSHIFT where needed
Vittorio Giovara [Thu, 21 Jan 2016 22:47:04 +0000 (17:47 -0500)]
lavfi: Use AV_CEIL_RSHIFT where needed

3 years agoyuv4mpegenc: Use AV_CEIL_RSHIFT where needed
Vittorio Giovara [Thu, 21 Jan 2016 22:47:03 +0000 (17:47 -0500)]
yuv4mpegenc: Use AV_CEIL_RSHIFT where needed

3 years agopixdesc: Use AV_CEIL_RSHIFT in documentation
Vittorio Giovara [Thu, 21 Jan 2016 23:00:15 +0000 (18:00 -0500)]
pixdesc: Use AV_CEIL_RSHIFT in documentation

3 years agopixdesc: Drop unneeded deprecation warning guards
Vittorio Giovara [Thu, 21 Jan 2016 22:46:59 +0000 (17:46 -0500)]
pixdesc: Drop unneeded deprecation warning guards

3 years agoqsvenc: Add private option to replace coder_type
Vittorio Giovara [Wed, 13 Jan 2016 20:27:00 +0000 (15:27 -0500)]
qsvenc: Add private option to replace coder_type

Missing from be00ec832c519427cd92218abac77dafdc1d5487.

3 years agoavplay: Allow to override the codec
Luca Barbato [Sat, 2 Jan 2016 11:19:32 +0000 (12:19 +0100)]
avplay: Allow to override the codec

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavplay: Statically allocate the player state
Luca Barbato [Sat, 2 Jan 2016 11:19:31 +0000 (12:19 +0100)]
avplay: Statically allocate the player state

And move the resource deallocation in stream_open failure path.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavplay: Rename cur_stream to player
Luca Barbato [Sat, 2 Jan 2016 11:19:30 +0000 (12:19 +0100)]
avplay: Rename cur_stream to player

The name was misleading.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavplay: Rename VideoState to PlayerState
Luca Barbato [Sat, 2 Jan 2016 11:19:29 +0000 (12:19 +0100)]
avplay: Rename VideoState to PlayerState

The structure is not video-specific.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavplay: Allocate the refresh thread next to the decode thread
Luca Barbato [Sat, 2 Jan 2016 11:19:28 +0000 (12:19 +0100)]
avplay: Allocate the refresh thread next to the decode thread

It does not belong to the stream setup.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agoavplay: Move the stream setup in the main thread
Luca Barbato [Sat, 2 Jan 2016 11:19:27 +0000 (12:19 +0100)]
avplay: Move the stream setup in the main thread

And refactor the code in preparation of the following
patches.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
3 years agohls: eliminate ffurl_* usage
Anton Khirnov [Wed, 20 Jan 2016 10:43:18 +0000 (11:43 +0100)]
hls: eliminate ffurl_* usage

Now all IO should go through the IO callbacks and be interceptable by
the caller.

3 years agolavf: allow custom IO for all files
Anton Khirnov [Sat, 16 Jan 2016 16:53:43 +0000 (17:53 +0100)]
lavf: allow custom IO for all files

Some (de)muxers open additional files beyond the main IO context.
Currently, they call avio_open() directly, which prevents the caller
from using custom IO for such streams.

This commit adds callbacks to AVFormatContext that default to
avio_open2()/avio_close(), but can be overridden by the caller. All
muxers and demuxers using AVIO are switched to using those callbacks
instead of calling avio_open()/avio_close() directly.

(de)muxers that use the URLProtocol layer directly instead of AVIO
remain unconverted for now. This should be fixed in later commits.

3 years agoqsvenc: fix a typo
Anton Khirnov [Sat, 23 Jan 2016 20:03:31 +0000 (21:03 +0100)]
qsvenc: fix a typo

Introduced in 0e6c8532215790bbe560a9eea4f3cc82bb55cf92.

3 years agox86inc: Add debug symbols indicating sizes of compiled functions
Geza Lore [Sun, 17 Jan 2016 23:21:51 +0000 (00:21 +0100)]
x86inc: Add debug symbols indicating sizes of compiled functions

Some debuggers/profilers use this metadata to determine which function a
given instruction is in; without it they get can confused by local labels
(if you haven't stripped those). On the other hand, some tools are still
confused even with this metadata. e.g. this fixes `gdb`, but not `perf`.

Currently only implemented for ELF.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Avoid creating unnecessary local labels
Henrik Gramner [Sun, 17 Jan 2016 23:21:50 +0000 (00:21 +0100)]
x86inc: Avoid creating unnecessary local labels

The REP_RET workaround is only needed on old AMD cpus, and the labels clutter
up the symbol table and confuse debugging/profiling tools, so use EQU to
create SHN_ABS symbols instead of creating local labels. Furthermore, skip
the workaround completely in functions that definitely won't run on such cpus.

Note that EQU is just creating a local label when using nasm instead of yasm.
This is probably a bug, but at least it doesn't break anything.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Simplify AUTO_REP_RET
Henrik Gramner [Sun, 17 Jan 2016 23:21:49 +0000 (00:21 +0100)]
x86inc: Simplify AUTO_REP_RET

cpuflags is never undefined any more, it's set to 0 instead.

Also fix an incorrect comment.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Use more consistent indentation
Henrik Gramner [Sun, 17 Jan 2016 23:21:48 +0000 (00:21 +0100)]
x86inc: Use more consistent indentation

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Preserve arguments when allocating stack space
Henrik Gramner [Wed, 20 Jan 2016 23:05:15 +0000 (00:05 +0100)]
x86inc: Preserve arguments when allocating stack space

When allocating stack space with a larger alignment than the known stack
alignment a temporary register is used for storing the stack pointer.
Ensure that this isn't one of the registers used for passing arguments.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Improve FMA instruction handling
Henrik Gramner [Sun, 17 Jan 2016 23:21:46 +0000 (00:21 +0100)]
x86inc: Improve FMA instruction handling

 * Correctly handle FMA instructions with memory operands.
 * Print a warning if FMA instructions are used without the correct cpuflag.
 * Simplify the instantiation code.
 * Clarify documentation.

Only the last operand in FMA3 instructions can be a memory operand. When
converting FMA4 instructions to FMA3 instructions we can utilize the fact
that multiply is a commutative operation and reorder operands if necessary
to ensure that a memory operand is used only as the last operand.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Be more verbose in assertion failures
Henrik Gramner [Sun, 17 Jan 2016 23:21:45 +0000 (00:21 +0100)]
x86inc: Be more verbose in assertion failures

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agox86inc: Make cpuflag() and notcpuflag() return 0 or 1
Henrik Gramner [Sun, 17 Jan 2016 23:21:44 +0000 (00:21 +0100)]
x86inc: Make cpuflag() and notcpuflag() return 0 or 1

Makes it possible to use them in arithmetic expressions.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
3 years agopixdesc: fix and extend doxy for av_pix_fmt_get_chroma_sub_sample()
Anton Khirnov [Thu, 21 Jan 2016 12:28:42 +0000 (13:28 +0100)]
pixdesc: fix and extend doxy for av_pix_fmt_get_chroma_sub_sample()

The parameters in the docs are currently swapped.

3 years agoconfigure: Correctly add openssl cflags and libs
Luca Barbato [Fri, 22 Jan 2016 10:33:50 +0000 (11:33 +0100)]
configure: Correctly add openssl cflags and libs

3 years agolibavcodec: Add missing AVClass pointers
Martin Storsjö [Fri, 22 Jan 2016 08:52:06 +0000 (10:52 +0200)]
libavcodec: Add missing AVClass pointers

This fixes crashes since 243df1351.

Signed-off-by: Martin Storsjö <martin@martin.st>
3 years agolavc: Move pre_me to codec private options
Vittorio Giovara [Mon, 9 Nov 2015 02:15:06 +0000 (03:15 +0100)]
lavc: Move pre_me to codec private options

This option is only used by mpegvideoenc.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move me_penalty_compensation to codec private options
Vittorio Giovara [Mon, 9 Nov 2015 02:15:06 +0000 (03:15 +0100)]
lavc: Move me_penalty_compensation to codec private options

This option is only used by mpegvideoenc.
It is a very codec-specific options, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move prediction_method to codec private options
Vittorio Giovara [Mon, 9 Nov 2015 02:15:06 +0000 (03:15 +0100)]
lavc: Move prediction_method to codec private options

This options is only used by huffyuv, ffvhuv, jpegls, mjpeg,
mpegvideoenc, png, utvideo.
It is a very codec-specific options, so deprecate the global variant.
Set proper limits to the maximum allowed values, and update utvideoenc
tests to use the new option name.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move {min,max}_prediction_order to codec private options
Vittorio Giovara [Sun, 13 Sep 2015 21:45:24 +0000 (23:45 +0200)]
lavc: Move {min,max}_prediction_order to codec private options

These options are only used by alac and flac.
They are very codec-specific options, so deprecate the global variants.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move rtp_payload_size to codec private options
Vittorio Giovara [Sun, 13 Sep 2015 21:45:24 +0000 (23:45 +0200)]
lavc: Move rtp_payload_size to codec private options

This option is only used by mpegvideoenc and openh264.
It is a very codec-specific option, so deprecate the global variant.

The openh264 option is dropped altogether since it is just a fallback
for -max_nal_size anyway.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move timecode_frame_start to codec private options
Vittorio Giovara [Sun, 13 Sep 2015 21:45:24 +0000 (23:45 +0200)]
lavc: Move timecode_frame_start to codec private options

This option is only used by mpeg2.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move context_model to codec private options
Vittorio Giovara [Sun, 13 Sep 2015 21:45:24 +0000 (23:45 +0200)]
lavc: Move context_model to codec private options

This option is only used by ffv1 and ffvhuff.
It is a very codec-specific option, so deprecate the global variant.
Improve documentation a little.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move mpeg_quant to codec private options
Vittorio Giovara [Sun, 13 Sep 2015 21:45:24 +0000 (23:45 +0200)]
lavc: Move mpeg_quant to codec private options

This option is only used by mpegvideoenc, and xvid.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move noise_reduction to codec private options
Vittorio Giovara [Sun, 13 Sep 2015 21:45:24 +0000 (23:45 +0200)]
lavc: Move noise_reduction to codec private options

This option is only used by mpegvideoenc, x264, xavs, and vpx.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move scenechange_threshold to codec private options
Vittorio Giovara [Sat, 12 Sep 2015 20:27:59 +0000 (22:27 +0200)]
lavc: Move scenechange_threshold to codec private options

This option is only used by mpegvideoenc, x264, and xavs.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move chromaoffset to codec private options
Vittorio Giovara [Sat, 12 Sep 2015 12:40:29 +0000 (14:40 +0200)]
lavc: Move chromaoffset to codec private options

This option is only used by x264 and xavs.
It is a very codec-specific option, so deprecate the global variant.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move frame_skip_* to codec private options
Vittorio Giovara [Fri, 11 Sep 2015 01:30:38 +0000 (03:30 +0200)]
lavc: Move frame_skip_* to codec private options

These options are only used by mpegvideoenc and vpx.
They are very codec-specific options, so deprecate the global variants.

Add an allowed value to the private options for frame_skip_cmp which
seems to have been forgotten, but perfectly working.

The libvpx frame dropping feature uses one of such option
(frame_skip_threshold) without the other three. For this reason rename
the option to something more consistent with the other libvpx variables.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
3 years agolavc: Move brd_scale to codec private options
Vittorio Giovara [Thu, 10 Sep 2015 22:01:12 +0000 (00:01 +0200)]
lavc: Move brd_scale to codec private options

This option is only used by mpegvideoenc,
It is a very codec-specific option, so deprecate the global variant.
Set proper limits to the maximum allowed values.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>