[FFmpeg-devel] [PATCH] Binary identicity for ffvc1 (was Re: [PATCH] VC-1 MMX DSP functions)
Kostya
kostya.shishkov
Thu Jul 19 19:18:44 CEST 2007
On Wed, Jul 18, 2007 at 08:51:00PM +0200, Christophe GISQUET wrote:
> Christophe GISQUET a ?crit :
> > Hello,
> >
> > Pascal Massimino a ?crit :
> >> Hi everybody,
> >>
> >> may i recall some remarks about compliance of the code you're presently
> >> optimizing?
> >>
> >> http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-November/019051.html
> >
> > Indeed, I tested with wmv dll decoder and the output (whether using
> > plain C or MMX) is different. Running tiny_psnr (not perfectly adapted
> > but...) on the reference (dll codec) and ffvc1 outputs, I got a standard
> > deviation of 0.5 and a PSNR of ~54dB.
> >
> > And applying what you describe as the actual filtering process does
> > indeed fix the problem: for one file, output is binary identical to dll
> > codec output.
> >
> > You'll find a patch against vc1dsp.c attached. That also means of course
> > I have to redo some of the MMX code.
> >
> > Thanks for reminding us again, Pascal!
> >
> > Best regards,
>
> Could someone verify that the C code does decode a wmv video stream to a
> binary identical version of the dll codec output? Maybe VC-1 and WMV9
> have different ways of doing the MC interpolation?
>
> On a side note, should I have started a new thread? I consider the whole
> stuff very related, so I saw no need to do so.
>
> One way to test this is (people may come up with much easier solutions):
> - for the dll codec output:
> mplayer <stream>.wmv -fps 24 -nosound -benchmark -vo yuv4mpeg:file=i.y4m
> ffmpeg -i i.y4m -f rawvideo -y ref.yuv && rm i.y4m
> - for ffmpeg output
> ./ffmpeg -i Robotica_720.wmv -an -f rawvideo out.yuv
>
> The streams may be of different length, but we still easily compare most
> of it by running:
> cmp out.yuv ref.yuv
>
> If cmp returns EOF on either file without complaining about some byte
> being different, then I believe this is a good evidence that ffvc1
> output is binary identical to the dll codec.
I was not able to verify this but I believe your patch is correct.
Applied.
> Best regards,
> --
> Christophe GISQUET
More information about the ffmpeg-devel
mailing list