[FFmpeg-devel] [PATCH] Re: Color corruption and seeking errors with H264 disc sources

Michael Niedermayer michaelni
Fri Jul 6 14:44:56 CEST 2007


Hi

On Fri, Jul 06, 2007 at 12:26:36PM +0200, Andreas ?man wrote:
> Hi
> 
> Michael Niedermayer wrote:
> >Hi
> >
> >[...]
> >
> >>@@ -6682,7 +6689,9 @@
> >> static void filter_mb_fast( H264Context *h, int mb_x, int mb_y, uint8_t 
> >> *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, 
> >> unsigned int uvlinesize) {
> >>     MpegEncContext * const s = &h->s;
> >>     int mb_xy, mb_type;
> >>-    int qp, qp0, qp1, qpc, qpc0, qpc1, qp_thresh;
> >>+    int qp, qp0, qp1, qp_thresh;
> >>+    int qpb, qpb0, qpb1;
> >>+    int qpr, qpr0, qpr1;
> >> 
> >>     mb_xy = mb_x + mb_y*s->mb_stride;
> >> 
> >
> >as said, please leave the fast/simple cases as is, without 2 chroma QPs
> 
> ok, fixed in the deblocker, i dont find any other places where i can
> think it's worth it.
> 
> The initial check in filter_mb_fast() is a bit bloated now,
> I'll see if it can be relaxed a bit (compute a boolean at
> start of slice). I'll send that as a separate patch once this
> is in.
> 
> >[...]
> >>@@ -171,7 +171,7 @@
> >>     int got_avcC; ///< flag used to parse avcC data only once
> >>     int nal_length_size; ///< Number of bytes used for nal length (1, 2 
> >>     or 4)
> >> 
> >>-    int chroma_qp; //QPc
> >>+    int chroma_qp[0]; //QPc
> >
> >this looks odd
> 
> Yikes, what a typo :(
> It must have used prev_mb_skipped and next_mb_skipped as
> storage then :). I rerun the tests and it didnt seem to have
> affected the first timing measurements i did.
> 
> Here are timings with this patch (try#3)
> 
> Aladin.mpg
> 
> svn           avg: 3.213  stddev: 0.009  med: 3.214
> qmul.diff     avg: 3.207  stddev: 0.005  med: 3.206
> qplookup.diff avg: 3.209  stddev: 0.015  med: 3.204
> secondqp.diff avg: 3.214  stddev: 0.010  med: 3.216
> try#1         avg: 3.223  stddev: 0.015  med: 3.220
> try#3         avg: 3.217  stddev: 0.013  med: 3.216
> 
> SVT.ts
> 
> svn           avg: 5.298  stddev: 0.016  med: 5.308
> qmul.diff     avg: 5.315  stddev: 0.021  med: 5.308
> qplookup.diff avg: 5.284  stddev: 0.009  med: 5.280
> secondqp.diff avg: 5.320  stddev: 0.052  med: 5.316
> try#1         avg: 5.344  stddev: 0.010  med: 5.344
> try#3         avg: 5.324  stddev: 0.042  med: 5.312
> 
> ffh264_issue3.h264
> 
> svn           avg: 26.366  stddev: 0.055  med: 26.390
> qmul.diff     avg: 26.292  stddev: 0.035  med: 26.298
> qplookup.diff avg: 26.153  stddev: 0.020  med: 26.150
> secondqp.diff avg: 26.315  stddev: 0.034  med: 26.298
> try#1         avg: 26.421  stddev: 0.023  med: 26.422
> try#3         avg: 26.113  stddev: 0.024  med: 26.122
> 
> apple zodiac trailer
> 
> svn           avg: 34.731  stddev: 0.068  med: 34.726
> qmul.diff     avg: 34.691  stddev: 0.041  med: 34.694
> qplookup.diff avg: 34.748  stddev: 0.064  med: 34.774
> secondqp.diff avg: 34.796  stddev: 0.057  med: 34.778
> try#1         avg: 34.954  stddev: 0.026  med: 34.958
> try#3         avg: 34.826  stddev: 0.206  med: 34.718

patch ok

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In a rich man's house there is no place to spit but his face.
-- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070706/47e9b918/attachment.pgp>



More information about the ffmpeg-devel mailing list