64 Commits

Author SHA1 Message Date
Michael Niedermayer
b6cc1c77fd Merge remote-tracking branch 'qatar/release/0.7' into release/0.8
* qatar/release/0.7: (84 commits)
  id3v2: fix skipping extended header in id3v2.4
  Update RELEASE file for 0.7.5
  lcl: use AVERROR_INVALIDDATA instead of AVERROR_UNKNOWN
  kgv1dec: Increase offsets array size so it is large enough.
  kgv1: use avctx->get/release_buffer().
  kvmc: fix invalid reads
  nsvdec: Propagate error values instead of returning 0 in nsv_read_header().
  mjpegbdec: Fix overflow in SOS.
  shorten: Use separate pointers for the allocated memory for decoded samples.
  shorten: check for realloc failure (cherry picked from commit 9e5e2c2d010c05c10337e9c1ec9d0d61495e0c9c)
  atrac3: Fix crash in tonal component decoding.
  ws_snd1: Fix wrong samples count and crash.
  ws_snd: add some checks to prevent buffer overread or overwrite. (cherry picked from commit 417364ce1f979031ef6fee661fc15e1869bdb1b4)
  ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
  dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2
  h264: stricter reference limit enforcement.
  jvdec: unbreak video decoding
  xxan: don't read before start of buffer in av_memcpy_backptr().
  dsicinvideo: validate buffer offset before copying pixels.
  huffyuv: add padding to classic (v1) huffman tables.
  ...

Conflicts:
	RELEASE
	libavcodec/atrac3.c
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/kgv1dec.c
	libavcodec/shorten.c
	libavcodec/svq3.c
	libavcodec/ws-snd1.c
	libavcodec/xxan.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 01:25:31 +02:00
Reinhard Tartler
fd53da21a1 lcl: use AVERROR_INVALIDDATA instead of AVERROR_UNKNOWN
While bogus, this change avoids the necessity to backport
AVERROR_UNKNOWN, which is not entirely trivial.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-01 18:33:30 +02:00
Ronald S. Bultje
bd0d32d131 lcl: return negative error codes on decode_init() errors.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit bd17a40a7e0eba21b5d27c67aff795e2910766e4)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-01 18:33:27 +02:00
Ronald S. Bultje
d10c22d33c 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
(cherry picked from commit be129271eac04f91393bf42a490ec631e1a9abea)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-01 18:33:27 +02:00
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.
2011-05-07 12:03:59 +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ò
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 d36beb3f6902b1217beda576aa18abf7eb72b03c)
2011-01-28 03:15:34 +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
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