[FFmpeg-cvslog] r22866 - trunk/libavcodec/raw.c

Vitor Sessak vitor1001
Sun Apr 18 06:13:24 CEST 2010


Michael Niedermayer wrote:
> On Sat, Apr 17, 2010 at 12:42:23AM -0400, Vitor Sessak wrote:
>> Vitor Sessak wrote:
>>> stefano wrote:
>>>> Author: stefano
>>>> Date: Tue Apr 13 00:05:18 2010
>>>> New Revision: 22866
>>>>
>>>> Log:
>>>> Change ff_raw_pixelFormatTags RGB entries (RGB555, BGR555, RGB565,
>>>> BGR565, RGB565) to make them specify the tags for the LE variants
>>>> rather than for the native endian ones.
>>>>
>>>> Fix NUT compatibility.
>>>>
>>>> Modified:
>>>>    trunk/libavcodec/raw.c
>>>>
>>>> Modified: trunk/libavcodec/raw.c
>>>> ==============================================================================
>>>> --- trunk/libavcodec/raw.c    Mon Apr 12 23:49:04 2010    (r22865)
>>>> +++ trunk/libavcodec/raw.c    Tue Apr 13 00:05:18 2010    (r22866)
>>>> @@ -56,11 +56,11 @@ const PixelFormatTag ff_raw_pixelFormatT
>>>>      { PIX_FMT_UYVY422, MKTAG('A', 'V', 'u', 'p') },
>>>>      { PIX_FMT_UYVY422, MKTAG('V', 'D', 'T', 'Z') }, /* SoftLab-NSK 
>>>> VideoTizer */
>>>>      { PIX_FMT_GRAY8,   MKTAG('G', 'R', 'E', 'Y') },
>>>> -    { PIX_FMT_RGB555,  MKTAG('R', 'G', 'B', 15) },
>>>> -    { PIX_FMT_BGR555,  MKTAG('B', 'G', 'R', 15) },
>>>> -    { PIX_FMT_RGB565,  MKTAG('R', 'G', 'B', 16) },
>>>> -    { PIX_FMT_BGR565,  MKTAG('B', 'G', 'R', 16) },
>>>> -    { PIX_FMT_RGB565,  MKTAG( 3 ,  0 ,  0 ,  0 ) },
>>>> +    { PIX_FMT_RGB555LE, MKTAG('R', 'G', 'B', 15) },
>>>> +    { PIX_FMT_BGR555LE, MKTAG('B', 'G', 'R', 15) },
>>>> +    { PIX_FMT_RGB565LE, MKTAG('R', 'G', 'B', 16) },
>>>> +    { PIX_FMT_BGR565LE, MKTAG('B', 'G', 'R', 16) },
>>>> +    { PIX_FMT_RGB565LE, MKTAG( 3 ,  0 ,  0 ,  0) },
>>> This seem to have broken MTV FATE test on bigendian machines. I think the 
>>> problem is that swscaler treats PIX_FMT_RGB565 as always been LE while 
>>> lavc treats it as been NE.
>> Scrap that. Actually the problem is that we have redundant pixfmts:
> 
> you are confused

Yes I was. Hard to accept that there are four ways to encode rgb565 :p.

The MTV format encodes the data in RGB565LE. The MTV demuxer converts it 
to RGB565NE. The ideal solution would be to make the MTV demuxer output 
simply RGB565LE, but it is not a supported input format for libswscale 
and I don't have time to implement it.

The attached patch should fix the FATE breakage.

-Vitor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mtvfix.diff
Type: text/x-patch
Size: 765 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100418/e3238ee2/attachment.bin>



More information about the ffmpeg-cvslog mailing list