Commit Graph

397 Commits

Author SHA1 Message Date
David Conrad
a8de390163 Implement CODEC_CAP_DRAW_HORIZ_BAND for VP3 decoder
Originally committed as revision 21780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:35 +00:00
David Conrad
621f9a40b1 Cosmetics: reindent
Originally committed as revision 21779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:32 +00:00
David Conrad
256c0662ef Do loop filter per-row rather than per-frame
3% faster on Elephants_Dream_HD-q7-aq7.ogg on my penryn

Originally committed as revision 21778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:29 +00:00
David Conrad
fe3135564a Move apply_loop_filter above render_slice, it'll be used by the latter soon
Originally committed as revision 21777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:25 +00:00
David Conrad
ea3c2d5393 Export Theora colorspace info if present
Originally committed as revision 21776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:22 +00:00
David Conrad
337f5c6e30 Theora 3.4 doesn't exist; these fields were misunderstandings of the spec
Originally committed as revision 21775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:18 +00:00
David Conrad
45c3c92576 Remove unused code that's moved elsewhere
Originally committed as revision 21774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:00:29 +00:00
Måns Rullgård
c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Mike Melanson
da8af9388c Cosmetic: indent after last change.
Originally committed as revision 20896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 07:34:11 +00:00
Mike Melanson
e6e32bdc5f Optimize unpack_vectors() by not shuffling around redundant vectors.
Inspired by guidance from Dark Shikari. On a Core 2 Duo 2.0 GHz, this
change decodes the 10-minute Big Buck Bunny 1080p short about 2 seconds
faster.

Originally committed as revision 20895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 07:33:10 +00:00
Carl Eugen Hoyos
08f1960588 Cosmetics: Fix indentation after r20751.
Originally committed as revision 20752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:39:25 +00:00
Jason Garrett-Glaser
bfb5a8cec6 Simplified deblocking checks.
Patch by Dark Shikari

Originally committed as revision 20751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:38:05 +00:00
Jason Garrett-Glaser
50ba3fd713 Faster checks in reverse_dc_prediction.
Patch by Dark Shikari

Originally committed as revision 20750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:33:48 +00:00
Jason Garrett-Glaser
c11cb37520 Check transform==15 first, since it's more common than 13.
Patch by Dark Shikari

Originally committed as revision 20749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:31:58 +00:00
Carl Eugen Hoyos
306a61b33e Revert r20747: It mixed functional and cosmetical changes.
Originally committed as revision 20748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:30:53 +00:00
Jason Garrett-Glaser
63c0b3d920 Various VP3 optimizations.
Faster checks in reverse_dc_prediction.
Simplified deblocking checks.
Check transform==15 first, since it's more common than 13.

Originally committed as revision 20747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 12:48:09 +00:00
Mike Melanson
9d8bb0318a Small refactoring: Instead of 4 loops for decoding AC coefficients based
on their grouping, create one loop that indexes into a table of AC VLC
tables.

There is also a small optimization here: Do not call unpack_vlcs()
if there are no fragments in the list with outstanding coefficients.
My profiling indicates that this can save upwards of 1 million
dezicycles per frame throughout the course of unpack_dct_coeffs().

Originally committed as revision 20699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 04:06:27 +00:00
Mike Melanson
098523eb28 Use a list to track which fragments coded in this frame still have
outstanding coefficients yet to be decoded from the bitstream. Once a
fragment reaches end-of-block, remove it from this new list. This change
makes the VP3/Theora entropy decode process dramatically faster due to
not having to iterate incessantly over fragments which have already been
fully decoded.

Originally committed as revision 20698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 02:30:15 +00:00
Mike Melanson
0efbd068e7 Make sure that all memory allocations succeed.
Based on 28_theora_malloc_checks.patch from the Google Chrome team.

Originally committed as revision 20008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 06:33:16 +00:00
Google Chrome
310afddfe0 Fix >= vs > check of coded_fragment_list_index.
22_fix_theora_frag_fencepost.patch by chrome

Originally committed as revision 19995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:42:12 +00:00
Google Chrome
fa6f27517b Fix init_get_bits() buffer size.
18_fix_theora_header_bit_len.patch by chrome

Originally committed as revision 19993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:27:10 +00:00
Mike Melanson
428984b041 Another micro-optimization for unpack_vlcs(): Eliminate a possible
branch and save around 45k-55k dezicycles per function run.

