Loren Merritt [Tue, 18 Jun 2013 21:30:41 +0000 (21:30 +0000)]
lpc: use function pointers, in preparation for asm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Loren Merritt [Tue, 18 Jun 2013 21:30:40 +0000 (21:30 +0000)]
lpc: remove "decay" argument
We never used the rolling-average mode, and this makes av_update_lls 15% faster.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Fri, 28 Jun 2013 03:23:21 +0000 (05:23 +0200)]
wmapro: check num_vec_coeffs against the actual available buffer
Prevent yet another buffer overwrite.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 28 Jun 2013 03:21:33 +0000 (05:21 +0200)]
wmapro: return early on unsupported condition
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 28 Jun 2013 02:03:47 +0000 (04:03 +0200)]
wmapro: make sure there is room to store the current packet
Prevent horrid and hard to trace struct overwrite.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 28 Jun 2013 01:40:35 +0000 (03:40 +0200)]
lavc: move put_bits_left in put_bits.h
Luca Barbato [Mon, 6 May 2013 23:29:36 +0000 (01:29 +0200)]
aac: return meaningful errors
Luca Barbato [Wed, 26 Jun 2013 23:22:06 +0000 (01:22 +0200)]
aac: K&R formatting cosmetics
Alex Smith [Mon, 24 Jun 2013 21:10:12 +0000 (21:10 +0000)]
configure: Do not omit frame pointers for msvc/icl debug builds
Because O1 or O2 are required to build libav with msvc/icl, this must be
explicitly set instead of just omitting Oy.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Alex Smith [Mon, 24 Jun 2013 21:10:11 +0000 (21:10 +0000)]
configure: Do not explicitly set Oy for msvc/icl
It is implied by O1 or O2, both of which are required to build libav
with msvc/icl. Silences warnings when targeting x64 with icl.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Mon, 24 Jun 2013 22:26:08 +0000 (18:26 -0400)]
fate: Add Canopus Lossless YUY2 test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Mon, 24 Jun 2013 18:12:16 +0000 (14:12 -0400)]
cllc: Use outbuf in RGB and ARGB functions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sun, 23 Jun 2013 23:29:38 +0000 (19:29 -0400)]
cllc: Implement YUV support
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Sun, 23 Jun 2013 23:49:28 +0000 (19:49 -0400)]
doc/platform: Add info about ICL
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Rafaël Carré [Sun, 23 Jun 2013 21:00:34 +0000 (23:00 +0200)]
lavf: don't abort if both encoder and muxer aspect ratios are not set
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rafaël Carré [Sun, 23 Jun 2013 21:00:33 +0000 (23:00 +0200)]
matroskaenc: restore compatibility with non referenced AVPacket
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Kieran Kunhya [Sat, 22 Jun 2013 15:16:11 +0000 (10:16 -0500)]
lavc: Add option to encode MPEG-2 AAC with libfdk-aac
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Thu, 20 Jun 2013 11:42:21 +0000 (13:42 +0200)]
configure: whitespace cosmetics
Diego Biurrun [Thu, 20 Jun 2013 11:42:20 +0000 (13:42 +0200)]
configure: Simplify an expression with enabled_all.
Alex Smith [Wed, 19 Jun 2013 21:07:49 +0000 (21:07 +0000)]
configure: More msvc/icl combining
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Luca Barbato [Thu, 20 Jun 2013 09:36:04 +0000 (11:36 +0200)]
ogg: relax demuxer conformance checks
Some samples in the wild are missing headers that are expected by the
specification but in practice do not affect decoding.
Luca Barbato [Wed, 19 Jun 2013 22:06:08 +0000 (00:06 +0200)]
avconv: report the error for codec open failure
External codec may have corner case reason to fail at init, better
report them instead having the user wonder.
Luca Barbato [Fri, 21 Jun 2013 10:47:01 +0000 (12:47 +0200)]
avconv: drop additional strerror fallback
strerror_r is called by av_strerror already.
Anton Khirnov [Tue, 18 Jun 2013 09:41:04 +0000 (11:41 +0200)]
lavc: free the padded last frame during audio encoding properly
Anton Khirnov [Thu, 20 Jun 2013 11:27:14 +0000 (13:27 +0200)]
vsrc_movie: do not free avoption variables in uninit()
The generic code frees them as well. Since av_free was used to free them
instead of av_freep, this would result in a double free.
Alex Smith [Wed, 19 Jun 2013 00:39:47 +0000 (20:39 -0400)]
configure: Remove unneeded icl inline compatibility definition
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Wed, 29 May 2013 19:03:20 +0000 (21:03 +0200)]
lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()
This simplifies the code and avoids using libavcodec-specific
avcodec_fill_audio_frame().
Vittorio Giovara [Mon, 17 Jun 2013 09:54:26 +0000 (11:54 +0200)]
lavfi: math typo in interlace filter
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Kostya Shishkov [Wed, 12 Jun 2013 12:30:51 +0000 (14:30 +0200)]
smacker: check frame size validity
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Kostya Shishkov [Wed, 12 Jun 2013 12:28:07 +0000 (14:28 +0200)]
smacker: pad the extradata allocation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Kostya Shishkov [Wed, 12 Jun 2013 12:27:00 +0000 (14:27 +0200)]
smacker: check the return value of smacker_decode_tree
Also prevent a memory leak.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Kostya Shishkov [Wed, 12 Jun 2013 12:22:24 +0000 (14:22 +0200)]
smacker: fix an off by one in huff.length computation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Sat, 15 Jun 2013 19:11:55 +0000 (22:11 +0300)]
utils: fix avcodec_flush_buffers pre-reference counting compatibility
The to_free AVframe must be freed just like the other ones.
Indeed, the calling application may expect all frames to be
released.
(This regression caused use-after-free in VLC with hwaccel.)
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 15 Jun 2013 10:03:27 +0000 (12:03 +0200)]
avf: move url utility functions in a separate file
Luca Barbato [Sat, 15 Jun 2013 09:56:36 +0000 (11:56 +0200)]
avf: move ff_write_chained to mux.c
Luca Barbato [Sat, 15 Jun 2013 09:44:07 +0000 (11:44 +0200)]
avf: move riff tags accessors where they belong
Luca Barbato [Sat, 15 Jun 2013 09:41:36 +0000 (11:41 +0200)]
avf: move ff_http_match_no_proxy to network
It is only used by network protocols.
Luca Barbato [Sat, 15 Jun 2013 09:26:09 +0000 (11:26 +0200)]
avf: split off format register and lookup function
Luca Barbato [Sat, 15 Jun 2013 08:28:30 +0000 (10:28 +0200)]
bitstream: forward error values and drop few abort()
Luca Barbato [Sat, 15 Jun 2013 08:19:51 +0000 (10:19 +0200)]
bitstream: K&R formatting cosmetics
Luca Barbato [Tue, 11 Jun 2013 15:57:31 +0000 (17:57 +0200)]
h264_mp4toannexb_bsf: return a padded buffer
The code using the returned buffer might expect it to be
FF_INPUT_BUFFER_PADDING_SIZE padded as any other avpacket.
Luca Barbato [Tue, 11 Jun 2013 14:44:04 +0000 (16:44 +0200)]
h264_mp4toannexb_bsf: factor out extradata parsing
Luca Barbato [Tue, 11 Jun 2013 14:12:01 +0000 (16:12 +0200)]
h264_mp4toannexb_bsf: K&R formatting cosmetics
Luca Barbato [Mon, 10 Jun 2013 14:37:43 +0000 (16:37 +0200)]
4xm: check bitstream_size boundary before using it
Prevent buffer overread.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sun, 9 Jun 2013 19:50:57 +0000 (21:50 +0200)]
4xm: refactor decode_p_block
Directly return from code 1, 2 and 6 codepaths and simplify the
remaining one to have a single overflow check and a single call to
mcdc.
Luca Barbato [Sun, 9 Jun 2013 16:27:05 +0000 (18:27 +0200)]
4xm: do not overread the source buffer in decode_p_block
Check for out of picture macroblocks before calling mcdc.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 7 Jun 2013 14:18:22 +0000 (16:18 +0200)]
4xm: do not overread the prestream buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Fri, 7 Jun 2013 14:16:46 +0000 (16:16 +0200)]
4xm: validate the buffer size before parsing it
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Thu, 6 Jun 2013 14:58:57 +0000 (16:58 +0200)]
4xm: reject frames not compatible with the declared version
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Thu, 6 Jun 2013 12:21:19 +0000 (14:21 +0200)]
4xm: drop pointless assert
Make sure the value of wlog2 is always between 0 and 3.
Luca Barbato [Wed, 5 Jun 2013 20:33:34 +0000 (22:33 +0200)]
4xm: forward errors from decode_p_block
Partially mitigate out of memory writes.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Wed, 5 Jun 2013 18:30:48 +0000 (20:30 +0200)]
4xm: fold last_picture lazy allocation in decode_p_frame
Luca Barbato [Wed, 5 Jun 2013 16:56:28 +0000 (18:56 +0200)]
4xm: do not overread while parsing header
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Wed, 5 Jun 2013 16:45:45 +0000 (18:45 +0200)]
4xm: refactor fourxm_read_header
Split sound and video tag parsing in separate functions.
Luca Barbato [Wed, 5 Jun 2013 15:32:49 +0000 (17:32 +0200)]
4xm: K&R formatting cosmetics
Luca Barbato [Wed, 5 Jun 2013 15:12:16 +0000 (17:12 +0200)]
4xm: use the correct logging context
Michael Niedermayer [Sun, 9 Jun 2013 14:55:10 +0000 (16:55 +0200)]
g2meet: Fix a typo in the height comparison
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Tue, 11 Jun 2013 17:09:38 +0000 (19:09 +0200)]
g2meet: do not leak buffers
Kostya Shishkov [Tue, 11 Jun 2013 17:07:38 +0000 (19:07 +0200)]
g2meet: more graceful cursor loading
Kostya Shishkov [Tue, 11 Jun 2013 16:34:26 +0000 (18:34 +0200)]
g2meet: reset dimensions on header parsing errors
Anton Khirnov [Sat, 25 May 2013 17:22:59 +0000 (19:22 +0200)]
lavc: add a libwavpack encoder wrapper
Anton Khirnov [Tue, 4 Jun 2013 17:01:22 +0000 (19:01 +0200)]
lavc: use AVFrame API properly in pad_last_frame().
This also simplifies the code.
Sean McGovern [Mon, 27 May 2013 22:11:50 +0000 (18:11 -0400)]
matroskadec: introduce resync function.
This allows handling matroska files with errors.
Fixes test4.mkv and test7.mkv from the official Matroska test suite,
and by extension Bugzilla #62.
Based on a patch by Reimar Doffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Wed, 5 Jun 2013 11:51:28 +0000 (14:51 +0300)]
configure: Don't add -fPIC on windows targets
This avoids warnings about this option not having any effect on
this platform.
We still want to enable the pic configure item for these platforms
(if detected via the compiler builtin define __PIC__) to get proper
inline assembly workarounds.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 May 2013 12:10:37 +0000 (15:10 +0300)]
configure: Don't explicitly disable PIC for windows targets
This reverts
e08c946c6 and
05165c2f7a. The actual intention of
e08c946c6 was to fix shared library builds for arm/win32, which
can also be accomplished in other ways.
Disabling pic on those platforms broke inline assembly on cygwin/64
(since some inline assembly requires knowing whether we are building
as PIC or not), and might also break inline assembly on other
compilers on windows.
As a side-effect, this unfortunately brings back all the warnings
about PIC not having any effect on that platform.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 28 May 2013 12:08:57 +0000 (15:08 +0300)]
configure: arm: Don't try to enable pic for shared libraries on win32
The object file format doesn't support PIC loads in ARM assembly,
there are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).
Signed-off-by: Martin Storsjö <martin@martin.st>
Yusuke Nakamura [Sat, 8 Jun 2013 15:16:27 +0000 (00:16 +0900)]
utvideodec: Set colorspace by codec_tag.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Yusuke Nakamura [Sat, 8 Jun 2013 14:54:41 +0000 (23:54 +0900)]
riff: Support ULH0 and ULH2 fourccs.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Yusuke Nakamura [Sat, 8 Jun 2013 14:23:16 +0000 (23:23 +0900)]
utvideodec: Support ULH0 and ULH2 formats.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Luca Barbato [Mon, 3 Jun 2013 09:11:38 +0000 (11:11 +0200)]
faxcompr: return meaningful errors
And optionally forward them to the caller instead of concealing them.
Unify err and ret in a single variable.
Luca Barbato [Mon, 3 Jun 2013 08:37:15 +0000 (10:37 +0200)]
faxcompr: K&R formatting cosmetics
Luca Barbato [Mon, 3 Jun 2013 02:53:02 +0000 (04:53 +0200)]
tiff: do not overread the source buffer
At least 2 bytes from the source are read every loop.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Mon, 3 Jun 2013 02:00:43 +0000 (04:00 +0200)]
tiff: cleanup the error paths
Return the proper error values and optionally report them.
Luca Barbato [Mon, 3 Jun 2013 01:58:17 +0000 (03:58 +0200)]
tiff: refactor fax support in a separate function
Luca Barbato [Mon, 3 Jun 2013 01:51:05 +0000 (03:51 +0200)]
tiff: refactor deflate support in a separate function
Report when zlib support is missing.
Luca Barbato [Thu, 6 Jun 2013 06:02:50 +0000 (08:02 +0200)]
h264_parser: K&R formatting cosmetics
Luca Barbato [Fri, 17 May 2013 11:34:25 +0000 (13:34 +0200)]
vorbis: return meaningful errors
Martin Storsjö [Thu, 6 Jun 2013 10:59:34 +0000 (13:59 +0300)]
rtpdec: Fix the alphabetical ordering in registering depacketizers
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 6 Jun 2013 11:08:07 +0000 (14:08 +0300)]
libavformat: Fix standalone compilation of the webm muxer
The missing object file was added to the matroska muxer already, but
not to the webm muxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Wed, 29 May 2013 14:18:40 +0000 (16:18 +0200)]
apetag: use int64_t for filesize
CC: libav-stable@libav.org
Anton Khirnov [Wed, 29 May 2013 13:38:21 +0000 (15:38 +0200)]
avconv: check that the output format context exists before accessing it
Fixes a segfault in exit_program() if opening an output file fails.
Anton Khirnov [Sun, 12 May 2013 12:02:59 +0000 (14:02 +0200)]
lavfi doxy: improve/extend AVFilter doxy.
Luca Barbato [Sat, 1 Jun 2013 17:38:57 +0000 (19:38 +0200)]
network: uniform ff_listen_bind and ff_listen_connect
Document the functions and have both use a millisecond timeout and
check for interrupt.
Andrey Semashev [Sun, 2 Jun 2013 20:26:18 +0000 (23:26 +0300)]
movenc: Grow the frag_info array in chunks
Previously it was grown one element at a time, which leads to
excessive reallocations.
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrey Semashev [Mon, 3 Jun 2013 10:32:48 +0000 (13:32 +0300)]
movenc: Increase the cluster array allocation by doubling
The previous allocation increment of 16384 meant that the cluster
array was allocated for 0.6 MB initially, which is a bit excessive
for cases with fragmentation where only a fraction of that ever
actually is used.
Therefore, start off at a much smaller value, and increase by
doubling (to avoid reallocating too often when writing long
non-fragmented mp4 files).
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrey Semashev [Sun, 2 Jun 2013 19:57:31 +0000 (22:57 +0300)]
movenc: Keep track of the allocated size for the cluster array
When writing fragmented mp4, the cluster array is reset when a
fragment is written. Instead of starting off reallocating the
array only based on the number of current elements in it, keep
track of how many elements there were allocated earlier.
This avoids reallocating this array needlessly when writing
fragmented mp4 files.
Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 3 Jun 2013 09:31:46 +0000 (12:31 +0300)]
mem: Add av_realloc_array and av_reallocp_array
These help avoiding overflows and simplify error handling.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 2 Jun 2013 20:29:04 +0000 (23:29 +0300)]
movenc: Change the track struct name to match the typedef
This makes the struct name (which isn't used anywhere) match the
name of the typedef, as for all the other structs declared in this
header.
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Mon, 25 Feb 2013 20:38:25 +0000 (21:38 +0100)]
Go2Webinar decoder
Kostya Shishkov [Sat, 1 Jun 2013 17:24:26 +0000 (19:24 +0200)]
vmd: decode videos with no LZ buffer size provided - they might not need it
The buffer is used for an additional pass of frame compression, so videos
can be coded without ever using it (and some are coded so indeed, e.g. in
Woodruff and the Schnibble of Azimuth game).
Kostya Shishkov [Sat, 1 Jun 2013 17:19:28 +0000 (19:19 +0200)]
vmd: fix mode 3 decoding
Diego Biurrun [Wed, 15 May 2013 22:28:17 +0000 (00:28 +0200)]
swscale: ppc: Remove commented-out define cruft
Diego Biurrun [Wed, 15 May 2013 22:28:03 +0000 (00:28 +0200)]
nsvdec: Remove commented-out debug cruft
Diego Biurrun [Sat, 1 Jun 2013 13:38:51 +0000 (15:38 +0200)]
cpu: Restructure code to avoid pointless ret variable indirection
libavutil/cpu.c:133:9: warning: unused variable ‘ret’ [-Wunused-variable]
Diego Biurrun [Sat, 1 Jun 2013 13:35:11 +0000 (15:35 +0200)]
tiff: K&R formatting cosmetics
Luca Barbato [Fri, 31 May 2013 01:05:13 +0000 (03:05 +0200)]
network: factor out connect-listening code
Introduce ff_listen_connect, to be shared with the other
non-tcp network protocols.
Luca Barbato [Wed, 29 May 2013 23:08:51 +0000 (01:08 +0200)]
network: factor out bind-listening code
Introduce ff_listen_bind, to be shared with the other non-tcp
network protocols.
Kostya Shishkov [Sat, 1 Jun 2013 08:38:56 +0000 (10:38 +0200)]
use my full first name instead of short one in copyrights
Kostya Shishkov [Fri, 31 May 2013 19:09:27 +0000 (21:09 +0200)]
indeo4: expand allowed quantiser range
Indeo 4 has quantiser range 0-31 instead of 0-23 for Indeo 5, and clipping
quantiser leads to incorrect quantisation and DC prediction on low-quality
videos.
This fixes bug 259.
Alex Smith [Thu, 30 May 2013 20:11:21 +0000 (20:11 +0000)]
configure: icl: Merge -Qdiag-error parameters
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>