Yesterday I’ve rewritten decoder using FFmpeg’s functions from h263 decoding. Now the code is simplier and decodes more I-frames correctly but the problem with AC prediction remains.
Here is the output of new decoder, the same scene:
Archive for June, 2006
VC-1: Some more progress
Friday, June 16th, 2006VC-1: Something is showing up
Thursday, June 15th, 2006Yesterday I’ve managed to beat more or less sane I-frame decoder.
It is not very good now but at least it works and produce something that could be recognized without lots of imagination:
VC-1: Middle layer problems
Wednesday, June 14th, 2006Yesterday I’ve managed to hack FFmpeg bits of VC-1 decoder to actually parse and decode simple profile I-frames. Bits consumed are fine. But there is no sane picture yet. DC prediction is not good and AC coefficients also needs some operations, but at least they are decoded correctly.
VC-1: 8×8 transform
Saturday, June 3rd, 2006OK, 8×8 transform is slightly optimized too.
This version gives 7x gain on PII and 15x on G4.
Here is vc1itrans.c file from VC-1 reference decoder with replaced transform.
See here
how to use VC-1 reference decoder in FFmpeg
and just replace one file in libvc1 with my version before compiling.
VC-1: 4×4 transform
Saturday, June 3rd, 2006I was honoured to implement VC-1 decoder in course of Google Summer of Code.
I had almost no time to do anything this week but at least here is straightforward optimization of 4×4 transform.
Speed gain varies from 4 times (PII-266) to 7 times (PPC G4-1.42 GHz). My name is not Niedermayer and I’m not sure how to further optimize it / rewrite with MMX/AltiVec but it’s a good start. 8×8 transform will follow soon (I hope).
The test code is given below.
(more…)