[FFmpeg-devel] More H.264 predictive lossless

Michael Niedermayer michaelni
Wed Oct 8 23:13:05 CEST 2008


On Tue, Oct 07, 2008 at 06:39:01PM -0700, Jason Garrett-Glaser wrote:
> On Tue, Oct 7, 2008 at 6:14 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Tue, Oct 07, 2008 at 01:42:06PM -0700, Jason Garrett-Glaser wrote:
> >> On mplayerhq, mixedqps_lossless.h264 is now available.  This test clip
> >> uses the following features in addition to predictive lossless:
> >>
> >> 1. Deblocking
> >> 2. CABAC
> >> 3. B-frames (pyramidal, with weights)
> >> 4. All macroblock types, including 8x8dct and PCM.
> >> 5. Random distribution of QPs, with 50% lossless and 50% ranging from 1 to 31.
> >>
> >> CoreAVC plays it correctly.
> >>
> >> The clip is also notable for breaking the patch we previously
> >> considered for adding predictive lossless support, due to the fact
> >> that negative residuals added to a zeroed block end up being stored as
> >> zeros due to clipping.
> >>
> >> Since x264 has committing Predictive Lossless replacing the old
> >> lossless mode (which was removed from the spec), we're going to need
> >> to support this mode soon enough.
> >>
> >> Michael, any comments or ideas?
> >
> > There are patches laying around that need to be reviewed, bugs
> > some in h.264 i wanted to fix ...
> > i cant to all at once ...
> > so if someone wants to work on this (or anything else), it surely would
> > be welcome ...
> 
> More important is I'm not exactly sure how to do this.  In order to
> make it work correctly, the prediction needs to be done as part of
> transform_bypass's "idct".  However, this has two problems:
> 
> 1.  Requires a "pred" argument to be passed to the idct.
> 2.  Requires the idct to be run regardless, even if nnz == 0.
> 
> I'm not sure how to get around the second problem without
> significantly slowing down the current code.

perform only 1 call to the idct per MB and pass nnz/pred arrays
the idct can then call pred stuff as needed or not needed and
skip blocks based on nnz as needed or not needed.

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I am the wisest man alive, for I know one thing, and that is that I know
nothing. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081008/9f968ccb/attachment.pgp>



More information about the ffmpeg-devel mailing list