[Ffmpeg-devel] [PATCH] MJPEG wrongly displayed with vertical YUV422

Diego Biurrun diego
Mon Jul 31 11:05:26 CEST 2006


Hmmm, it seems that this one slipped through the cracks ...

On Sun, May 28, 2006 at 12:20:00AM +0200, Eric Piel wrote:
> (please CC: me as I'm not subscribed to this mailing list)
> 
> ffmpeg doesn't handle the mjpeg files with a "vertical" YUV422. Here is 
> an example:
> * A fine video: http://pieleric.free.fr/ffmpeg/sevilla-mjpeg-yuv422h.avi 
> (directly from my camera)
> * Mostly same video which "ffplay" displays with wrong colors: 
> http://pieleric.free.fr/ffmpeg/sevilla-mjpeg-yuv422v.avi (lossless 
> rotation of the previous file)
> (both files are 9 Mb)
> 
> Actually there is even a comment in mjpeg.c which explains the problem : 
> /* XXX: not complete test ! */
> 
> The test "switch((s->h_count[0] << 4) | s->v_count[0]) {" needs to also 
> handle 0x12. Like 0x21, it's also YUV422 but this one is "vertical". The 
> problem is that there is currently no PIX_FMT_* in ffmpeg which 
> corresponds to this coding. So here is a patch (against SVN 5414) to add 
> the support for this format. It adds the types PIX_FMT_YUV422VP and 
> PIX_FMT_YUVJ422VP. With this patch I can correctly display both videos :-)
> 
> Let me know if that's the right way to fix the bug. Also, I've added 
> PIX_FMT_YUV*422VP to the minimum of places as possible, maybe I forgot 
> some places...

Just checked the patch, it works as advertised ...

> PS: If anyone is interested I can provide my script to do lossless 
> rotation on mjpeg movies ;-)

Yes, I guess this might interest some people...

Diego




More information about the ffmpeg-devel mailing list