diff --git a/libavcodec/libdiracenc.c b/libavcodec/libdiracenc.c index ee827ce1ea..b0de3441b0 100644 --- a/libavcodec/libdiracenc.c +++ b/libavcodec/libdiracenc.c @@ -175,9 +175,11 @@ static int libdirac_encode_init(AVCodecContext *avccontext) } /* Intra-only sequence */ - if (avccontext->gop_size == 0 ) + if (avccontext->gop_size == 0 ) { p_dirac_params->enc_ctx.enc_params.num_L1 = 0; - else + if (avccontext->coder_type == FF_CODER_TYPE_VLC) + p_dirac_params->enc_ctx.enc_params.using_ac = 0; + } else avccontext->has_b_frames = 1; if (avccontext->flags & CODEC_FLAG_QSCALE) { diff --git a/libavcodec/libschroedingerenc.c b/libavcodec/libschroedingerenc.c index 03d9312e54..2d84621279 100644 --- a/libavcodec/libschroedingerenc.c +++ b/libavcodec/libschroedingerenc.c @@ -149,6 +149,11 @@ static int libschroedinger_encode_init(AVCodecContext *avccontext) schro_encoder_setting_set_double (p_schro_params->encoder, "gop_structure", SCHRO_ENCODER_GOP_INTRA_ONLY); + + if (avccontext->coder_type == FF_CODER_TYPE_VLC) { + schro_encoder_setting_set_double (p_schro_params->encoder, + "enable_noarith", 1); + } } else { schro_encoder_setting_set_double (p_schro_params->encoder,