Fix bug #1302: Unsupported pixel format crash.

This commit is contained in:
Johns 2013-04-08 16:42:47 +02:00
parent 857546a3a5
commit 5b35e70b94
3 changed files with 4 additions and 0 deletions

View File

@ -1,6 +1,7 @@
User johns User johns
Date: Date:
Fix bug #1302: Unsupported pixel format crash.
Fix the fix, when sillpicture is called in suspend mode. Fix the fix, when sillpicture is called in suspend mode.
Fix crash, when sillpicture is called in suspend mode. Fix crash, when sillpicture is called in suspend mode.
Add workaround for zero width+height and ffmpeg >= 1.2. Add workaround for zero width+height and ffmpeg >= 1.2.

1
Todo
View File

@ -40,6 +40,7 @@ video:
check start with 24Hz display rate check start with 24Hz display rate
crash with ffmpeg without vaapi and vdpau. crash with ffmpeg without vaapi and vdpau.
still-picture of PES recordings should use VideoMpegEnqueue. still-picture of PES recordings should use VideoMpegEnqueue.
convert PIX_FMT_... PixelFormat to new names AV_PIX_FMT_..., AVPixelFormat.
vdpau: vdpau:
software deinterlace path not working. software deinterlace path not working.

View File

@ -2311,6 +2311,7 @@ static int VaapiFindImageFormat(VaapiDecoder * decoder,
// intel: I420 is native format for MPEG-2 decoded surfaces // intel: I420 is native format for MPEG-2 decoded surfaces
// intel: NV12 is native format for H.264 decoded surfaces // intel: NV12 is native format for H.264 decoded surfaces
case PIX_FMT_YUV420P: case PIX_FMT_YUV420P:
case PIX_FMT_YUVJ420P:
// fourcc = VA_FOURCC_YV12; // YVU // fourcc = VA_FOURCC_YV12; // YVU
fourcc = VA_FOURCC('I', '4', '2', '0'); // YUV fourcc = VA_FOURCC('I', '4', '2', '0'); // YUV
break; break;
@ -7583,6 +7584,7 @@ static void VdpauRenderFrame(VdpauDecoder * decoder,
// //
switch (video_ctx->pix_fmt) { switch (video_ctx->pix_fmt) {
case PIX_FMT_YUV420P: case PIX_FMT_YUV420P:
case PIX_FMT_YUVJ420P: // some streams produce this
break; break;
case PIX_FMT_YUV422P: case PIX_FMT_YUV422P:
case PIX_FMT_YUV444P: case PIX_FMT_YUV444P: