[FFmpeg-devel] [PATCH] Move VC1 loop filter to DSPContext

Kostya kostya.shishkov
Fri Apr 3 08:42:25 CEST 2009


On Wed, Apr 01, 2009 at 02:44:13PM -0400, David Conrad wrote:
> On Apr 1, 2009, at 1:37 PM, Michael Niedermayer wrote:
> 
> >On Wed, Apr 01, 2009 at 04:23:26AM -0400, David Conrad wrote:
> >>Hi,
> >>
> >>First patch moves VC1's loop filter function as is to DSPContext, the
> >>second splits it according h/v and size for faster/easier simd
> >>implementations.
> >>
> >>Since these functions require 16 bit arithmetic, there isn't really  
> >>a speed
> >>advantage to having size 16 functions in simd. I kept them for  
> >>consistency
> >>and because it's a bit uglier to use size 8 x2 in  
> >>vc1_loop_filter_iblk.
> >
> >The changes to files maintained by me are ok, assuming it has been  
> >verified
> >that the vc1 loop filter is bitexact relative to the binary codec
> >(i would not want incorrect code to be optimized)
> 
> The loop filter is identical to the VC1 spec and the one in the  
> reference implementation.
> The file I have that uses the loop filter is bitexact to the binary  
> codec for I and P frames, but not B frames.
> Of the files I have that do not use the loop filter, three are  
> bitexact and one is not bitexact for any frame.
> The two files that aren't bitexact are from HDDVD rips, so I'll create  
> a roundup ticket since there's probably some weird feature or  
> something being used.

That may be caused by the fact spec requires 16-bit processing
(well, 10-bit) because of transform and filtering (loop, overlap) and
my code uses 8-bit everywhere.

Now I'm a bit far from my computers so I probably look at it in two
weeks. Roundup ticket will be a good reminder.



More information about the ffmpeg-devel mailing list