Commit Graph

73 Commits

Author SHA1 Message Date
Anton Khirnov
759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Luca Barbato
5cf7c72757 shorten: use the unsigned type where needed
get_uint returns an unsigned value, use an unsigned to store
blocksize to make sure the comparison logic is correct and report
correctly the error for the channel count not supported.
2013-03-06 01:04:02 +01:00
Luca Barbato
4c364eb2b8 shorten: report meaningful errors 2013-03-06 01:04:02 +01:00
Luca Barbato
a2ad554def shorten: K&R formatting cosmetics 2013-03-06 01:04:02 +01:00
Michael Niedermayer
c10da30d84 shorten: set invalid channels count to 0
Prevent the loop shorten_decode_close from writing and freeing out of
the array boundary.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-06 01:04:01 +01:00
Justin Ruggles
fed74c0ae4 shorten: decode directly to the user-provided AVFrame 2013-02-12 12:22:38 -05:00
Luca Barbato
4839fbe2d1 shorten: fix array subscript is below array bounds warning
Incidentally fixes alpha builds.
2013-01-28 07:24:51 +01:00
Diego Biurrun
511cf612ac miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
Anton Khirnov
594d4d5df3 lavc: add a wrapper for AVCodecContext.get_buffer().
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Justin Ruggles
4c53f4aed3 shorten: validate that the channel count in the header is not <= 0 2012-11-01 11:29:18 -04:00
Justin Ruggles
977eb7d567 shorten: use planar sample format 2012-10-14 16:48:22 -04:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Martin Storsjö
00c3b67b8a cosmetics: Align codec declarations
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 22:37:38 +03:00
Michael Niedermayer
204cb29b3c shorten: Use separate pointers for the allocated memory for decoded samples.
Fixes invalid free() if any of the buffers are not allocated due to either
not decoding a header or an error prior to allocating all buffers.

Fixes CVE-2012-0858
CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-16 15:18:45 -05:00
John Brooks
8562d9bd6c shorten: avoid abort() on unknown audio types
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-08 11:30:24 +01:00
Paul B. Mahol
eda8731285 shorten: remove dead initialization
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 15:12:05 -05:00
Justin Ruggles
0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Justin Ruggles
5c210e2cb9 shorten: do not modify samples pointer when interleaving 2011-11-11 14:18:22 -05:00
Justin Ruggles
1baa25c7da shorten: fix end-of-stream decoding.
enable CODEC_CAP_DELAY to flush any remaining frames in the buffer.

Stop decoding when the FN_QUIT command is found so that a trailing seek table
isn't decoded as a normal frame.

decode all channels in the same call to avcodec_decode_audio3() so that
decoding will not stop after the first channel of the last frame.

Updated FATE reference. More valid audio is now decoded.
2011-10-20 13:09:46 -04:00
Justin Ruggles
d03f9f65c0 shorten: do not use block size to determine whether to read the header. 2011-10-20 13:09:46 -04:00
Justin Ruggles
882dafe9b6 shorten: check output buffer size before decoding 2011-10-20 13:09:26 -04:00
Justin Ruggles
bd7f7d6c78 shorten: use av_clip_int16() for output sample clipping 2011-10-20 13:09:26 -04:00
Justin Ruggles
069ada46c1 shorten: use bytestream functions to decode the embedded WAVE header 2011-10-20 13:09:25 -04:00
Justin Ruggles
c25762fcf1 shorten: add some comments 2011-10-20 13:09:25 -04:00
Justin Ruggles
15d146c958 shorten: merge decoding of FN_DIFF* subblocks into decode_subframe_lpc() 2011-10-20 13:09:25 -04:00
Justin Ruggles
034f42dfce cosmetics: remove some needless commented-out stuff 2011-10-20 13:09:25 -04:00
Justin Ruggles
cfa317f67d shorten: validate block size 2011-10-20 13:09:25 -04:00
Justin Ruggles
45d7d31fb9 shorten: move declaration of 'ret' to top of shorten_decode_frame() 2011-10-20 13:09:25 -04:00
Justin Ruggles
a8055992c0 shorten: pass on error value from allocate_buffers() instead of returning -1 2011-10-20 13:09:25 -04:00
Justin Ruggles
9e5e2c2d01 shorten: check for realloc failure 2011-10-20 13:09:25 -04:00
Justin Ruggles
fe31a637f1 shorten: move decoding of prediction order and applying of global offset to
decode_subframe_lpc().
2011-10-20 13:09:25 -04:00
Justin Ruggles
0f97c5014b shorten: only calculate output size when returning decoded samples, otherwise
just set data_size to zero.
2011-10-20 13:09:25 -04:00
Justin Ruggles
e9e37f2d10 cosmetics: reindent 2011-10-20 13:09:25 -04:00
Justin Ruggles
9000b6db22 shorten: separate processing of audio commands from non-audio commands 2011-10-20 13:09:25 -04:00
Justin Ruggles
07745485ef shorten: skip some fields in the WAV header embedded in the shorten header.
fixes incorrect bitrate reporting and potential misreporting of the number of
channels.
2011-10-20 13:09:25 -04:00
Justin Ruggles
a1f7885a8b shorten: split reading of file header into a separate functions 2011-10-20 13:09:25 -04:00
Justin Ruggles
617a51f9b7 shorten: remove the flush function.
The shorten decoder does not support seeking.
2011-10-13 16:31:16 -04:00
Laurent Aimar
5f05cf4ea9 shorten: Fix out of bound writes in fix_bitshift()
The data pointers s->decoded[*] already take into account s->nwrap.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
95010d18b2 shorten: Prevent block size from increasing
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
b27565b143 Remove statements immediately following unconditional jumps
This removes a number of compiler warnings.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 03:15:53 +01:00
Diego Biurrun
b9478cfefb shorten: Remove stray DEBUG #define and corresponding av_dlog statement. 2011-06-07 15:18:43 +02:00
Mans Rullgard
e65ab9d94f Remove unused variables 2011-06-02 20:06:00 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Luca Barbato
dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Måns Rullgård
8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Måns Rullgård
02591641f8 shorten: remove VLA and check for buffer overflow
Originally committed as revision 23798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 14:34:21 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00