summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/codecs.conf2
-rw-r--r--libmpdemux/mpeg_hdr.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/etc/codecs.conf b/etc/codecs.conf
index bb3cbad119..9b78ef4fbc 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -50,6 +50,7 @@ videocodec ffmpeg2
driver ffmpeg
dll "mpeg2video"
out YV12,I420,IYUV
+ out 422P,444P
; for backward compatibility
videocodec ffmpeg12
@@ -63,6 +64,7 @@ videocodec ffmpeg12
driver ffmpeg
dll "mpegvideo"
out YV12,I420,IYUV
+ out 422P,444P
videocodec ffmpeg12mc
info "FFmpeg MPEG 1/2 (XvMC)"
diff --git a/libmpdemux/mpeg_hdr.c b/libmpdemux/mpeg_hdr.c
index 956f8ebf11..f9ce49d867 100644
--- a/libmpdemux/mpeg_hdr.c
+++ b/libmpdemux/mpeg_hdr.c
@@ -58,8 +58,10 @@ static int header_process_sequence_extension (mp_mpeg_header_t * picture,
unsigned char * buffer)
{
/* check chroma format, size extensions, marker bit */
- if (((buffer[1] & 0x07) != 0x02) || (buffer[2] & 0xe0) ||
- ((buffer[3] & 0x01) != 0x01))
+
+ if ( ((buffer[1] & 0x06) == 0x00) ||
+ ((buffer[1] & 0x01) != 0x00) || (buffer[2] & 0xe0) ||
+ ((buffer[3] & 0x01) != 0x01) )
return 1;
picture->progressive_sequence = (buffer[1] >> 3) & 1;