Commit Graph

47 Commits

Author SHA1 Message Date
Anton Khirnov
3ba40ebb6c ivi_common: do not call MC for intra frames when dc_transform is unset
CC:libav-stable@libav.org
2013-03-08 08:11:46 +01:00
Anton Khirnov
759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Anton Khirnov
deabb52ab4 ivi_common: check that scan pattern is set before using it.
Fixes CVE-2012-2791.

CC: libav-stable@libav.org
2012-12-14 07:10:53 +01:00
Anton Khirnov
07acdd651d ivi_common: use proper logging context in ivi_decode_blocks(). 2012-12-14 07:10:48 +01:00
Anton Khirnov
8ab42021f2 ivi_common: make some functions and tables static. 2012-12-14 07:08:38 +01:00
Anton Khirnov
df9b956751 lavc: fix decode_frame() third parameter semantics for video decoders
It's got_frame, not data size
2012-12-04 21:45:36 +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
Diego Biurrun
87cdd7c694 ivi_common: Drop unused function parameter from decode_band() 2012-10-26 18:28:38 +02:00
Diego Biurrun
d5c62122a7 Move av_reverse table to libavcodec
It is only used in that library.
2012-10-12 20:39:18 +02:00
Janne Grunau
6d556e8327 indeo4/5: remove constant parameter num_bands from wavelet recomposition
Fixes bogus uninitialized value compiler and coverity warnings.
2012-10-10 21:24:32 +02:00
Anton Khirnov
ae3da0ae55 indeo4/5: check empty tile size in decode_mb_info().
This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes CVE-2012-2800

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:13:45 +02:00
Anton Khirnov
5d2170c53b ivi_common: make ff_ivi_process_empty_tile() static.
It's not used outside of ivi_common.c
2012-09-29 19:12:57 +02:00
Michael Niedermayer
b146d74730 indeo4: update AVCodecContext width/height on size change
Fixes CVE-2012-2787

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:27:32 +02:00
Michael Niedermayer
891918431d indeo5dec: Make sure we have had a valid gop header.
This prevents decoding happening on a half initialized context.

Fixes CVE-2012-2779

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:26:30 +02:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Diego Biurrun
4f04f5cc8b indeo: Make ivi_calc_band_checksum() static, it is only used in one file. 2012-05-20 15:59:30 +02:00
Diego Biurrun
9ccbdc0aca indeo: Drop unused debug function ivi_check_band(). 2012-05-20 15:56:25 +02:00
Kostya Shishkov
cf61aaaca1 indeo: check for invalid motion vectors 2012-05-20 11:19:48 +02:00
Kostya Shishkov
9603738221 indeo: check that band output buffer exists 2012-05-20 11:19:48 +02:00
Kostya Shishkov
23ba1503f2 indeo: clear allocated band buffers 2012-05-20 11:19:48 +02:00
Kostya Shishkov
a6e4ac40a6 indeo: track tile macroblock size 2012-05-20 11:19:48 +02:00
Kostya Shishkov
fe7a37c36f indeo: check custom Huffman tables for errors 2012-05-20 11:19:47 +02:00
Kostya Shishkov
aa372cf470 factor out common decoding code for Indeo 4 and Indeo 5 2012-05-20 11:19:30 +02:00
Diego Biurrun
b1563d0cf9 ivi_common: Initialize a variable at declaration in ff_ivi_decode_blocks().
This simplifies the code a bit and avoids an uninitialized variable warning.
2012-04-20 21:08:34 +02:00
Diego Biurrun
3dde147ff9 cosmetics: Consistently place static, inline and av_cold attributes/keywords. 2012-04-04 14:54:13 +02:00
Martin Storsjö
e96b4a53df vlc/rl: Add ff_ prefix to the nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:26 +02:00
Michael Niedermayer
b18a0cc781 indeo5: Fix null pointer dereference.
Bug found by: Oana Stratulat

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-01-07 00:18:42 +01:00
Diego Biurrun
aaf47bcde7 Drop ALT_ prefix from BITSTREAM_READER_LE name.
The prefix is a historic remnant that probably meant "alternative".
Now that the A32 bitstream reader has been dropped it makes no sense anymore.
2011-12-22 16:51:23 +01:00
Diego Biurrun
f190f676bc Replace custom DEBUG preprocessor trickery by the standard one. 2011-06-03 00:44:06 +02:00
Diego Biurrun
2366462429 Replace #ifdef + av_log() combinations by av_dlog(). 2011-06-03 00:44:03 +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
Daniel Kang
eb40d7ffa7 Check symbol validity to avoid a crash, fixes issue 2523.
Patch by Daniel Kang, daniel.d.kang at gmail

Originally committed as revision 26360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 10:18:38 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Maxim Poliakovski
79d46cbea6 Quant changes only once per MB so move the corresponding scale factor assignment
out of the block decoding loop. Indeo4 doesn't use any scale table but the quant
level itself as scale. Therefore access scale table only if its pointer != NULL.

Originally committed as revision 23569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-10 17:31:12 +00:00
Maxim Poliakovski
0933f55829 Prepare Indeo4 (step 1): upscale indeo5 base tables by 2 and convert those into uint16_t.
Originally committed as revision 23523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 09:20:12 +00:00
Maxim Poliakovski
274793de6e Make dequantization equation use less registers on some CPUs.
Originally committed as revision 23391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-30 23:57:51 +00:00
Maxim Poliakovski
9c6b3b97d7 Add the forgotten ff_ prefix to the shareable scan patterns.
Originally committed as revision 23341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-26 20:22:29 +00:00
Maxim Poliakovski
220f2bd9c5 move indeo5 scan patterns into ivi_common.c
so those can be shared by indeo4.

Originally committed as revision 23335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-26 13:25:16 +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
Maxim Poliakovski
5f1654b25b Scale tile dimensions in case both local decoding and scalability mode
are used in Indeo 5 stream.
Patch by Maxim ($indeo5dec_author)

Originally committed as revision 22318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 06:49:16 +00:00
Maxim Poliakovski
e7edeb9191 When tracking non-zero coefficients during Indeo 5 decoding, make sure
it does not ignore coefficient value = 256.
Patch by Maxim ((!min)_pole \at gmx dot/ de)

Originally committed as revision 22275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 06:03:45 +00:00
Kostya Shishkov
e322aacedd Encapsulate VLC information needed for decoding blocks and macroblocks in
Indeo 5 into single structure IVIHuffTab and factorize code using it.

Based on patch by Maxim (max_pole at German GMX)

Originally committed as revision 22092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 12:32:31 +00:00
Kostya Shishkov
4982a77e56 Make it clear that ff_ivi_init_static_vlc() does not need arguments
Originally committed as revision 22091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 12:12:56 +00:00
Kostya Shishkov
60819e694e 10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and
block decoding at exit, so prevent that memory leak now.

Originally committed as revision 21983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:41:29 +00:00
Måns Rullgård
2fc492d842 Declare indeo VLC table storage with correct type
Originally committed as revision 21977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 03:45:51 +00:00
Kostya Shishkov
9068f36dcc Macroblock and block Huffman code sets are to be used by both Indeo 4 and
Indeo 5, so make them global and move their initialization to the common place
as well. And fix static VLC initialization, as ff_ivi_create_huff_from_desc()
used old way to do so.

Originally committed as revision 21962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 13:51:32 +00:00
Kostya Shishkov
1cf3168516 Indeo Video Interactive 4 and 5 common code and DSP functions.
Reviewed and corrected by myself because there were no other volunteers in the
last weeks.

Originally committed as revision 21531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 08:10:17 +00:00