68 Commits

Author SHA1 Message Date
Michael Niedermayer
3f1a58db6f Merge commit 'b143844ea0f6246e0d5a938d743e2e8a98453bec' into release/0.8
* commit 'b143844ea0f6246e0d5a938d743e2e8a98453bec': (22 commits)
  aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
  vp6: properly fail on unsupported feature
  h264: Fix parameters to ff_er_add_slice() call
  flacenc: ensure the order is within the min/max range in LPC order search
  yuv4mpeg: reject unsupported codecs
  vp8: reset loopfilter delta values at keyframes.
  vp56: release frames on error
  vp56: make parse_header return standard error codes
  ivi_common: check that scan pattern is set before using it.
  Update RELEASE file for 0.7.7
  tiffenc: Check av_malloc() results.
  mpegaudiodec: fix short_start calculation
  h264: avoid stuck buffer pointer in decode_nal_units
  yuv4mpeg: return proper error codes.
  smacker audio: sign-extend the initial 16-bit predicted value
  vf_pad: don't give up its own reference to the output buffer.
  avidec: return 0, not packet size from read_packet().
  wmapro: prevent division by zero when sample rate is unspecified
  alsdec: fix number of decoded samples in first sub-block in BGMC mode.
  alsdec: remove dead assignments
  ...

Conflicts:
	RELEASE
	libavformat/avidec.c
	libavformat/yuv4mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 03:03:39 +01:00
Luca Barbato
4ede95e69c vp6: properly fail on unsupported feature
Interlacing is not supported at all and mismanaged down the normal
codepaths causing possible buffer management issues.

Fixes: CVE-2012-2783
(cherry picked from commit be75fed9755c1285ba084574aff2d7ee0f81110d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-01-12 19:27:29 +01:00
Luca Barbato
700fb8c8dd vp56: make parse_header return standard error codes
Returning 0 for failure is misleading.

CC: libav-stable@libav.org

(cherry picked from commit bb675d3ac6d722d5e117ae9042a996b55ca05b1d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-01-12 19:20:27 +01:00
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
Ronald S. Bultje
f28ec73379 vp56: error out on invalid stream dimensions.
Prevents crashes when playing corrupt vp5/6 streams.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 8bc396fc0e8769a056375c1c211f389ce0e3ecc5)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-01 18:33:27 +02:00
Thierry Foucu
ba4b08b789 vp6: Fix illegal read.
Found with Address Sanitizer

Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit e0966eb140b3569b3d6b5b5008961944ef229c06)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-04 09:21:09 +01:00
Alex Converse
67a7ed623b vp6: Fix illegal read.
(cherry picked from commit 2a6eb06254df79e96b3d791b6b89b2534ced3119)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-04 09:20:49 +01:00
Laurent Aimar
c76505e0de vp6: Reset the internal state when aborting key frames header parsing
It prevents leaving the state only half initialized.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit a72cad0a6c05aa74940101e937cb3dc602d7d67b)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-04 09:20:28 +01:00
Laurent Aimar
30c08e2261 vp6: Check for huffman tree build errors
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 066fff755a5d8edc660c010ddb08474d208eeade)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-04 09:20:10 +01:00
Dustin Brody
7367cbec1b vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f913eeea43078b3b9052efd8d8d29e7b29b39208)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-04 09:19:29 +01:00
Thierry Foucu
8a63deab15 vp6: Fix illegal read.
Found with Address Sanitizer

Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit e0966eb140b3569b3d6b5b5008961944ef229c06)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-18 14:29:52 +01:00
Alex Converse
93f1159af5 vp6: Fix illegal read.
(cherry picked from commit 2a6eb06254df79e96b3d791b6b89b2534ced3119)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-04 01:54:13 +01:00
Laurent Aimar
35f8ad420a vp6:Reset the internal state when aborting key frames header parsing in vp6 decoder.
It prevents leaving the state only half initialized.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 91f104496bb7632ed5ff03798e06dd8af014f0d9)
2011-10-01 20:22:52 +02:00
Dustin Brody
056e9efc8e vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f913eeea43078b3b9052efd8d8d29e7b29b39208)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-22 01:22:21 +02:00
Laurent Aimar
cf43508eb3 Check for huffman tree building error in vp6 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7c249d4fbaf4431b20a90a3c942f3370c0039d9e)
2011-09-22 01:19:27 +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
Ronald S. Bultje
3a0885146c Move vp6_filter_diag4() from DSPContext to VP56DSPContext.
Originally committed as revision 24921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:42:28 +00:00
Jason Garrett-Glaser
905ef0d064 VP5/6/8: eliminate CABAC dependency
Create a custom table for VP5/6/8's renorm to avoid depending on H.264's.
Saves one instruction in the arithmetic decoder as well.

