Commit Graph

63 Commits

Author SHA1 Message Date
Ronald S. Bultje
bd17a40a7e lcl: return negative error codes on decode_init() errors.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-01 07:12:29 -08:00
Ronald S. Bultje
be129271ea lcl: error out if uncompressed input buffer is smaller than framesize.
This prevents crashes when trying to read beyond the end of the buffer
while decoding frame data.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 07:28:57 -08:00
Ronald S. Bultje
01cb62aba2 lcl: don't overwrite input memory.
If the PNG filter is enabled, a PNG-style filter will run over the
input buffer, writing into the buffer. Therefore, if no zlib compression
was used, ensure that we copy into a temporary buffer, otherwise we
overwrite user-provided input data.
2012-02-23 10:31:46 -08: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
Diego Biurrun
adbfc605f6 doxygen: Consistently use '@' instead of '\' for Doxygen markup.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-24 00:37:49 +02: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
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
Diego Biurrun
b34aaed2cf Move #ifdef before zlib_decomp() up so it covers the Doxygen comments.
Otherwise Doxygen gets confused and cannot map comments to functions.

Originally committed as revision 23988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 12:41:07 +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
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Reimar Döffinger
4a49ab77c6 Remove unnecessary calls to avcodec_check_dimensions, the check is already
done at a higher level.

Originally committed as revision 20229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 20:13:28 +00:00
Reimar Döffinger
24dd21fa41 add #if CONFIG_ZLIB_DECODER around zlib_decomp function.
Fixes compilation when zlib is not available.

Originally committed as revision 19069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 19:51:21 +00:00
Reimar Döffinger
79183d3c3e mszh decompression: add a special case for an all-0 mask, i.e. 32 uncompressed
bytes in a row.
About 15% faster mszh_decomp on an Atom N270 for
http://samples.mplayerhq.hu/V-codecs/mszh-zlib/avimzsh_sample.avi

Originally committed as revision 19068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 18:17:33 +00:00
Reimar Döffinger
a7bfbe4e13 lcldec: ensure that the offset for av_memcpy_backptr is valid.
Originally committed as revision 19067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 17:44:35 +00:00
Reimar Döffinger
bbf306742c Fix memleak due to c->decomp_buf never being freed.
Originally committed as revision 19064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:47:52 +00:00
Reimar Döffinger
908425c758 Only call inflateEnd when we were actually using the zlib code.
Originally committed as revision 19063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:42:50 +00:00
Reimar Döffinger
4ad3df9da2 avctx->priv_data is initialized to 0, get rid of useless extra initialization.
Originally committed as revision 19062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:41:49 +00:00
Reimar Döffinger
7ffc844742 Merge variable declaration and initialization.
Originally committed as revision 19061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:35:20 +00:00
Reimar Döffinger
7c20421661 Use int-size types instead of char where it makes no difference.
Originally committed as revision 19060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:34:19 +00:00
Reimar Döffinger
7a15b25827 Take advantage of available input padding to optimize mszh_decomp
Originally committed as revision 19059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:32:03 +00:00
Reimar Döffinger
a5d2745d8e Change maskbit variable to contain (1 << maskbit)
Originally committed as revision 19058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:58:20 +00:00
Reimar Döffinger
e0b3af9059 Remove check that thanks to padding is no longer necessary.
Originally committed as revision 19057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:53:47 +00:00
Reimar Döffinger
0b99764459 100l, the compression field in lcl extradata must be interpreted as
int8_t, not uint8_t to allow -1 for "no compression".
The original code worked, but only when char was signed.

