| Branch: | Revision:

ffmpeg / libavcodec / vc1dec.c @ 0215006a

History | View | Annotate | Download (124 KB)

# Date Author Comment
0215006a 03/12/2011 02:08 PM Hendrik Leppkes

VC1: Export profile/level

Signed-off-by: Mans Rullgard <>

fb985071 03/02/2011 01:32 PM Baptiste Coudurier

vc1: fix decoding when end sequence is present

Signed-off-by: Mans Rullgard <>

f8bed30d 02/21/2011 03:23 PM Ronald S. Bultje

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.

bbfd2e7a 02/21/2011 03:23 PM Ronald S. Bultje

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.

70aa916e 02/20/2011 01:31 PM Ronald S. Bultje

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...

2bbec1ed 02/19/2011 10:33 AM Reimar Döffinger

Fix invalid reads in VC1 decoder

Patch discussed and taken from

12802ec0 02/17/2011 10:35 PM Ronald S. Bultje

dsputil: move VC1-specific stuff into VC1DSPContext.

0b16cdc3 02/17/2011 10:35 PM Ronald S. Bultje

VC1: simplify a calculation in a loop.

1da6ea39 02/17/2011 10:35 PM Ronald S. Bultje

VC1: transpose IDCT 8x8 coeffs while reading.

2e279598 01/29/2011 03:13 AM Ronald S. Bultje

Move ff_emulated_edge_mc() into DSPContext.

d36beb3f 01/26/2011 04:08 PM Diego Elio Pettenò

Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.

None of these symbols should be accessed directly, so declare them as

Signed-off-by: Mans Rullgard <>

cba322d7 09/26/2010 01:56 PM Kostya Shishkov

Make WMV3 decoder attempt to decode WMVP as well

Originally committed as revision 25209 to svn://

fca58a81 07/11/2010 10:52 PM David Conrad

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://

3683b7e5 07/11/2010 10:52 PM David Conrad

vc1: ff_draw_horiz_band needs a one row delay when the loop filter is active

Originally committed as revision 24205 to svn://

42ff9d7a 07/10/2010 02:36 PM Kostya Shishkov

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://

0724a674 06/27/2010 07:27 PM Reimar Döffinger

Change type of zz_table to uint8_t to match the scantables it points to.

Originally committed as revision 23831 to svn://

1c100b13 05/29/2010 07:28 AM Kostya Shishkov

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://

ba87f080 04/20/2010 02:45 PM Diego Biurrun

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://

72415b2a 03/30/2010 11:30 PM Stefano Sabatini

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://

d2df291f 02/24/2010 01:11 PM Kostya Shishkov

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://

d68b27a9 02/21/2010 02:46 AM Måns Rullgård

VC1: fix missing include h263.h

Originally committed as revision 21932 to svn://

261a3c2d 01/08/2010 07:40 PM Michael Niedermayer

Move AVCodecs from h263dec.c to msmpeg4.c and disentangle init decode init.

Originally committed as revision 21102 to svn://

53b04467 10/11/2009 05:36 AM Kostya Shishkov

Warn when WVC1 cannot be decoded

Originally committed as revision 20201 to svn://

95ce961d 10/06/2009 03:30 PM Andrew Dennison

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...

c05df689 09/24/2009 10:49 AM Reimar Döffinger

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...

2ba83017 09/06/2009 04:09 PM Reimar Döffinger

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://

700363af 07/29/2009 11:31 AM Diego Biurrun

Only enable WMV3 decoder when it has been turned on in the build system.

Originally committed as revision 19534 to svn://

e0f58e39 07/29/2009 09:54 AM Diego Biurrun

the former depends upon the latter.

Originally committed as revision 19532 to svn://

74a30595 06/23/2009 07:41 AM Kostya Shishkov

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://

351653a5 06/17/2009 05:54 AM Jason Garrett-Glaser

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://

010f98f9 06/16/2009 09:09 AM Jason Garrett-Glaser

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://

4f717c69 06/16/2009 09:00 AM Jason Garrett-Glaser

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,...

b761659b 06/11/2009 09:31 AM Diego Biurrun

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://