impostor yv12
"Ivan Kalvachev" <[email protected]> Wed, 4 Feb 2004 02:42:04 +0200 (EET)
| Newsgroups | gmane.comp.video.mplayer.g2.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello, I had send few patches and few mails to xvid people regarding their handling of YV12 format. In short they claimed that it is reversed and they swaped the UV planes. I had tracked a bug in DSHOW and VfW handling of IYUV - they had mapped it to yv12, while IYUV is the same as I420. Few weaks ago I checked the image.c routines and noticed that the thing are unchanged, but later i found out that the VfW/DShow issues have been sorted. So, In short the YV12 format is not the format that mplayer claims it is. YV12 is in fact YVU / YCrCb /, that is in no way the default MPEG standart color format. As you know in MPEG 0,1,2,3 blocks are Y, Cb is #4 block, Cr is #5 block. Yes, I know that all code over mplayer-g1 use IMGFMT_YV12 as YUV, but in fact this format is the I420 or IYUV format. The real conversion is done at vo_xv (in draw_slice around line 488). Same for vo_directx and probably all that support planar formats. I should say that now I see the reason mplayer to have always U as plane[1] and V as plane[2]. Well, I don't want to change all IMGFMT_YV12 to I420, or to IMGFMT_YUV, as it is a too global change. But we should make G2 in the right way. Of cource if it is not already done. Best Regards Ivan Kalvachev iive