Commit Graph

279 Commits

Author SHA1 Message Date
Janne Grunau 9b4767e478 vp3: fix streams with non-zero last coefficient
Fixes a regression introduced in 8b94df0f20.
2012-01-05 18:18:08 +01:00
Reinhard Tartler 8b94df0f20 vp3dec: Check coefficient index in vp3_dequant()
Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes NGS00145, CVE-2011-4352

Found-by: Phillip Langlois
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-23 15:42:24 +01:00
Diego Biurrun bc4d156140 vp3: Reorder some functions to fix VP3 build with Theora disabled. 2011-12-20 22:38:53 +01:00
Justin Ruggles 560f773c7d avcodec: change number of plane pointers from 4 to 8 at next major bump.
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
This will allow for supporting more planar audio channels without having to
allocate separate pointer arrays.
2011-12-02 17:40:40 -05:00
Justin Ruggles f3a29b750a avcodec: move some AVCodecContext fields to an internal struct.
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.

Moved internal_buffer, internal_buffer_count, and is_copy.
2011-11-19 10:01:05 -05:00
Diego Biurrun d1dfcb0829 vp3: remove some pointless comments 2011-11-02 10:42:54 +01:00
Ronald S. Bultje 8370e426e4 vp3: fix oob read for negative tokens and memleaks on error. 2011-10-28 23:50:04 -07:00
Anton Khirnov 357db4c263 lavc: use avpriv_ prefix for ff_split_xiph_headers.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Steven Walters 27237d524e w32threads: support for frame multithreading
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-16 21:45:16 +02:00
Diego Biurrun 0249478756 doxygen: fix wrong comment syntax, //< vs. ///< 2011-08-26 18:34:28 +02: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
Ronald S. Bultje 8dcf518430 vp3/theora: flush after seek. 2011-07-28 12:17:26 -07:00
Stefano Sabatini 975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +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
Ronald S. Bultje 8cf9a09d40 vp3-mt: fix deadlock when first frame is not a keyframe. 2011-03-02 12:15:07 -05:00
David Conrad a89f4ca005 Fix VP3 edge emulation
With negative stride, the start of the edge_emu buffer should be pointing to
the last line, not the end of the buffer.
With positive stride, pointing to the end of the buffer was completely wrong.
2011-02-19 01:42:12 -08:00
Jason Garrett-Glaser 902685b8ab VP3: fix decoding of videos with stride > 2048
Also remove qscale_table code; this didn't make sense anyways as VP3 doesn't
use an MPEG-like quantizer scale.
2011-02-18 14:40:57 -08:00
Reinhard Tartler 737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Alexander Strange d23845f311 vp3: Frame-based multithreading support
Decode times for big_buck_bunny_720p_stereo:

1 thread:
real    1m14.227s
user    1m13.104s
sys     0m1.108s

2 threads: (33% faster)
real    0m49.329s
user    1m33.735s
sys     0m1.834s

3 threads: (44% faster)
real    0m41.593s
user    1m44.884s
sys     0m1.967s
2011-02-09 09:17:29 -05:00
Alexander Strange edbb0c0708 vp3: Move table allocation code into a new function
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 20:00:57 -05:00
Alexander Strange e8dcd73058 vp3: Factor out expression
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 19:57:01 -05:00
Ronald S. Bultje 2e27959879 Move ff_emulated_edge_mc() into DSPContext. 2011-01-28 22:13:26 -05: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
Alexander Strange 6ee99a7e13 VP3: remove an unnecessary static variable
Originally committed as revision 26398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-17 08:36:13 +00:00
Jason Garrett-Glaser 9d777508fa Remove dead code in theora_decode_tables
Reading 7 bits as an unsigned int can't result in a value exceeding 127.
Accordingly, remove error message (as it'll never be reached).

Originally committed as revision 25575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:37:51 +00:00
Jason Garrett-Glaser 10f6915814 Reindent after r25573
Originally committed as revision 25574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:30:01 +00:00
Jason Garrett-Glaser 1a48a57071 Fix Theora decoding bug if loopfilter is completely disabled
Bug caused by the fact that get_bits(gb, 0) is undefined.
Doesn't affect any streams generated by the official Theora encoder, but such
streams are nevertheless valid.

Fixes decoding of CELT-933dd833-nmr-bandt.ogv.

Originally committed as revision 25573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-26 07:29:00 +00:00
Reimar Döffinger 83f72f138e Only draw the actually visible area in vp3_draw_horiz_band.
Fixes a black line in non-swapped, non-mod-16-height Theora videos
when vp3_draw_horiz_band is used.

Originally committed as revision 25073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 05:51:31 +00:00
Stefano Sabatini e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Reimar Döffinger 3d487db153 Fix slice height for y position calculation for vp3_draw_horiz_band
when the video uses 4:2:2 instead of 4:2:0 coding.

Originally committed as revision 25052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-06 19:26:18 +00:00
Reimar Döffinger 3b9ee20f70 Fix vp3_draw_horiz_band to not produce completely chaotical values
that result in overdrawing areas again and again if s->flipped_image
is false.

Originally committed as revision 25051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-06 19:21:13 +00:00
Reimar Döffinger 6974952d24 VP3/Theora: validate aspect and reduce it before exporting it
via the context.

Originally committed as revision 25050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-06 17:53:29 +00:00
Stefano Sabatini 6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +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
Reimar Döffinger 8764389d47 Fix vp3_draw_horiz_band to calculate chroma offsets correctly
for 4:2:2 and 4:4:4 formats.

Originally committed as revision 23537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 19:25:28 +00:00
David Conrad a4501a45db vp3: Skip the loop filter when strength is 0 or when requested
Originally committed as revision 23346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:39:12 +00:00
David Conrad cc46005f50 theora: Don't read an excess bit for maximum length long bit runs if the run
exactly ends the remaining blocks.

Originally committed as revision 23304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 03:19:54 +00:00
David Conrad 8e6daa4a95 theora: coeff huffman codes are allowed to be up to 32 bits long (for 32 tokens)
Originally committed as revision 22931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 13:19:00 +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
David Conrad 33e623831b vp3: Use avctx pointer directly
Originally committed as revision 22899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 10:37:42 +00:00
David Conrad 8099d6c985 vp3: Read fps and aspect ratio in the decoder
Originally committed as revision 22898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:39 +00:00
David Conrad ddc7e438e0 vp3: Don't crop if there's a left/top offset, it's wrong
Fixes issue1834

Originally committed as revision 22897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:35 +00:00
David Conrad eb6a6cd788 vp3: DC-only IDCT
2-4% faster overall decode

Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +00:00
David Conrad 6086731299 vp3: More buffer length checks
.5% slower to fix some crashes on invalid streams

Originally committed as revision 22893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:44 +00:00
David Conrad d7097c2d88 vp3: Remove internal debug statement
Originally committed as revision 22892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:41 +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
David Conrad 14268254c8 vp3: Split out motion vectors to their own array
1.5% faster overall decode on my penryn

Originally committed as revision 22504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 10:25:41 +00:00
David Conrad 1e76a1da05 theora: Add support for 4:2:2 and 4:4:4 subsampling
Originally committed as revision 22500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:59:22 +00:00
David Conrad 1a8560423e vp3: remove unneeded error, this is internal and doesn't happen
Originally committed as revision 22499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:59:18 +00:00
David Conrad 577838842d vp3: Make fragment_width _height by plane
Originally committed as revision 22498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:15 +00:00