Hi All,

All the examples I can find of using swscale to convert an AVFrame from YUV to 
RGB, use the *CodecContext* width and height:

eg

 sws_getContext(pCodecCtx->width, pCodecCtx->height, 
                        pCodecCtx->pix_fmt, 
                         dst_width, dst_height, PIX_FMT_RGB24, SWS_BILINEAR, 
                        NULL, NULL, NULL);


But when I decode a 1024x768 mp4 movie, the CodecContext->width is 8 and height 
1024..  Is that expected?

So I have been using:

sws_getContext(frame->width, frame->height, pCodecCtx->pix_fmt,
                         dst_width, dst_height, PIX_FMT_RGB24, SWS_BILINEAR,
                         NULL, NULL, NULL);


ie after decoding an AVFrame, I use its (now known) size to get my sws context. 
 Is this correct?


Lastly, I find this works fine for .mov and .avi containers, but for .mp4 
movies, it all runs but looks like I'm just getting chroma with extra crud of 
missing/stale macroblocks..

Video of me pointing at an iPad screen looks like this:
http://i614.photobucket.com/albums/tt229/ElektraGlide/ScreenShot2014-06-14at113519_zps126c6638.png

Any ideas?


_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to