tokstart++;
break;
case 'I': // Interlace type
- interlaced = *tokstart++;
+ switch (*tokstart++){
+ case '?':
+ field_order = AV_FIELD_UNKNOWN;
+ break;
+ case 'p':
+ field_order = AV_FIELD_PROGRESSIVE;
+ break;
+ case 't':
+ field_order = AV_FIELD_TT;
+ break;
+ case 'b':
+ field_order = AV_FIELD_BB;
+ break;
+ case 'm':
+ av_log(s, AV_LOG_ERROR, "YUV4MPEG stream contains mixed "
+ "interlaced and non-interlaced frames.\n");
- return -1;
+ default:
+ av_log(s, AV_LOG_ERROR, "YUV4MPEG has invalid header.\n");
- return -1;
++ return AVERROR(EINVAL);
+ }
break;
case 'F': // Frame rate
sscanf(tokstart, "%d:%d", &raten, &rated); // 0:0 if unknown