Ronald S. Bultje
b81a935bd9
vc1: fix up memleaks in the error codepath.
...
Introduce end: and err: labels at the end of vc1_decode_frame(), which
will clean up allocated memory consistently.
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Hendrik Leppkes
0215006ab7
VC1: Export profile/level
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Baptiste Coudurier
fb98507126
vc1: fix decoding when end sequence is present
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
f8bed30d8b
VC1: merge idct8x8, coeff adjustments and put_pixels.
...
Merging these functions allows merging some loops, which makes the
results (particularly after SIMD optimizations) much faster.
14 years ago
Ronald S. Bultje
bbfd2e7ab4
VC1: inline vc1_put_block() in vc1_decode_i_blocks().
...
Advantage is that it allows us to combine several loops into a single
one, and these can eventually be merged into the IDCT itself. Also, it
allows us to remove vc1_put_block(), and makes CODEC_FLAG_GRAY faster.
14 years ago
Ronald S. Bultje
70aa916e46
VC1: don't use vc1_put_block() in vc1_decode_i_blocks_adv().
...
Advanced profile never uses "range reduction", so vc1_put_block() quite
literally just calls put_pixels_clamped() from vc1_decode_i_blocks_adv().
By inlining the function, we can prevent calling IDCT8x8 if
CODEC_FLAG_GRAY is set, and we don't have to scale the coeffs in the
[0,256] range, but can instead use put_signed_pixels_clamped().
14 years ago
Reimar Döffinger
2bbec1eda4
Fix invalid reads in VC1 decoder
...
Patch discussed and taken from https://roundup.ffmpeg.org/issue2584
14 years ago
Ronald S. Bultje
12802ec060
dsputil: move VC1-specific stuff into VC1DSPContext.
14 years ago
Ronald S. Bultje
0b16cdc3fa
VC1: simplify a calculation in a loop.
14 years ago
Ronald S. Bultje
1da6ea3954
VC1: transpose IDCT 8x8 coeffs while reading.
14 years ago
Ronald S. Bultje
2e27959879
Move ff_emulated_edge_mc() into DSPContext.
14 years ago
Diego Elio Pettenò
d36beb3f69
Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
...
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Kostya Shishkov
cba322d76d
Make WMV3 decoder attempt to decode WMVP as well
...
Originally committed as revision 25209 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago
David Conrad
fca58a815a
vc1: Fix ordering of loop filter for I/B frames
...
All horizontal edges must be filtered before all vertical edges
Originally committed as revision 24206 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
David Conrad
3683b7e570
vc1: ff_draw_horiz_band needs a one row delay when the loop filter is active
...
Originally committed as revision 24205 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Kostya Shishkov
42ff9d7a58
Make WMV3 decoder print more errors when decoding beta WMV9 files.
...
As a side effect it will also decode a lot of P-frames from those.
Originally committed as revision 24161 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
0724a674fc
Change type of zz_table to uint8_t to match the scantables it points to.
...
Originally committed as revision 23831 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Kostya Shishkov
1c100b1367
321l: do not use shifted s->linesize instead of correct s->uvlinesize.
...
This should fix chroma issues in WMV3/VC-1 decoder with avfilter enabled.
Originally committed as revision 23370 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
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
15 years ago
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
15 years ago
Kostya Shishkov
d2df291f73
ff_msmpeg4_decode_init() calls ff_h263_decode_init() which calls
...
MPV_common_init(), so calling both is redundant and leads to memory
leaks in WMV3/VC-1 decoder. Thus use only the first function in
WMV3/VC-1 decoder initialization.
Originally committed as revision 22024 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
d68b27a95d
VC1: fix missing include h263.h
...
Originally committed as revision 21932 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Michael Niedermayer
261a3c2d05
Move AVCodecs from h263dec.c to msmpeg4.c and disentangle init decode init.
...
Originally committed as revision 21102 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Kostya Shishkov
53b04467ae
Warn when WVC1 cannot be decoded
...
Originally committed as revision 20201 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Andrew Dennison
95ce961d88
Since some junk may be or may be not present before actual VC-1 extradata,
...
search for real extradata start instead of always skipping one byte.
Patch by Andrew Dennison gmailify(${name}d, lists)
Thread: [PATCH] Fix VC1 "Incomplete extradata" for mkv files generated by eac3to
Originally committed as revision 20178 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
c05df6895f
Use ff_msmpeg4_decode_init to initialize ff_msmp4_mb_i_vlc since static
...
VLC tables should only be initialized from one place.
This initializes/calculates more VLC tables than necessary for VC1 decoding,
but this is only done once and only a small overhead in time and space (maybe
30 kB) it seems not worth adding a separate function.
Originally committed as revision 20010 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
2ba8301769
Mark all pix_fmts and supported_framerates compound literals as const.
...
Makes no difference for gcc but at least icc can put them in .rodata then.
Originally committed as revision 19789 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Diego Biurrun
700363afe7
Only enable WMV3 decoder when it has been turned on in the build system.
...
Originally committed as revision 19534 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
e0f58e39c4
Do not check for both CONFIG_VC1_VDPAU_DECODER and CONFIG_WMV3_VDPAU_DECODER,
...
the former depends upon the latter.
Originally committed as revision 19532 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
74a30595b2
Edge emulation should be used in B-frame MC in mspel mode with
...
mv_x < 1 or mv_y < 1.
Originally committed as revision 19255 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Jason Garrett-Glaser
351653a51e
VC-1/WMV: Remove redundant ff_init_block_index() calls.
...
These are only supposed to be called once per row, not once per macroblock.
~1.5% faster according to oprofile.
Originally committed as revision 19213 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Jason Garrett-Glaser
010f98f96a
VC-1/WMV3 decoding: don't clear blocks unless they're actually used.
...
~8% faster VC-1 decoding.
Possible future optimization: clear blocks after use instead of before, and for
DC-only blocks, only clear the DC coefficient.
Originally committed as revision 19205 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Jason Garrett-Glaser
4f717c69ed
idct_dc for VC-1/WMV3 decoder; ~11% faster decoding overall.
...
Includes mmx2 asm for the various functions.
Note that the actual idct still does not have an x86 SIMD implemtation.
For wmv3 files using regular idct, the decoder just falls back to simple_idct,
since simple_idct_dc doesn't exist (yet).
Originally committed as revision 19204 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
b761659bef
Split decoder-specific code off from vc1.c into vc1dec.c and keep code
...
shared between decoder and parser in vc1.c.
Originally committed as revision 19152 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Baptiste Coudurier
35b2c65756
vc1 and wmv3 decoders use MPV_frame_start which uses get_buffer, set CODEC_CAP_DR1
...
Originally committed as revision 19111 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Baptiste Coudurier
87e302bfd8
remove unused hack which set AVCodecContext frame_number to pic timestamp
...
Originally committed as revision 18988 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Baptiste Coudurier
2d05bc8641
set pict_type in VC-1 parser, fix some timestamps problems
...
Originally committed as revision 18987 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
ebcf3b742b
Ensure that we don't read from invalid memory with B-frame qpel
...
Originally committed as revision 18839 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Benjamin Larsson
10c773c12f
Remove dead assignments found by CSA
...
Originally committed as revision 18730 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
b750fb6945
Display dimensions should not affect the real size of coded frame, thus set
...
only avctx->{width,height} and don't touch coded_{width,height} when parsing
them. This fixes the case when coded and display dimensions differ by more
than one macroblock.
Originally committed as revision 18665 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
21fce71fd1
Switch VLC tables in WMV3/VC-1 decoder to new static init method
...
Originally committed as revision 18658 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
f7cf12b209
Set flag after VC-1 VLCs are initialized to avoid race condition
...
Originally committed as revision 18639 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Kostya Shishkov
346802aa99
Remove some useless assignments and variables found by Clang
...
Originally committed as revision 18638 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
2d08f9ea54
VC1 loop filter uses the frame quantizer not the mb quantizer
...
Originally committed as revision 18534 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
3992526b3c
Split VC1 loop filter into separate functions for h/v and size
...
Originally committed as revision 18521 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
0e58865d6e
Move VC1 loop filter to DSPContext
...
Originally committed as revision 18520 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
8013da7364
VC1: add and use avg_no_rnd chroma MC functions
...
Originally committed as revision 18518 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
c374691b28
Rename put_no_rnd_h264_chroma* to reflect its usage in VC1 only
...
Originally committed as revision 18517 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
David Conrad
6cecd63005
VC1: Do qpel when needed for both MVs in a B frame
...
Originally committed as revision 18511 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago