diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index 8149dbf257..02d6109aaf 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -529,6 +529,7 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){ AVFrame *pic= lavc_venc_context->coded_frame; double f= lavc_venc_context->width*lavc_venc_context->height*255.0*255.0; double quality=0.0; + int8_t *q; if(!fvstats) { time_t today2; @@ -546,18 +547,19 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){ } // average MB quantizer - { + q = lavc_venc_context->coded_frame->qscale_table; + if(q) { int x, y; int w = (lavc_venc_context->width+15) >> 4; int h = (lavc_venc_context->height+15) >> 4; - int8_t *q = lavc_venc_context->coded_frame->qscale_table; for( y = 0; y < h; y++ ) { for( x = 0; x < w; x++ ) quality += (double)*(q+x); q += lavc_venc_context->coded_frame->qstride; } quality /= w * h; - } + } else + quality = lavc_venc_context->coded_frame->quality; fprintf(fvstats, "%6d, %2.2f, %6d, %2.2f, %2.2f, %2.2f, %2.2f %c\n", lavc_venc_context->coded_frame->coded_picture_number,