Commit Graph

388 Commits

Author SHA1 Message Date
Michael Niedermayer
a14ab4e4d4 100l for me
Originally committed as revision 5777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-17 11:06:09 +00:00
Matthieu Castet
116d866ca5 fix playback of theora.ogg on mphq patch by (matthieu castet %% castet dat matthieu ot free dat fr %%)
Originally committed as revision 5776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-17 10:44:53 +00:00
Michael Niedermayer
ae1dd8e125 attempt to implement xiphs useless and stupid quantization matrix mess
Originally committed as revision 5775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-17 09:51:59 +00:00
Michael Niedermayer
187c9be7a6 replace *_dequant (2 intra, 1 inter) by qmat (3 intra, 3 inter) (needed for theora according to spec)
Originally committed as revision 5774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-17 08:09:08 +00:00
Michael Niedermayer
d2744e19e0 use RSHIFT
Originally committed as revision 5773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 21:09:32 +00:00
Michael Niedermayer
4501e678e7 useless memcpy
Originally committed as revision 5772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 21:00:38 +00:00
Michael Niedermayer
7cfe7fe5e7 some fixmes if someone ever wants to implement theora support correctly ...
Originally committed as revision 5771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 20:47:48 +00:00
Michael Niedermayer
e278056fba check how many bits are left after decoding extradata
this change is messy as whoever wrote the original code copied the GetBitContext instead of passing a pointer to it which has to be fixed for the above thing

Originally committed as revision 5770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 20:30:39 +00:00
Michael Niedermayer
b7f3fdd779 cleanup
Originally committed as revision 5769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-16 19:21:59 +00:00
Måns Rullgård
1bd8624697 kill some warnings
Originally committed as revision 5063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-25 22:41:31 +00:00
Steve L'Homme
68b51e58ce MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr

Originally committed as revision 4942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-05 13:35:17 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Alex Beregszaszi
52ceae0624 10l, left debugging on
Originally committed as revision 4705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-13 20:12:33 +00:00
Matthieu Castet
2da2ba037a Correctly skip unknown matrices (patch by Matthieu Castet) and disable comment reading
Originally committed as revision 4704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-13 20:06:31 +00:00
Alex Beregszaszi
7146d2c267 Fixing theora _again_. DONT BOTHER BREAKING THIS AGAIN. Added support for Theora 3.4 and stream created by Elphel cameras are decodable.
Originally committed as revision 4703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-13 17:59:21 +00:00
Alex Beregszaszi
dd36b66722 fixed long standing off-by-one bug (fixes playback on ppc)
Originally committed as revision 4702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-13 17:48:27 +00:00
Alex Beregszaszi
8868d31065 use av_log in debug mode
Originally committed as revision 4570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-07 19:15:48 +00:00
Måns Rullgård
bf4e3bd2d0 kill a bunch of compiler warnings
Originally committed as revision 4522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-14 15:42:40 +00:00
Mike Melanson
485bb00108 removed a bunch of unused, sub-optimal code
Originally committed as revision 4516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-13 18:49:01 +00:00
Mike Melanson
9c7154c7ae read loop filter limit values from Theora header, courtesy of Matthieu
Castet (castet.matthieu -at- free.fr)

Originally committed as revision 4304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-24 14:21:42 +00:00
Mike Melanson
2935001c86 fix bugs in new loop filter code; also, refrain from filtering against
data that has yet to be rendered; still #if'd out, will revisit when
proper algorithm can be validated

Originally committed as revision 4297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 19:31:16 +00:00
Michael Niedermayer
720537282b disable broken loop filter optimization
melanson please test your optimizations before commiting!

Originally committed as revision 4292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 07:35:15 +00:00
Mike Melanson
f44b08a5a0 apply the loop filter to fragments as they are rendered into the final
output

Originally committed as revision 4291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 05:20:52 +00:00
Mike Melanson
dc4b78d9dd render by the slice rather than the plane
Originally committed as revision 4290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 04:43:36 +00:00
Mike Melanson
7dc9ed1155 clean up some warnings and dead code
Originally committed as revision 4288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 02:06:27 +00:00
Mike Melanson
7f9926a45e another bitstream extraction to optimize: fixed-length motion vectors
Originally committed as revision 4286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 01:12:41 +00:00
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