mpegvideo_enc: enable rtp_mode when multiple slices are used

Currently, multiple slices with just one thread produce corrupted
output.

Additionally, enable slice structured mode for h263(+)

Bug-Id: 912
CC: libav-stabl@libav.org
This commit is contained in:
Anton Khirnov 2015-11-18 10:37:16 +01:00
parent d80f0a4ad6
commit f6c94457b4

View File

@ -519,9 +519,6 @@ FF_ENABLE_DEPRECATION_WARNINGS
return -1;
}
if (s->avctx->thread_count > 1)
s->rtp_mode = 1;
if (!avctx->time_base.den || !avctx->time_base.num) {
av_log(avctx, AV_LOG_ERROR, "framerate not set\n");
return -1;
@ -764,6 +761,13 @@ FF_ENABLE_DEPRECATION_WARNINGS
if ((CONFIG_H263P_ENCODER || CONFIG_RV20_ENCODER) && s->modified_quant)
s->chroma_qscale_table = ff_h263_chroma_qscale_table;
if (s->slice_context_count > 1) {
s->rtp_mode = 1;
if (avctx->codec_id == AV_CODEC_ID_H263 || avctx->codec_id == AV_CODEC_ID_H263P)
s->h263_slice_structured = 1;
}
s->quant_precision = 5;
ff_set_cmp(&s->mecc, s->mecc.ildct_cmp, s->avctx->ildct_cmp);