Originally committed as revision 19974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 05:38:12 +00:00
Mike Melanson
138fe83215 Perform the DC prediction reversal immediately after decoding all of
the DC coefficients. This has a greater probability of leveraging the
coefficients while they are still cached.

When testing with the Big Buck Bunny 1080p video, I consistently saw
improvements of 500k-600k dezicycles per run (through
reverse_dc_prediction()) thanks to this move.

Originally committed as revision 19966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 15:58:08 +00:00
Mike Melanson
ee3d7f5852 Modify unpack_vlcs() so that there are fewer dereferences through the
main (heavily iterated) loop.

Originally committed as revision 19934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 01:37:50 +00:00
Reimar Döffinger
b8791583e7 compatible_frame array can be static const, too.
Originally committed as revision 19779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:27:23 +00:00
Reimar Döffinger
bb99108775 Make vp3 arrays static const where possible.
Originally committed as revision 19771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 17:28:20 +00:00
Måns Rullgård
3aab27b459 Remove useless #include <unistd.h> from many files
Originally committed as revision 19499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 23:37:53 +00:00
Reimar Döffinger
c79c960ade Remove useless ret variable added in last revision again.
Originally committed as revision 19357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 10:28:58 +00:00
Reimar Döffinger
7cda815044 100l, theora_decode_init must pass on errors from vp3_decode_init
Originally committed as revision 19356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 09:35:00 +00:00
Reimar Döffinger
c4b7b8bf9c Make decode_init fail if the huffman tables are invalid and thus init_vlc fails.
Otherwise this will crash during decoding because the vlc tables are NULL.
Partially fixes ogv/smclock.ogv.1.101.ogv from issue 1240.

Originally committed as revision 19355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 09:22:39 +00:00
Reimar Döffinger
e13cca4b14 Ensure that the filter limit values do not exceed the maximum allowed value of 127.
Originally committed as revision 19351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 18:27:39 +00:00
Reimar Döffinger
7fa5f9990b Extend init_loop_filter to work for filter limit values up to 127 instead
of only up to 64. 127 is the maximum value allowed by the theora specification.

Originally committed as revision 19350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 18:25:58 +00:00
Baptiste Coudurier
7f57905d55 vp3 and theora decoders use get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:44:26 +00:00
David Conrad
f2264fa531 Support block-level quantization in Theora
Originally committed as revision 18986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 21:43:22 +00:00
David Conrad
ef516f7377 Move ALIGN macro to libavutil/common.h and use it in various places
Originally committed as revision 18898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 21:32:13 +00:00
David Conrad
0a8dedc9e1 Use skip_bits_long() for large skips
This fixes ogg/theora on ARM (more generally the A32 bitstream reader)

Originally committed as revision 18819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 00:02:07 +00:00
David Conrad
580a7465fb Add a chroma_sample_location field to define positioning of chroma samples
Originally committed as revision 18795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 04:34:23 +00:00
Benjamin Larsson
241f5eab32 Remove dead assignments found by CSA
Originally committed as revision 18731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-02 09:12:03 +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
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Daniel Verkamp
5ef251e504 Add missing av_cold in static init/close functions.
Patch by Daniel Verkamp daniel at drv dot nu.