Originally committed as revision 24701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-04 23:04:05 +00:00
Alex Converse
52fa20542b Reindent after last commit.
Originally committed as revision 24562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 05:38:30 +00:00
Alex Converse
d950497083 ff_prefix non static vp56 functions.
Originally committed as revision 24561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 05:36:33 +00:00
Måns Rullgård
796cea09b6 vp6: convert VLA to fixed size
Originally committed as revision 23754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-24 09:02:44 +00:00
Måns Rullgård
5e1ba34bbb VP56: move vp56_edge_filter to new VP56DSPContext
Using macro templates allows the vp[56]_adjust functions to be
inlined instead of called through function pointers.  The new
function pointers enable optimised implementations of the filters.

4% faster VP6 decoding on Cortex-A8.

Originally committed as revision 22992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:30:22 +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
Aurelien Jacobs
ded2100e48 move vp6 huffman table freeing code, out of common vp56 code
Originally committed as revision 22186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 22:29:06 +00:00
Vitor Sessak
0a41faa9a7 Plug some memory leaks in the VP6 decoder
Originally committed as revision 22172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 17:24:32 +00:00
Reimar Döffinger
ad92108694 Add a check to vp6_parse_coeff_huffman to ensure it does not overread the input buffer.
Originally committed as revision 19349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 16:01:51 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Aurelien Jacobs
26f3ae828b move vp6_filter_diag4() to a new vp6dsp.c file and use it throught dsputil
Originally committed as revision 17111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 23:37:31 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Aurelien Jacobs
bf73801bec vp56: don't reset dimensions to 0 in codec init
Originally committed as revision 16140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-15 00:00:16 +00:00
Aurelien Jacobs
d887151d8c rename Vp56Model to VP56Model for consistency
Originally committed as revision 16073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-12 00:51:53 +00:00
Aurelien Jacobs
3d52bca6bf avoid POSIX reserved _t suffix
Originally committed as revision 16068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-11 22:56:19 +00:00
Aurelien Jacobs
40056c32df vp6dec: ensure we don't try to use a buffer with negative size
this should never happen in valid vp6 bitstream
fix issue684

Originally committed as revision 15610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-13 00:10:53 +00:00
Peter Ross
d47f16074f vp6: ensure that huffman decoding table is sorted with descending symbol order
Previous code worked by pure luck with glibc qsort implementation.
patch by Peter Ross   pross _at_ xvid _dot_ org

Originally committed as revision 13887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 13:20:41 +00:00
Stefano Sabatini
fe4bf37455 Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Stefano Sabatini
162d4fc99d Add long names to AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 22:39:51 +00:00
Zuxy Meng
98a6fff98c Apply 'cold' attribute to init/uninit functions in libavcodec
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Aurelien Jacobs
bac02ed3c5 huffman: pass hnode_first as a flag instead of as an argument on its own
Originally committed as revision 12373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 17:57:13 +00:00
Aurelien Jacobs
d37f007d54 remove #include "mpegvideo.h" where it is not needed
Originally committed as revision 12321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-05 00:07:53 +00:00
Michael Niedermayer
7e5cdb5b1b const
Originally committed as revision 11791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 16:16:40 +00:00
Aurelien Jacobs
713b0bffd6 10l: init_get_bits want size in bits, not bytes
Originally committed as revision 11099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 22:00:45 +00:00
Aurelien Jacobs
f28b10483a add support for VP6 with huffman encoded blocks
closes issue 104

Originally committed as revision 10737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-14 22:30:59 +00:00
Aurelien Jacobs
91fc2cf150 add a new vp6a codec (add alpha plan support to vp6)
Originally committed as revision 10574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-25 19:12:46 +00:00
Aurelien Jacobs
247df384ec move all model related tables into their own struct
Originally committed as revision 10571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-24 22:29:11 +00:00
Aurelien Jacobs
1457516f70 some simplifications and uniformisation
Originally committed as revision 10568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-24 20:43:47 +00:00
Aurelien Jacobs
c0fee8c985 add a warning message for unsupported kind of encoding
Originally committed as revision 10277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-01 13:04:25 +00:00
Diego Biurrun
7b94177e37 Group all copyright and author notices together.
Originally committed as revision 9483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:37:29 +00:00