Originally committed as revision 19056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:50:54 +00:00
Reimar Döffinger
e4f141ad60 One more use for FFMIN.
Originally committed as revision 19055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:44:42 +00:00
Reimar Döffinger
0d48e6ec7f Pad the decompression buffer and use av_memcpy_backptr for the mszh decompression.
Originally committed as revision 19054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:42:26 +00:00
Reimar Döffinger
974ce78544 Mark srcptr as const in mszh_decomp
Originally committed as revision 19053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:38:17 +00:00
Reimar Döffinger
6065dcea37 Remove unnecessary put_bits/get_bits includes.
Originally committed as revision 19052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:37:05 +00:00
Reimar Döffinger
2bee59083d Use bytestream_get_le16 to simplify offset/count calculation for mszh decompression.
Originally committed as revision 19051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:35:39 +00:00
Reimar Döffinger
5a18221ba8 Remove useless & 0x1f
Originally committed as revision 19050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:31:37 +00:00
Reimar Döffinger
7b151a98b0 Document padding requirements of mszh_decomp srcptr buffer
Originally committed as revision 19049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:28:40 +00:00
Reimar Döffinger
5e5fe7dab5 Use srcptr_end variable to avoid having to update both srcptr and srclen.
Originally committed as revision 19048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:26:58 +00:00
Reimar Döffinger
dbc53ffc7c Change buffer size checks to avoid the undefined overflow case.
Originally committed as revision 19047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:23:38 +00:00
Reimar Döffinger
2fddb91e94 Simply use memcpy instead of AV_RN32/AV_WN32 combination.
Originally committed as revision 19046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:16:28 +00:00
Reimar Döffinger
661cb0d4a9 Fix decoding of multithread-encoded lcl files on big-endian.
Originally committed as revision 19045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:14:27 +00:00
Reimar Döffinger
ce22c7d075 Remove another useless ()
Originally committed as revision 19044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:05:21 +00:00
Reimar Döffinger
21bf2f51d7 Correct calculation of compressed input length.
Originally committed as revision 19043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:01:26 +00:00
Reimar Döffinger
46adcc27a2 Add sanity check for mthread_inlen, avoids crashes due to invalid reads.
Originally committed as revision 19042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:59:46 +00:00
Reimar Döffinger
1207c84adb Use FFMIN
Originally committed as revision 19041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:57:42 +00:00
Reimar Döffinger
c2c0c1c023 Factor out zlib decompression code to avoid massive code duplication,
particularly due to error checks.

Originally committed as revision 19040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:51:46 +00:00
Reimar Döffinger
f005808bf2 Use FFALIGN
Originally committed as revision 19039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:28:29 +00:00
Reimar Döffinger
46c02b1b50 Move variable into block where it is used, avoiding a unused variable
warning if the zlib decoder is disabled.

Originally committed as revision 19038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:27:07 +00:00
Reimar Döffinger
2b550f816a Make lcldec less annoyingly verbose, move messages from AV_LOG_INFO to AV_LOG_DEBUG.
Originally committed as revision 19037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:23:54 +00:00
Reimar Döffinger
75f6d6c7e6 Get rid of unreachable code: avctx->codec_id == CODEC_ID_ZLIB is not possible
here when the zlib decoder is disabled and libavcodec is used correctly.

Originally committed as revision 19036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:19:21 +00:00
Reimar Döffinger
56b44694bd lcldec.c: change #if CONFIG_ZLIB to #if CONFIG_ZLIB_DECODER.
The zlib related code should not be compiled in when the decoder is disabled
and it thus will never be used, even if we have zlib available.

Originally committed as revision 19035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:16:06 +00:00
Reimar Döffinger
445e0ab539 Get rid of extradata casts, it already has the right uint8_t * type
Originally committed as revision 19034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:12:17 +00:00
Reimar Döffinger
8c18e490c4 Make lcldec produce YUV output when the input file is coded like that, instead
of having it do its own inefficient fixed-point YUV to RGB conversion.

Originally committed as revision 19033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:09:32 +00:00
Reimar Döffinger
bb79016851 Use memcpy instead of per-pixel copy loop for rgb lcl format
Originally committed as revision 18997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 11:20:07 +00:00
Reimar Döffinger
c40f366372 Remove useless () from lcldec for more consistency with "normal" FFmpeg coding style.
Originally committed as revision 18995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 09:07:10 +00:00
Reimar Döffinger
abeee5ccb8 Use av_clip_uint8 instead of equivalent but unoptimzed code,
Originally committed as revision 18985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 20:15:38 +00:00
Jeff Downs
50352827f6 Use AV_R/WN32 instead of direct integer copying.
Fixes decoding on at least Sparc/Solaris where unaligned accesses cause
crashes.
ML thread: http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/91414

Originally committed as revision 18967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 18:59:24 +00:00