Commit Graph

310 Commits

Author SHA1 Message Date
Mike Melanson
39922395d2 read Huffman tables from Theora header (patch courtesy of
Matthieu Castet <castet.matthieu at free.fr>)

Originally committed as revision 4284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 23:59:10 +00:00
Michael Niedermayer
7beddb12d4 use O(number of non zero coeffs) instead of O(number of coeffs) storage for the coefficient colleting/reordering
Originally committed as revision 4279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 10:48:36 +00:00
Mike Melanson
d30769555f replace unpack_token() with a series of lookup tables
Originally committed as revision 4277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 02:43:21 +00:00
Mike Melanson
f4daf33ee8 fix 4MV MC and reinstate new MC VLC
Originally committed as revision 4273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 17:14:59 +00:00
Michael Niedermayer
288774bbfc reduce size of Vp3Fragment from 32byte to 16byte
Originally committed as revision 4270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 09:07:26 +00:00
Michael Niedermayer
b5da363592 optimizing rle decoding loops a little
Originally committed as revision 4269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 08:48:11 +00:00
Michael Niedermayer
8aeadb903a disabling buggy optimizations
Originally committed as revision 4268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 07:59:07 +00:00
Mike Melanson
d8278bab79 replace get_superblock_run_length() with a VLC table
Originally committed as revision 4267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 00:11:49 +00:00
Mike Melanson
0ad72bdd5c use VLCs for in place of get_fragment_run_length(), get_mode_code(), and
get_motion_vector_vlc()

Originally committed as revision 4266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 23:39:23 +00:00
Michael Niedermayer
6f7aa5891d some optimizations gcc should have done (10% faster loop filter)
Originally committed as revision 4263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 20:50:47 +00:00
Michael Niedermayer
ee408eadba SATURATE_U8 -> clip_uint8 (10% faster loop filter)
Originally committed as revision 4262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 20:30:22 +00:00
Michael Niedermayer
1482fee88d remove duplicate zigzag tables
Originally committed as revision 4259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 11:36:07 +00:00
Michael Niedermayer
36af0c959e fix idct permutation
Originally committed as revision 4258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 11:31:57 +00:00
Michael Niedermayer
8b6103da0f porting vp3 idct over to lavc idct api
Originally committed as revision 4257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 11:12:04 +00:00
Michael Niedermayer
ea191e08d6 remove permutation done to quant tables and then undone during idct
move permutation from idct to unpack_vlcs

Originally committed as revision 4256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 09:18:49 +00:00
Michael Niedermayer
36661afe02 fix last coeff
Originally committed as revision 4254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 08:46:40 +00:00
Michael Niedermayer
a2df5a50ae clear blocks after each idct instead of per picture
dont store the all zero coefficients of skiped blocks

Originally committed as revision 4253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 00:52:29 +00:00
Michael Niedermayer
220a6f401d some benchmarking code
Originally committed as revision 4250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-16 21:49:18 +00:00
Michael Niedermayer
d5e188359e various 10l fixes for the loop filter
Originally committed as revision 4249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-16 17:22:36 +00:00
Michael Niedermayer
7bad42cf59 fix dequant matrix
Originally committed as revision 4246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-16 09:29:13 +00:00
Matthieu Castet
ba7ee4a460 fix theora header parsing
patch by Matthieu Castet <castet dot matthieu at free dot fr>

Originally committed as revision 4238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-13 21:06:44 +00:00
Måns Rullgård
aac064b5bd theora decoding using libtheora
Originally committed as revision 4218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-11 16:42:15 +00:00
Michael Niedermayer
ee89b2b9e7 04-vp3 fix(by matthieu castet).patch
Originally committed as revision 3998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-03 02:24:20 +00:00
Mike Melanson
a54ea19a52 VP3 post-processing loop filter; disabled until the correct final step
is determined

Originally committed as revision 3996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-01 06:14:45 +00:00
Michael Niedermayer
edaf11e87a 10l (negative strides)
Originally committed as revision 3887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-26 17:04:34 +00:00
Michael Niedermayer
0ecca7a49f various security fixes and precautionary checks
Originally committed as revision 3822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-12 00:16:25 +00:00
Burkhard Plaum
073c2593c9 Memory leak fix patch by (Burkhard Plaum <plaum >at< ipf.uni-stuttgart )dot( de>)
Originally committed as revision 3717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-27 18:10:06 +00:00
Michael Niedermayer
8a515d2d9c get_bits(32) fix
Originally committed as revision 3393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-16 01:25:52 +00:00
Michael Niedermayer
4df8ca9df2 warning fixes by (Michael Roitzsch <mroi at users dot sourceforge dot net>)
Originally committed as revision 3156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-25 18:07:25 +00:00
Michael Niedermayer
53db1cae1c data_size = 0 cleanup
Originally committed as revision 3146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-21 14:37:16 +00:00
Mike Melanson
f9ed9d8584 separate out put_signed_pixels_clamped() into its own function and
implement an optimized MMX version of the function

