Michael Niedermayer
1e00bbb10c
avcodec/lcldec: Check that dimensions are a multiple of the subsample factors
...
Other dimensions would not work correctly currently,
also ask for a sample for files that fail this check.
This fixes an integer overflow leading to out of array
accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Clément Bœsch
1ec94b0f06
lavc: factorize ff_{thread_,re,}get_buffer error messages.
...
Coccinelle profile used:
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_get_buffer(ctx, f, flags)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str;
@@
-if ((r = ff_reget_buffer(ctx, f)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_reget_buffer(ctx, f)) < 0)
+ return r;
@@
expression r, ctx, f, loglevel, str, flags;
@@
-if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0) {
- av_log(ctx, loglevel, str);
- return r;
-}
+if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0)
+ return r;
...along with some manual patches for the remaining ones.
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Michael Niedermayer
b53ed19aa7
lcldec: Check length before unsigned subtraction.
...
Fix integer overflow and out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
14cf33e957
lcldec: return meaningful error codes.
12 years ago
Michael Niedermayer
169dfe320d
lcldec: fix zlib const pointer warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
df9b956751
lavc: fix decode_frame() third parameter semantics for video decoders
...
It's got_frame, not data size
12 years ago
Anton Khirnov
594d4d5df3
lavc: add a wrapper for AVCodecContext.get_buffer().
...
It will be useful in the upcoming transition to refcounted AVFrames.
12 years ago
Paul B Mahol
1b3dbe3f75
lcldec: fix decoding of uncompressed rgb24 sample
...
Sample from ticket #1216 does not use any compression but bitstream
claims it is. Reference decoder decodes sample just fine.
Fixes #1216 .
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Diego Biurrun
5bac2d0c30
avutil: Move memcpy_backptr() to mem.c
...
The function is used elsewhere and does not belong with the LZO code.
12 years ago
Diego Biurrun
e831b3b852
av_memcpy_backptr: Drop no longer necessary malloc padding
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
13 years ago
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>
13 years ago
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
13 years ago
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
13 years ago
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.
13 years ago
Reimar Döffinger
42a1f1d7a8
Avoid uninitialized data in lcldec when ofs is 0 in MSZH.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
14 years ago
Diego Biurrun
adbfc605f6
doxygen: Consistently use '@' instead of '\' for Doxygen markup.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Stefano Sabatini
01042d4123
lavc: set defaults in internal codec frames
...
This is required specifically for setting frame->format to -1,
otherwise it will be set to 0 = PIX_FMT_YUV420P and code reading
the format from the output decoded frame will get misled.
In particular fix regressions occurring with the pending vsrc_buffer
patch.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Elio Pettenò
e7e2df27f8
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>
(cherry picked from commit d36beb3f69
)
14 years ago
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>
14 years ago
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
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Reimar Döffinger
7ffc844742
Merge variable declaration and initialization.
...
Originally committed as revision 19061 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
Reimar Döffinger
a5d2745d8e
Change maskbit variable to contain (1 << maskbit)
...
Originally committed as revision 19058 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
Reimar Döffinger
e4f141ad60
One more use for FFMIN.
...
Originally committed as revision 19055 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Reimar Döffinger
974ce78544
Mark srcptr as const in mszh_decomp
...
Originally committed as revision 19053 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Reimar Döffinger
6065dcea37
Remove unnecessary put_bits/get_bits includes.
...
Originally committed as revision 19052 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
Reimar Döffinger
5a18221ba8
Remove useless & 0x1f
...
Originally committed as revision 19050 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Reimar Döffinger
7b151a98b0
Document padding requirements of mszh_decomp srcptr buffer
...
Originally committed as revision 19049 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago