aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpegvideo_enc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-07-15 19:12:00 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-07-15 19:56:22 +0200
commit97f86cd97604b705d6065be8088dce9cb150dc25 (patch)
treee703e3113ab4e730a4c0b00e9dcb692163491e96 /libavcodec/mpegvideo_enc.c
parent8a91cf857b206d8f8d762932891fb878f32cc532 (diff)
downloadffmpeg-97f86cd97604b705d6065be8088dce9cb150dc25.tar.gz
avcodec/mpegvideo_enc: workaround applications specifying intra dc level based on 8 and othes based on 0bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegvideo_enc.c')
-rw-r--r--libavcodec/mpegvideo_enc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 9c4f2a5d11..e88b4f3ac8 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -335,6 +335,13 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
s->mpeg_quant = avctx->mpeg_quant;
s->rtp_mode = !!avctx->rtp_payload_size;
s->intra_dc_precision = avctx->intra_dc_precision;
+
+ // workaround some differences between how applications specify dc precission
+ if (s->intra_dc_precision < 0) {
+ s->intra_dc_precision += 8;
+ } else if (s->intra_dc_precision >= 8)
+ s->intra_dc_precision -= 8;
+
s->user_specified_pts = AV_NOPTS_VALUE;
if (s->gop_size <= 1) {