Originally committed as revision 3082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-27 03:58:06 +00:00
Mike Melanson
116824d0aa reorganize and simplify the VP3 IDCT stuff
Originally committed as revision 3071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-26 00:20:29 +00:00
Mike Melanson
38acbc3cb9 hook up support for SSE2-optimized VP3 IDCT
Originally committed as revision 3064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-25 03:33:30 +00:00
Mike Melanson
67335dbce3 cut over to using new VP3 DSP functions and remove the old ones; bring
certain source code identifiers in line with official VP3 spec (well,
*my* VP3 spec, anyway)

Originally committed as revision 2856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-08 02:15:13 +00:00
Michael Niedermayer
c0a0170c16 fix motion compensation with (x+1/2,y+1/2) MVs
Originally committed as revision 2849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-05 18:44:04 +00:00
Alex Beregszaszi
f8830383a9 FF_DEBUG_PICT_INFO and CODEC_FLAG_GRAY support
Originally committed as revision 2577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-08 18:26:22 +00:00
Alex Beregszaszi
3c3f113ec1 more correct header parsing
Originally committed as revision 2571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-08 11:32:06 +00:00
Alex Beregszaszi
105c3d2521 theora alpha3 support (with maintaining backward compatibility, maybe we should remove all backward compatibility codes after final theora release?)
Originally committed as revision 2527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-23 18:49:53 +00:00
Alex Beregszaszi
9a7ad92531 finally working with old theora bitstream (flipped image), the only sample I have is decoded successfully (theora.ogg)
Originally committed as revision 2526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-23 18:43:09 +00:00
Michel Bardiaux
9b87956678 av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
Originally committed as revision 2469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-03 13:26:22 +00:00
Alex Beregszaszi
91381201f0 theora comments skipping
Originally committed as revision 2361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-11 19:40:45 +00:00
Alex Beregszaszi
f44ee2c34b theora decoding support (only keyframes for now, because by theora the frame isn't flipped so the motion vectors are getting screwed up)
Originally committed as revision 2359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-11 17:44:21 +00:00
Roman Shaposhnik
e7015b41e7 * patch for compile problem by "Steven M. Schultz" sms at 2BSD dot COM
Originally committed as revision 2267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-12 18:25:04 +00:00
Michael Niedermayer
b928ec649c fixing chroma MC
minor cleanup
postprocessing support

Originally committed as revision 2128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-20 07:35:23 +00:00
Michael Niedermayer
a2f11b3c3a MC rounding fixed?
UMV
still not bugfree :(

Originally committed as revision 2127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-19 17:10:00 +00:00
Michael Niedermayer
8e39d4a744 fix AVFrame.reference (the frames are used for decoding future frames so it should be !=0)
fix some assert in utils.c (no bug but its saver if the released pointers are NULL)
fix double release_buffer() at the end

Originally committed as revision 2126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-19 16:18:48 +00:00
Mike Melanson
3d32b429d3 added the official VP3 IDCT (C implementation) as well as a grayscale
decoding mode

Originally committed as revision 2027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-07-10 05:16:25 +00:00
Mike Melanson
642d7e842e revising and fixing motion vectors, squished block unpacking bug that
led to memory stomps, added support for funky arbitrary dimensions

Originally committed as revision 1922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-31 07:56:58 +00:00
Falk Hüffner
4cfbf61bf1 Warning and compatibility fixes.
Originally committed as revision 1902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-24 18:48:30 +00:00
Mike Melanson
22493ab9cb fix subtle logic problem in block unpacker that leads to incorrect token
decoding which leads to segfaults

Originally committed as revision 1890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-19 01:22:46 +00:00
Mike Melanson
74c0ac1274 fix image buffer leak on keyframes, add more error condition checks
Originally committed as revision 1856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-12 04:28:35 +00:00
Mike Melanson
96a7e73b24 fix motion vector decoding bug and reinstate interframes
Originally committed as revision 1851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-11 04:47:45 +00:00
Mike Melanson
463d086bb5 get those permutations straight
Originally committed as revision 1850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-11 02:51:07 +00:00
Mike Melanson
892fc83e88 squashed a bunch of subtle array indexing bugs, fixed block mapping
added more error checking, added (and enabled, for the time being) a
keyframe-only mode

Originally committed as revision 1849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-10 21:46:17 +00:00
Mike Melanson
0433188259 dump the shady binary search logic (the part that binary searches
through unsorted data)

Originally committed as revision 1847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-10 16:06:33 +00:00
Mike Melanson
a466e345e4 correct the custom coding mode alphabet, add some validation on the
motion vectors (which are not completely correct yet)

Originally committed as revision 1844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-08 02:01:17 +00:00
Mike Melanson
4e80eb21af looking better all the time! motion compensation is starting to work
Originally committed as revision 1841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-07 12:28:36 +00:00
Mike Melanson
44ae98ddef fixed buffer allocation logic (hopefully) so that decoder does not crash
most ffmpeg-enabled apps; added a bunch on motion compensation stuff
which is effectively disabled at the moment while details are worked out

Originally committed as revision 1840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-07 02:30:37 +00:00
Mike Melanson
61873c4a44 fix decoder so that ffmpeg does not crash, at least not right away
Originally committed as revision 1838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-06 03:11:20 +00:00
Mike Melanson
d86053a416 first pass at a new VP3 video decoder
Originally committed as revision 1831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-05 02:54:15 +00:00