Originally committed as revision 17526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 13:48:55 +00:00
Alex Converse
00bbe27631 VP3: Do not ignore error from read_huffman_tree().
Originally committed as revision 17090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-09 01:39:33 +00:00
Alex Converse
2c823b3ccc VP3: Prevent stack corruption from an unset custom coding method.
Originally committed as revision 16978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-03 22:59:47 +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
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Loren Merritt
5fecfb7d58 clear_block mmx
Originally committed as revision 16045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-10 21:35:17 +00:00
David Conrad
357f45d9bc MMX VP3 Loop Filter
Originally committed as revision 15630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-17 03:18:08 +00:00
David Conrad
c5f67c1559 Remove unused variables
Originally committed as revision 15602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-12 19:41:17 +00:00
David Conrad
9971331dfb Move VP3 loop filter to DSPContext
Originally committed as revision 15551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 10:26:17 +00:00
David Conrad
1ae4518d73 Cosmetics: reindent
Originally committed as revision 15505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:48:54 +00:00
David Conrad
10f38380be Unneeded else
Originally committed as revision 15504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:48:35 +00:00
David Conrad
6599e2a74a Unneeded braces
Originally committed as revision 15503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:48:16 +00:00
David Conrad
6298f49f75 Return if unpacking motion vectors for a keyframe
Originally committed as revision 15502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:48:00 +00:00
David Conrad
a0ce2d1bbc Cosmetics: indentation
Originally committed as revision 15501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:44:30 +00:00
David Conrad
277e3e534b Visible width/height fields were added in Theora 3.2
Originally committed as revision 15500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:43:08 +00:00
David Conrad
51ace5777e filter_limit_values only needs 7 bits, make its tables smaller
Originally committed as revision 15499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:40:29 +00:00
David Conrad
ba31df31d9 Cosmetics: indentation
Originally committed as revision 15492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 19:51:02 +00:00
David Conrad
fc9618195b Merge (vp3|theora)_calculate_pixel_addresses
Originally committed as revision 15491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 19:50:43 +00:00
David Conrad
6920b98322 Missed hunks of last commit
Originally committed as revision 15490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 19:22:20 +00:00
David Conrad
33aae37ec0 Remove unused vp3 debugging info
Originally committed as revision 15489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 19:18:22 +00:00
David Conrad
12ce1f3fc1 Downgrade severity of leftover bits in header packets, and don't check for the comment header
Originally committed as revision 15469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-30 04:18:22 +00:00
David Conrad
068e82bac1 Use skip_frame for keyframe-only decoding rather than #ifdef
Originally committed as revision 15463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-29 22:04:35 +00:00
David Conrad
7f065b36c8 Take idct permutation into account when initializing dequantization matrices
Originally committed as revision 15344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-17 19:29:40 +00:00
Aurelien Jacobs
4834eb191c theoradec: cosmetics: indentation
Originally committed as revision 15167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 00:19:08 +00:00
Aurelien Jacobs
feaf1a7393 theoradec: skip decoding of uncoded MV in 4MV code
Thusnelda, the new experimental Theora encoder is using this Theora feature
that was previously not exploited.
fixes issue579

Originally committed as revision 15166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 00:17:11 +00:00
Aurelien Jacobs
e32e2d56d4 theoradec: small 4MV code reorganization to ease future improvements
no functional changes

Originally committed as revision 15165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 00:10:30 +00:00
Stefan Gehrer
e8e4743591 make ModeAlphabet read-only and use a custom mode alphabet
only locally in unpack_modes()

Originally committed as revision 13964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 14:14:58 +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
Reimar Döffinger
eeb2815003 Remove the START_TIMER/STOP_TIMER from vp3.c, they clutter the output and
might cost CPU.

Originally committed as revision 13730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-09 16:30:59 +00:00
Reimar Döffinger
36e1625396 Almost-cosmetics: split out coeff_count from all_fragments struct into
a separate array.
For the OGG version at http://www.bigbuckbunny.org/index.php/download/
this results in about 50% speedup of unpack_vlcs, resulting in ca. 20% faster
overall speed.

Originally committed as revision 13729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-09 16:26:28 +00:00
Diego Biurrun
f4433de9ef consistency cosmetics: indices --> indexes
Originally committed as revision 13444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 23:14:25 +00:00
Sisir Koppaka
9db5bdfaa5 Add complete multimedia Wiki URL, patch by Sisir Koppaka.
Originally committed as revision 13055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-04 09:58:22 +00:00
Stefano Sabatini
d5202e4fda Add long names to many AVCodec declarations.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 10:52:44 +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
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
Måns Rullgård
6f4e2b5a95 fix memory leaks in vp3 decoder
Originally committed as revision 12191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-24 18:56:52 +00:00
Michael Niedermayer
cea9642014 Fix ;;
Originally committed as revision 12153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-19 22:09:08 +00:00
Diego Biurrun
5e53486545 typo fix: inited --> initialized
Originally committed as revision 11920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-13 09:26:10 +00:00
Diego Biurrun
356306aca2 Print Theora bitstream version at DEBUG, not at VERBOSE level.
Originally committed as revision 11916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-13 08:05:51 +00:00
Michael Niedermayer
bed9dc1662 const
Originally committed as revision 11776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-01 15:54:28 +00:00
Alex Beregszaszi
5fc32c275e use get_bits1(..) instead get_bits(.., 1)
Originally committed as revision 9999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:13:31 +00:00
Diego Biurrun
3e5008a922 Reduce Theora decoder verbosity.
Originally committed as revision 9872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-03 16:43:11 +00:00
Diego Biurrun
e5a389a1b7 license header consistency cosmetics
Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-05 10:40:25 +00:00
Diego Biurrun
2029f312e8 Remove redundant #inclusion of common.h, avcodec.h already #includes it.
Originally committed as revision 8967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 09:00:44 +00:00
Aurelien Jacobs
ba4816a0a9 cosmetics: fix inconsistent indentation
Originally committed as revision 8929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-07 15:44:42 +00:00
Aurelien Jacobs
c0f716b86f fix display of theora videos with visible size smaller than encoded size
Originally committed as revision 8928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-07 15:43:01 +00:00
Diego Biurrun
597cbdaf03 Only compile in Theora-specific functions if the Theora decoder has been
enabled.  Also fixes some "defined but not used" warnings in that case.

