Hi pebble,

I'm not sure exactly where you're getting the [0, 32768] (the DC
component can be negative), but I think you may probably barking up
the wrong tree. IEEE 1180 only defines the IDCT statistically, so
different MPEG-2 decoders can produce slightly different output.
libmpeg2 may even produce slightly different output depending on
whether you're using the C IDCT, MMX, SSE2, etc. The precision is
probably not the issue; both libmpeg2 and the reference decoder use
the precision specified in the coded bitstream for each component.

You might find that switching the IDCT in use (look at
mpeg2_idct_init() in idct.c, or modify cpu_accel.c) gives you
something closer to the results of the reference decoder. In the end,
though, these are all conforming decoders. Trying to get one to match
the other _exactly_ may require swapping out one IDCT for another and
tracking exactly where the divergence occurs.

Good luck!

Best,
Keith

On Wed, Aug 3, 2011 at 11:03 PM, pebble <sodiumacid-peb...@yahoo.co.uk> wrote:
>
> Hi there,
>
> I need to hook into libmpeg2 so that I may do some processing on mpeg2 
> bitstream level. I have a working algorithm developed with the reference 
> decoder (mssg's mpeg2v12.zip), but I would like to try on libmpeg2 because of 
> its very fast decoding speed.
>
> To decode the same mpeg2 video file, I have tried the reference decoder and 
> libmpeg2's mpegdec. I found that both decoders have produced nonidentical 
> frames (a few pixels at various position gets different values). Furthermore, 
> by checking the IDCT process, I found that, for Intra block, DC value in DCT 
> coefficient matrix, the reference decoder (getpic.c) is using signed 11 bits 
> [-1024, +1024] but libmpeg2 (slice.c) is using unsigned 15 bits [0, 32768].
>
> I thought this could be one of the reasons why the decoded frames are 
> nonidentical.
>
> Why libmpeg2 needs to use a larger bit size ? Is there any way to configure 
> libmpeg2 to use signed 11 bits for Intra block DC value, so that its behavior 
> could become a bit closer to that of reference decoder?
>
> Thanks.
>
> Best Regards,
>
> pebble
>
> ------------------------------------------------------------------------------
> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA
> The must-attend event for mobile developers. Connect with experts.
> Get tools for creating Super Apps. See the latest technologies.
> Sessions, hands-on labs, demos & much more. Register early & save!
> http://p.sf.net/sfu/rim-blackberry-1
> _______________________________________________
> Libmpeg2-devel mailing list
> Libmpeg2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel
>

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
Libmpeg2-devel mailing list
Libmpeg2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel

Reply via email to