summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo_enc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-13 01:07:30 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-13 01:29:48 +0100
commitb18e17eabf3ba51da2d0fd0f85c4815945bfd70a (patch)
treee949920e01cba93fbedca647076f72b31eec59cb /libavcodec/mpegvideo_enc.c
parenta2c419848df3e76e164bd19c3841f39d2971d326 (diff)
parent4df30f71147b7bedd4457bcfa0e4efe01085af9f (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits) utils: Check for extradata size overflows. ARM: rv34: fix asm syntax in dc transform functions avio: Fix the value of the deprecated URL_FLAG_NONBLOCK rv34: fix and optimise frame dependency checking rv34: NEON optimised dc only inverse transform avprobe: use avio_size() instead of deprecated AVFormatContext.file_size. ffmenc: remove references to deprecated AVFormatContext.timestamp. lavf: undeprecate read_seek(). avserver: remove code using deprecated CODEC_CAP_PARSE_ONLY. lavc: replace some remaining FF_I_TYPE with AV_PICTURE_TYPE_I lavc: ifdef out parse_only AVOption nellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT mpegvideo_enc: ifdef out/replace references to deprecated codec flags. riff: remove references to sonic codec ids indeo4: add some missing static and const qualifiers rv34: DC-only inverse transform avconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields lavfi: move version macros to a new installed header version.h vsrc_buffer: release the buffer on uninit. rgb2rgb: rgb12tobgr12() ... Conflicts: avconv.c doc/APIchanges ffprobe.c libavfilter/Makefile libavfilter/avfilter.h libswscale/rgb2rgb.c libswscale/rgb2rgb.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegvideo_enc.c')
-rw-r--r--libavcodec/mpegvideo_enc.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index a02dd7bdb4..ab611baea1 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -500,8 +500,11 @@ av_cold int MPV_encode_init(AVCodecContext *avctx)
avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den, 255);
}
- 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;
@@ -533,12 +536,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) {
@@ -572,8 +577,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;
@@ -813,8 +821,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)