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
David Conrad
1c183aa418
vp3: we only need a temp MV array of size 4
...
Originally committed as revision 22497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:11 +00:00
David Conrad
703acd540e
vp3: Use memset to clear the fragment array
...
Originally committed as revision 22496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:08 +00:00
David Conrad
cd9c03f57f
vp3: Init MVs to 0
...
Originally committed as revision 22495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:05 +00:00
David Conrad
a16389c18f
vp3: Simplify init_block_mapping
...
Originally committed as revision 22494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:01 +00:00
David Conrad
f50dafa8fc
vp3: avoid buffer overread in coeff decode
...
I couldn't measure it to be slower for normal interframe videos.
For the worst case, high-bitrate intra-only videos, it can be 0.7% slower.
Originally committed as revision 22416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 00:59:32 +00:00
David Conrad
d63a718764
vp3: correctly clip vp3_draw_horiz_band call
...
Originally committed as revision 22377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:52:33 +00:00
David Conrad
ff65969fd8
vp3: Set pict_type
...
Originally committed as revision 22361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:26 +00:00
David Conrad
7a4e8b5913
vp3: Allocate a dummy reference frame if we have no keyframe
...
Originally committed as revision 22360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:22 +00:00
David Conrad
0c9afacbf5
vp3: use FF_BUFFER_TYPE_COPY
...
Originally committed as revision 22359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:19 +00:00
David Conrad
e72d2d1221
vp3: Don't leak buffers on errors
...
Originally committed as revision 22358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:16 +00:00
David Conrad
739b5090af
vp3: Simplify buffer management
...
Originally committed as revision 22357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:12 +00:00
David Conrad
01f9640b21
vp3: be less spammy on broken files
...
Originally committed as revision 22356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:09 +00:00
Måns Rullgård
84dc2d8afa
Remove DECLARE_ALIGNED_{8,16} macros
...
These macros are redundant. All uses are replaced with the generic
DECLARE_ALIGNED macro instead.
Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
David Conrad
e2720b6b1e
Really fix 2.95
...
Originally committed as revision 22204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 10:01:03 +00:00
David Conrad
0448ef7788
Maybe fix gcc 2.95
...
Originally committed as revision 22203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 09:25:42 +00:00
David Conrad
c72625f299
Delay translating DCT tokens into coefficients until immediately before IDCT
...
This is generally around 12% faster than the prior method of creating a
linked list for each block as tokens are read, but can be anywhere from
8% to 28% faster depending on file and CPU.
Originally committed as revision 22190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:43 +00:00
David Conrad
7a095ea6fb
Do MC and IDCT in coding (hilbert) order
...
This increases the slice size to 64 pixels, due to having to decode an
entire chroma superblock row per slice.
This can be up to 6% slower depending on clip and CPU, but is necessary
for future optimizations that gain significantly more than was lost.
Originally committed as revision 22189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:40 +00:00
David Conrad
35c28d23cb
Explictly separate decoding whether fragments are coded by plane
...
Originally committed as revision 22188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:37 +00:00
Carl Eugen Hoyos
770128c448
Remove declaration of unused variables.
...
Originally committed as revision 22102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:02:25 +00:00
David Conrad
6cb35b45e6
Simplify determing whether fragments are coded
...
No measurable speed difference
Originally committed as revision 21931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:11:01 +00:00
David Conrad
a89264761f
Handle Theora's continued runs in superblock coding.
...
This doesn't really matter yet since 4:2:0 1080p has only 3060 superblocks,
but larger resolutions or 4:4:4 1080p could hit this case.
Originally committed as revision 21930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:58 +00:00
David Conrad
855c720c86
Decode fully coded superblocks in the same manner as partial superblocks and qpi
...
No speed difference, but it will simplify the special 4129 case.
Originally committed as revision 21929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:54 +00:00
David Conrad
ecb51b25bb
Make the special 4129 case for long-run bit strings a #define and explain it
...
Originally committed as revision 21928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:51 +00:00
David Conrad
33dbc1b7ca
Use memset to set the runs partially coded superblocks
...
Much faster for long runs (e.g. nearly uncoded frames), slightly faster
for the general case.
Originally committed as revision 21927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:47 +00:00
Måns Rullgård
40d1122752
Use LOCAL_ALIGNED macro for local arrays
...
Originally committed as revision 21866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:20 +00:00
David Conrad
161e8cf42c
Move CODEC_FLAG_GRAY check to outer loop
...
Originally committed as revision 21805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:59:25 +00:00
David Conrad
7c2e31d1f0
Move branch based on custom mode outside the loop
...
Originally committed as revision 21804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:59:21 +00:00
David Conrad
eb691ef219
Directly check whether a fragment is coded for 4MV mode instead of iterating
...
through the entire coded fragment list.
Originally committed as revision 21803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:27 +00:00
David Conrad
15675ce609
Eliminate fragment -> macroblock mapping array
...
Originally committed as revision 21802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:24 +00:00
David Conrad
ea67614457
Eliminate macroblock -> fragment mapping array
...
Originally committed as revision 21801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:21 +00:00
David Conrad
19cd517dbf
Eliminate superblock <-> macroblock mapping array
...
Originally committed as revision 21800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:17 +00:00