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
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
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
15 years ago
Reimar Döffinger
b8791583e7
compatible_frame array can be static const, too.
...
Originally committed as revision 19779 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
bb99108775
Make vp3 arrays static const where possible.
...
Originally committed as revision 19771 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
David Conrad
f2264fa531
Support block-level quantization in Theora
...
Originally committed as revision 18986 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Benjamin Larsson
241f5eab32
Remove dead assignments found by CSA
...
Originally committed as revision 18731 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Stefano Sabatini
9106a698e7
Rename bitstream.h to get_bits.h.
...
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
Alex Converse
00bbe27631
VP3: Do not ignore error from read_huffman_tree().
...
Originally committed as revision 17090 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
16 years ago
Loren Merritt
5fecfb7d58
clear_block mmx
...
Originally committed as revision 16045 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
357f45d9bc
MMX VP3 Loop Filter
...
Originally committed as revision 15630 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
c5f67c1559
Remove unused variables
...
Originally committed as revision 15602 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
9971331dfb
Move VP3 loop filter to DSPContext
...
Originally committed as revision 15551 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
1ae4518d73
Cosmetics: reindent
...
Originally committed as revision 15505 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
10f38380be
Unneeded else
...
Originally committed as revision 15504 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
6599e2a74a
Unneeded braces
...
Originally committed as revision 15503 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
6298f49f75
Return if unpacking motion vectors for a keyframe
...
Originally committed as revision 15502 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
a0ce2d1bbc
Cosmetics: indentation
...
Originally committed as revision 15501 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
David Conrad
ba31df31d9
Cosmetics: indentation
...
Originally committed as revision 15492 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
fc9618195b
Merge (vp3|theora)_calculate_pixel_addresses
...
Originally committed as revision 15491 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
6920b98322
Missed hunks of last commit
...
Originally committed as revision 15490 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
33aae37ec0
Remove unused vp3 debugging info
...
Originally committed as revision 15489 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
David Conrad
7f065b36c8
Take idct permutation into account when initializing dequantization matrices
...
Originally committed as revision 15344 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Aurelien Jacobs
4834eb191c
theoradec: cosmetics: indentation
...
Originally committed as revision 15167 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
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
16 years ago
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
16 years ago
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
17 years ago