Diego Biurrun [Thu, 27 Feb 2014 23:02:23 +0000 (15:02 -0800)]
build: Let all MJPEG-related decoders depend on the MJPEG decoder
These codecs compile all of the MJPEG code anyway, so there is little
point in not enabling the MJPEG decoder directly. This also simplifies
the dependency declarations for the MJPEG codec family.
Diego Biurrun [Thu, 27 Feb 2014 23:02:22 +0000 (15:02 -0800)]
build: Let AMV decoder depend on the SP5X decoder
This codec compiles all of the SP5X code anyway, so there is little
point in not enabling the decoder directly. This also simplifies the
dependency declaration for the AMV decoder.
Vittorio Giovara [Fri, 28 Feb 2014 12:16:37 +0000 (13:16 +0100)]
h264: fix clang warning about uninitialized variable
Vittorio Giovara [Wed, 19 Feb 2014 02:23:17 +0000 (03:23 +0100)]
h264: update flag name in ff_h264_decode_ref_pic_list_reordering()
This is the name used in the specifications.
Vittorio Giovara [Wed, 19 Feb 2014 02:19:23 +0000 (03:19 +0100)]
h264: parse two additional constraint flags
Vittorio Giovara [Mon, 17 Feb 2014 12:55:15 +0000 (13:55 +0100)]
h264: add MVCD to the list of High profiles in SPS
Also comment all previous profiles.
Hendrik Leppkes [Thu, 22 Dec 2011 23:14:32 +0000 (00:14 +0100)]
latm: Always reconfigure if no extradata was set previously
AAC LOAS can have new audio config objects in the stream itself.
Make sure the decoder reconfigures itself when the first one arrives
midstream.
Bug-Id: 644
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Sat, 22 Feb 2014 17:27:10 +0000 (18:27 +0100)]
arm: dcadsp: implement decode_hf as external NEON asm
Christophe Gisquet [Fri, 14 Feb 2014 15:03:13 +0000 (15:03 +0000)]
dcadec: simplify decoding of VQ high frequencies
The vector dequantization has a test in a loop preventing effective SIMD
implementation. By moving it out of the loop, this loop can be DSPized.
Therefore, modify the current DSP implementation. In particular, the
DSP implementation no longer has to handle null loop sizes.
The decode_hf implementations have following timings:
For x86 Arrandale:
C SSE SSE2 SSE4
win32: 260 162 119 104
win64: 242 N/A 89 72
The arm NEON optimizations follow in a later patch as external asm. The
now unused check for the y modifier in arm inline asm is removed from
configure.
Janne Grunau [Fri, 21 Feb 2014 12:13:36 +0000 (13:13 +0100)]
dca: factorize scaling in inverse ADPCM
Based on a patch from Christophe Gisquet.
Unrolling of the m == 0 case avoids a possible use of the uninitilized
value sum when s->predictor_history is not set. I failed to find a
sample for it. It also reduced the cycle count from 220 to 150 on
sandy bridge, x86_64 linux, gcc 4.8.2 compared to his patch.
Christophe Gisquet [Fri, 14 Feb 2014 15:03:09 +0000 (15:03 +0000)]
x86: synth filter float: implement SSE2 version
Timings for Arrandale:
C SSE
win32: 2108 334
win64: 1152 322
Factorizing the inner loop with a call/jmp is a >15 cycles cost, even with
the jmp destination being aligned.
Unrolling for ARCH_X86_64 is a 20 cycles gain.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:08 +0000 (15:03 +0000)]
dcadsp: scan coefficients linearly in dca_lfe_fir
This change is inspired by x86 asm where it frees a register.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:07 +0000 (15:03 +0000)]
x86: dcadsp: implement SSE lfe_dir
Results for Arrandale/Windows:
32: 1670 -> 316
64: 728 -> 298
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:06 +0000 (15:03 +0000)]
dcadec: remove scaling in lfe_interpolation_fir
The scaling factor is constant so it is faster to scale the
FIR coefficients in the tables during compilation.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Diego Biurrun [Thu, 27 Feb 2014 22:49:55 +0000 (14:49 -0800)]
proresenc: Reuse proper dsputil infrastructure for FDCT
Diego Biurrun [Thu, 27 Feb 2014 22:49:54 +0000 (14:49 -0800)]
prores: Drop DSP infrastructure for prores encoder bits
None of the encoder bits are arch-optimized.
Diego Biurrun [Thu, 27 Feb 2014 22:49:53 +0000 (14:49 -0800)]
proresenc: Drop unnecessary DCT permutation bits
No permutation is necessary for the FDCT.
Diego Biurrun [Thu, 27 Feb 2014 22:49:52 +0000 (14:49 -0800)]
prores: Use consistent names for DSP arch initialization functions
Diego Biurrun [Tue, 18 Feb 2014 17:57:45 +0000 (09:57 -0800)]
Give IDCT matrix transpose macro a more descriptive name
This also avoids a macro name clash and related warning on ARM.
Anton Khirnov [Wed, 26 Feb 2014 12:44:53 +0000 (13:44 +0100)]
af_compand: add a dependency on strtok_r
Diego Biurrun [Wed, 19 Feb 2014 19:33:29 +0000 (20:33 +0100)]
build: Do not redundantly specifiy H.263-related object files for MSMPEG4v*
These are already covered through dependencies specified in configure.
Andrew Kelley [Wed, 26 Feb 2014 06:47:40 +0000 (01:47 -0500)]
lavfi: add compand audio filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Tue, 25 Feb 2014 11:21:15 +0000 (12:21 +0100)]
parser: cosmetics: Drop some unnecessary parentheses
Anton Khirnov [Thu, 13 Feb 2014 07:50:16 +0000 (08:50 +0100)]
libavfilter: example audio filtering program
Based on a patch by Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Sun, 23 Feb 2014 22:59:25 +0000 (23:59 +0100)]
parser: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Tue, 25 Feb 2014 10:59:05 +0000 (11:59 +0100)]
parser: Remove commented-out cruft
Janne Grunau [Mon, 24 Feb 2014 19:22:13 +0000 (20:22 +0100)]
texi2pod: always declare the pod file as UTF-8 encoded
Vittorio Giovara [Mon, 24 Feb 2014 16:03:03 +0000 (17:03 +0100)]
doc: fix one accented word
Vittorio Giovara [Mon, 24 Feb 2014 15:59:40 +0000 (16:59 +0100)]
doc: name correct header
Anton Khirnov [Wed, 19 Feb 2014 19:55:27 +0000 (20:55 +0100)]
af_volume: preserve frame properties
Anton Khirnov [Wed, 19 Feb 2014 19:42:39 +0000 (20:42 +0100)]
af_resample: preserve frame properties
Anton Khirnov [Wed, 19 Feb 2014 15:16:43 +0000 (16:16 +0100)]
avconv: remove a write-only variable
Derek Buitenhuis [Fri, 21 Feb 2014 17:11:00 +0000 (12:11 -0500)]
libx265: Properly handled dynamic linking with MSVC
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Fri, 21 Feb 2014 17:05:50 +0000 (12:05 -0500)]
libx265: Support SAR
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Fri, 21 Feb 2014 16:59:13 +0000 (11:59 -0500)]
libx265: Support 4:4:4
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Fri, 21 Feb 2014 16:26:40 +0000 (11:26 -0500)]
libx265: Update API usage
Framerate is now a sane rational instead of an integer, and
inputDepth is changed to what it actually is.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Anton Khirnov [Tue, 11 Feb 2014 14:08:12 +0000 (15:08 +0100)]
Use av_frame_copy() to simplify code where appropriate.
Anton Khirnov [Tue, 11 Feb 2014 13:59:00 +0000 (14:59 +0100)]
lavc: use AVFrame API properly in ff_reget_buffer()
Anton Khirnov [Tue, 11 Feb 2014 13:15:20 +0000 (14:15 +0100)]
frame: add a convenience function for copying AVFrame data
Anton Khirnov [Sun, 23 Feb 2014 07:05:52 +0000 (08:05 +0100)]
avconv: support forcing codec tags for input streams
James Almer [Sat, 22 Feb 2014 04:54:02 +0000 (04:54 +0000)]
x86: add detection for Bit Manipulation Instruction sets
Based on x264 code
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Sat, 22 Feb 2014 04:54:01 +0000 (04:54 +0000)]
x86: add detection for FMA3 instruction set
Based on x264 code
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Sat, 22 Feb 2014 04:54:00 +0000 (04:54 +0000)]
x86: add missing XOP checks and macros
Signed-off-by: James Almer <jamrial@gmail.com>
Janne Grunau [Sun, 23 Feb 2014 13:09:06 +0000 (14:09 +0100)]
configure: disable cpunop if the check fails
Moving cpunop from the HAVE_LIST to the ARCH_EXT_LIST_X86 has the side
effect of enabling it. The semantics of the check have to be changed
from enable if successful to disable if unsuccessful. This was missing
in
2b0bb69997c2416e74f41aa1400ce983bf8775c0 causing build errors with
nasm.
Luca Barbato [Wed, 19 Feb 2014 20:56:35 +0000 (21:56 +0100)]
hevc: Do not left shift a negative value in hevc_loop_filter_chroma
Luca Barbato [Wed, 19 Feb 2014 21:21:43 +0000 (22:21 +0100)]
hevc: Do not right shift a negative value in get_pcm
Luca Barbato [Wed, 19 Feb 2014 19:38:53 +0000 (20:38 +0100)]
hevc: Drop unnecessary shifts in deblocking_filter_CTB
beta_offset is pre-multiplied by 2.
Anton Khirnov [Thu, 25 Apr 2013 18:12:47 +0000 (20:12 +0200)]
lavr: return an error if a avresample_open() is called on an open context
Anton Khirnov [Thu, 25 Apr 2013 18:08:49 +0000 (20:08 +0200)]
lavr: add a function for checking whether AVAudioResampleContext is open
Luca Barbato [Sat, 22 Feb 2014 10:19:03 +0000 (11:19 +0100)]
h264: Fix a typo from the previous commit
f777504f640260337974848c7d5d7a3f064bbb45 changed a - in +
CC: libav-stable@libav.org
Tomas Härdin [Sat, 10 Mar 2012 16:03:00 +0000 (17:03 +0100)]
mxf: Add DNxHD UL
Note that the old DNxHD UL is actually JPEG 2000 according to RP224.
Leaving it as-is for now.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Philip de Nier [Tue, 28 Feb 2012 14:16:37 +0000 (14:16 +0000)]
mxf: Add uncompressed 422 8-bit rawvideo UL
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Fri, 21 Feb 2014 10:08:09 +0000 (11:08 +0100)]
libvorbis: Give consistent names to all functions, structs, and defines
Vittorio Giovara [Thu, 20 Feb 2014 01:38:32 +0000 (02:38 +0100)]
h264: Lower bound check for slice offsets
And use the value from the specification.
Sample-Id:
00000451-google
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Wed, 19 Feb 2014 20:41:12 +0000 (21:41 +0100)]
avconv: Do not divide by zero
Luca Barbato [Wed, 19 Feb 2014 19:20:39 +0000 (20:20 +0100)]
configure: Add usan to the toolchain presets
clang-3.4 and gcc-4.9 have it.
Diego Biurrun [Sat, 2 Nov 2013 16:21:52 +0000 (17:21 +0100)]
configure: Move cpunop into ARCH_EXT_LIST_X86
It is a processor feature, so it belongs there.
Diego Biurrun [Sat, 2 Nov 2013 16:21:50 +0000 (17:21 +0100)]
configure: Move inet_aton check into network function check block
Janne Grunau [Fri, 7 Feb 2014 15:05:50 +0000 (16:05 +0100)]
aarch64: use EXTERN_ASM consistently for exported symbols
Based on
e3fec3f095ab5ea08ee662942d98526aaf5e3635 for arm.
Christophe Gisquet [Fri, 14 Feb 2014 15:03:12 +0000 (15:03 +0000)]
x86: float dsp: unroll SSE versions
vector_fmul and vector_fmac_scalar are guaranteed that they can process in
batch of 16 elements, but their SSE versions only does 8 at a time.
Therefore, unroll them a bit.
299 to 261c for 256 elements in vector_fmac_scalar on Arrandale/Win64.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Christophe Gisquet [Fri, 14 Feb 2014 15:03:10 +0000 (15:03 +0000)]
dca: replace some memcpy by AV_COPY128
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Janne Grunau [Fri, 14 Feb 2014 16:00:06 +0000 (17:00 +0100)]
h264: avoid undefined behavior in chroma motion compensation
Makes fate-h264 pass under valgrind --undef-value-errors=yes with
-cpuflags none. {avg,put}_h264_chroma_mc8_8 approximately 5% faster,
{avg,put}_h264_chroma_mc4_8 2% faster both on x86 and arm.
Diego Biurrun [Thu, 20 Feb 2014 10:27:21 +0000 (02:27 -0800)]
mpeg4video_parser: Drop pointless av_-prefix from static function
Diego Biurrun [Thu, 6 Feb 2014 17:29:51 +0000 (18:29 +0100)]
avcodec: Consistently name encoder init functions foo_encode_init
Diego Biurrun [Mon, 23 Dec 2013 15:39:36 +0000 (16:39 +0100)]
x86: dsputil: Use correct file name as multiple inclusion guard
Diego Biurrun [Sun, 22 Dec 2013 13:19:28 +0000 (14:19 +0100)]
bit_depth_template: Use file name as multiple inclusion guard
Diego Biurrun [Tue, 28 Jan 2014 07:23:02 +0000 (08:23 +0100)]
svq3: Adjust #endif comment
Diego Biurrun [Wed, 19 Feb 2014 19:33:28 +0000 (20:33 +0100)]
build: The MPEG-4 video parser depends on h263dsp
The dependency is indirect through the h263/mpegvideo code.
CC: libav-stable@libav.org
Leandro Dorileo [Fri, 31 Jan 2014 16:48:11 +0000 (14:48 -0200)]
libavformat/mpegts: expose raw packet size
We cannot easily determine if an mpeg TS's packet size is DVHS, FEC
or so on, for that we need to expose the internal raw_packet_size
field.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sat, 15 Feb 2014 07:24:23 +0000 (08:24 +0100)]
AVOptions: add flags for read/read-only options
Anton Khirnov [Sat, 15 Feb 2014 07:14:03 +0000 (08:14 +0100)]
AVOptions: deprecate unused AV_OPT_FLAG_METADATA
It was never used since it was added and the things it was intended for
are now exported differently.
Luca Barbato [Tue, 18 Feb 2014 22:58:59 +0000 (23:58 +0100)]
hevc: Always consider VLC NALU type mismatch fatal
Sample-Id:
00001667-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Tue, 18 Feb 2014 22:55:29 +0000 (23:55 +0100)]
hevc: Mention the missing SPS in the error message
Luca Barbato [Tue, 18 Feb 2014 20:57:12 +0000 (21:57 +0100)]
doc: Name the MOV muxer as it should be called
The section name is the muxer, not the format.
Luca Barbato [Tue, 18 Feb 2014 16:12:30 +0000 (17:12 +0100)]
doc: Sort the muxer documentation
Keep the sections alphabetically sorted.
Diego Biurrun [Wed, 18 Dec 2013 21:29:25 +0000 (22:29 +0100)]
threads: Check w32threads dependencies at the configure stage
Also add warning comment about threading implementations without matching
atomics implementation to the atomics fallback implementation.
Vittorio Giovara [Fri, 14 Feb 2014 04:57:47 +0000 (05:57 +0100)]
vf_interlace: deprecate lowpass option
Diego Biurrun [Tue, 18 Feb 2014 13:30:04 +0000 (14:30 +0100)]
x86: dca: Add missing multiple inclusion guards
Diego Biurrun [Tue, 18 Feb 2014 17:37:48 +0000 (18:37 +0100)]
gitignore: Add all examples below doc/examples
Martin Storsjö [Tue, 18 Feb 2014 14:11:59 +0000 (16:11 +0200)]
movenc: Add a fallback fragmentation method for plain mp4 as well
Previously the default fragmentation method was only enabled
if writing an ISM file.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 7 Feb 2014 14:22:54 +0000 (16:22 +0200)]
arm: Mark the stack as non-executable
If linking in an object file without this attribute set, the
linker will assume that an executable stack might be needed.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Tue, 18 Feb 2014 22:47:55 +0000 (23:47 +0100)]
h264: informative error reporting in decode_slice_header()
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Luca Barbato [Tue, 18 Feb 2014 22:47:32 +0000 (23:47 +0100)]
h264: fix slice_type value reported in decode_slice_header()
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diego Biurrun [Sun, 16 Feb 2014 21:09:30 +0000 (22:09 +0100)]
doxygen: Replace @parblock syntax with manual linebreaks
@parblock is only supported in very recent Doxygen versions.
Diego Biurrun [Sun, 16 Feb 2014 22:36:31 +0000 (23:36 +0100)]
doxygen: Add a number of missing function parameter descriptions
Vittorio Giovara [Sun, 16 Feb 2014 22:07:21 +0000 (23:07 +0100)]
h264: use avpriv_request_sample for chroma_format_idc
Diego Biurrun [Sun, 16 Feb 2014 21:08:21 +0000 (22:08 +0100)]
doc: Fix project name typo
Diego Biurrun [Sat, 15 Feb 2014 14:50:29 +0000 (15:50 +0100)]
Move all example programs to doc/examples
Also drop support for building examples in library directories.
Maxim Poliakovski [Sat, 15 Feb 2014 20:09:22 +0000 (21:09 +0100)]
g2meet: validate bpp and bitmasks in the display info
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Reinhard Tartler [Sat, 15 Feb 2014 21:49:04 +0000 (16:49 -0500)]
Prepare for 10_beta1 Release
Tim Walker [Sat, 15 Feb 2014 17:38:15 +0000 (17:38 +0000)]
ac3dec: set AV_FRAME_DATA_DOWNMIX_INFO side data.
Tim Walker [Sat, 15 Feb 2014 17:12:22 +0000 (17:12 +0000)]
lavu: add AV_FRAME_DATA_DOWNMIX_INFO side data type.
Tim Walker [Sat, 15 Feb 2014 17:12:21 +0000 (17:12 +0000)]
ac3: update AC3PreferredStereoDownmixMode.
'11b' is reserved in the A/52 specification,
but newer encoders use it to indicate a Dolby
Pro Logic II compatible Lt/Rt downmix.
Vittorio Giovara [Fri, 14 Feb 2014 04:20:02 +0000 (05:20 +0100)]
h264_parser: use enum values in h264_find_frame_end()
Anton Khirnov [Mon, 10 Feb 2014 16:25:21 +0000 (17:25 +0100)]
lavfi doxy: add buffer{src,sink}.h to the main lavfi doxy group
Anton Khirnov [Tue, 21 May 2013 18:30:36 +0000 (20:30 +0200)]
buffersink: document special error codes returned from av_buffersink_get_frame
Janne Grunau [Thu, 13 Feb 2014 11:27:17 +0000 (12:27 +0100)]
ppc: reduce overreads when loading 8 pixels in altivec dsp functions
Altivec can only load naturally aligned vectors. To handle possibly
unaligned data a second vector is loaded from an offset of the original
location and the data is recovered through a vector permutation.
Overreads are minimal if the offset for second load points to the last
element of data. This is 7 for loading eight 8-bit pixels and overreads
are reduced from 16 bytes to 8 bytes if the pixels are 64-bit aligned.
For unaligned pixels the overread is reduced from 23 bytes to 15 bytes
in the worst case.
Jan Ekström [Fri, 14 Feb 2014 11:48:56 +0000 (12:48 +0100)]
utvideoenc: Enable support for multiple slices and use them
The official Ut Video decoder only threads with slices, thus until
now any files encoded by the libavcodec encoder have only been
decodable with a single thread. The default slice count is now
set to subsampled_height / 120.
Also sets slices to 1 for the Ut Video encoder tests to keep them
green.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Thu, 13 Feb 2014 20:49:24 +0000 (20:49 +0000)]
libx265: Remove redundant default param call
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Thu, 13 Feb 2014 20:49:05 +0000 (20:49 +0000)]
libx265: Fix use of uninitialized input picture
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>