diff options
-rw-r--r-- | libmpcodecs/ae_lavc.c | 1 | ||||
-rw-r--r-- | libmpcodecs/ve_lavc.c | 2 | ||||
-rw-r--r-- | libmpdemux/muxer.h | 1 | ||||
-rw-r--r-- | libmpdemux/muxer_lavf.c | 3 |
4 files changed, 5 insertions, 2 deletions
diff --git a/libmpcodecs/ae_lavc.c b/libmpcodecs/ae_lavc.c index 69b3530b3d..be909aa26e 100644 --- a/libmpcodecs/ae_lavc.c +++ b/libmpcodecs/ae_lavc.c @@ -38,6 +38,7 @@ static int bind_lavc(audio_encoder_t *encoder, muxer_stream_t *mux_a) mux_a->wf->nChannels = lavc_actx->channels; mux_a->wf->nSamplesPerSec = lavc_actx->sample_rate; mux_a->wf->nAvgBytesPerSec = (lavc_actx->bit_rate / 8); + mux_a->avg_rate= lavc_actx->bit_rate; mux_a->h.dwRate = mux_a->wf->nAvgBytesPerSec; if(lavc_actx->block_align) mux_a->h.dwSampleSize = mux_a->h.dwScale = lavc_actx->block_align; diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index 5bf123daa2..dcfc7f4243 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -331,7 +331,7 @@ static int config(struct vf_instance_s* vf, else lavc_venc_context->bit_rate = 800000; /* default */ - //mux_v->wf->nAvgBytesPerSec= lavc_venc_context->bit_rate/8; + mux_v->avg_rate= lavc_venc_context->bit_rate; lavc_venc_context->bit_rate_tolerance= lavc_param_vrate_tolerance*1000; lavc_venc_context->time_base= (AVRational){mux_v->h.dwScale, mux_v->h.dwRate}; diff --git a/libmpdemux/muxer.h b/libmpdemux/muxer.h index 7f3779d6d1..1dae84ec8e 100644 --- a/libmpdemux/muxer.h +++ b/libmpdemux/muxer.h @@ -48,6 +48,7 @@ typedef struct { int vbv_size; int max_rate; + int avg_rate; } muxer_stream_t; typedef struct { diff --git a/libmpdemux/muxer_lavf.c b/libmpdemux/muxer_lavf.c index c8601738e3..09794c7573 100644 --- a/libmpdemux/muxer_lavf.c +++ b/libmpdemux/muxer_lavf.c @@ -185,7 +185,8 @@ static void fix_parameters(muxer_stream_t *stream) ctx = spriv->avstream->codec; - if(stream->wf && stream->wf->nAvgBytesPerSec) + ctx->bit_rate= stream->avg_rate; + if(stream->wf && stream->wf->nAvgBytesPerSec && !ctx->bit_rate) ctx->bit_rate = stream->wf->nAvgBytesPerSec * 8; ctx->rc_buffer_size= stream->vbv_size; ctx->rc_max_rate= stream->max_rate; |