Originally committed as revision 8685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 18:54:53 +00:00
Diego Biurrun
6f6a3e2acb cosmetics: Move one code block to save an #ifdef in the next commit.
Originally committed as revision 8684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 18:52:03 +00:00
Diego Biurrun
d7455a1c18 Remove #if 0 code.
Originally committed as revision 8683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 18:50:18 +00:00
Diego Biurrun
51cea49ab4 Fix compilation when Theora decoder is disabled, but VP3 is enabled.
Originally committed as revision 8682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 13:42:44 +00:00
Nicholas Tung
587d07227e Remove superfluous setting of has_b_frames in codecs without B-frames.
patch by Nicholas Tung, ntung ntung com

Originally committed as revision 8647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 17:37:30 +00:00
Aurelien Jacobs
da91ed594e use generic xiph header spliting func to split theora headers
Original thread:
Date: Thu, 22 Mar 2007 20:23:08 -0400
Subject: [Ffmpeg-devel] [PATCH] Theora in MKV (GSoC '07 Qualification)

Originally committed as revision 8506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-25 01:09:26 +00:00
Reimar Döffinger
f66e4f5f9e Add av_ prefix to clip functions
Originally committed as revision 8122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-25 10:27:12 +00:00
Diego Biurrun
3700dab4f2 cosmetics: aswell --> as well typo fix
Originally committed as revision 8062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-22 00:14:54 +00:00
Diego Biurrun
a9621908dc Unconditionally enable Theora decoder. It works fine now and there is no
Theora support through libtheora in FFmpeg.

Originally committed as revision 7435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-10 14:19:33 +00:00
Diego Biurrun
c26abfa541 Rename ABS macro to FFABS.
Originally committed as revision 6666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 23:17:58 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Michael Niedermayer
59ef342beb fix decoding of ED-small-sample-file.ogg
Originally committed as revision 6567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-06 11:33:57 +00:00
Diego Biurrun
36c32bdddf Remove unused variables and the corresponding warnings along with them.
Originally committed as revision 6536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-03 17:12:48 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Michael Niedermayer
2287c100b2 cleanup
Originally committed as revision 6007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-17 08:08:28 +00:00
Reimar Döffinger
bc185f72c0 Do not crash when the first frame is not a keyframe (and thus none of the
necessary initialization has been done yet).

Originally committed as revision 5815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-23 18:22:29 +00:00
Michael Niedermayer
684d9e36fc simplify
Originally committed as revision 5796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 22:42:31 +00:00
Michael Niedermayer
006ff1cabe more simplifications
Originally committed as revision 5795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 22:21:45 +00:00
Michael Niedermayer
f72f8a7735 simplification
Originally committed as revision 5794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 21:20:56 +00:00
Michael Niedermayer
09eb00f6b5 iabs -> ABS
Originally committed as revision 5793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 21:05:42 +00:00
Michael Niedermayer
1abbf64e3b simplify
Originally committed as revision 5792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 20:57:44 +00:00
Michael Niedermayer
1af5f60f6a fix loop filter
Originally committed as revision 5791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 20:41:16 +00:00
Michael Niedermayer
efea852877 parse all QIS values (we still ignore them though ...)
Originally committed as revision 5778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-17 13:09:45 +00:00
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