|
|
|
@ -498,8 +498,11 @@ av_cold int MPV_encode_init(AVCodecContext *avctx) |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((s->flags & (CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME | |
|
|
|
|
CODEC_FLAG_ALT_SCAN)) && |
|
|
|
|
if ((s->flags & (CODEC_FLAG_INTERLACED_DCT | CODEC_FLAG_INTERLACED_ME |
|
|
|
|
#if FF_API_MPEGVIDEO_GLOBAL_OPTS |
|
|
|
|
| CODEC_FLAG_ALT_SCAN |
|
|
|
|
#endif |
|
|
|
|
)) && |
|
|
|
|
s->codec_id != CODEC_ID_MPEG4 && s->codec_id != CODEC_ID_MPEG2VIDEO) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "interlacing not supported by codec\n"); |
|
|
|
|
return -1; |
|
|
|
@ -531,12 +534,14 @@ av_cold int MPV_encode_init(AVCodecContext *avctx) |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if FF_API_MPEGVIDEO_GLOBAL_OPTS |
|
|
|
|
if ((s->flags2 & CODEC_FLAG2_INTRA_VLC) && |
|
|
|
|
s->codec_id != CODEC_ID_MPEG2VIDEO) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
|
"intra vlc table not supported by codec\n"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
if (s->flags & CODEC_FLAG_LOW_DELAY) { |
|
|
|
|
if (s->codec_id != CODEC_ID_MPEG2VIDEO) { |
|
|
|
@ -570,8 +575,11 @@ av_cold int MPV_encode_init(AVCodecContext *avctx) |
|
|
|
|
s->codec_id != CODEC_ID_MPEG4 && |
|
|
|
|
s->codec_id != CODEC_ID_MPEG1VIDEO && |
|
|
|
|
s->codec_id != CODEC_ID_MPEG2VIDEO && |
|
|
|
|
(s->codec_id != CODEC_ID_H263P || |
|
|
|
|
!(s->flags & CODEC_FLAG_H263P_SLICE_STRUCT))) { |
|
|
|
|
(s->codec_id != CODEC_ID_H263P |
|
|
|
|
#if FF_API_MPEGVIDEO_GLOBAL_OPTS |
|
|
|
|
|| !(s->flags & CODEC_FLAG_H263P_SLICE_STRUCT) |
|
|
|
|
#endif |
|
|
|
|
)) { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
|
"multi threaded encoding not supported by codec\n"); |
|
|
|
|
return -1; |
|
|
|
@ -810,8 +818,8 @@ av_cold int MPV_encode_init(AVCodecContext *avctx) |
|
|
|
|
|
|
|
|
|
s->progressive_frame = |
|
|
|
|
s->progressive_sequence = !(avctx->flags & (CODEC_FLAG_INTERLACED_DCT | |
|
|
|
|
CODEC_FLAG_INTERLACED_ME | |
|
|
|
|
CODEC_FLAG_ALT_SCAN)); |
|
|
|
|
CODEC_FLAG_INTERLACED_ME) || |
|
|
|
|
s->alternate_scan); |
|
|
|
|
|
|
|
|
|
/* init */ |
|
|
|
|
if (MPV_common_init(s) < 0) |
|
|
|
|