Add a quality factor packet side data
[ffmpeg.git] / libavcodec / libxvid.c
index 5282ea7a1949a464c60f6ae8590ee3dfbaf7a53f..b440ac2d9267af1ce04fe4eeab66d57ac3535f1e 100644 (file)
@@ -743,6 +743,12 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     }
 
     if (xerr > 0) {
+        uint8_t *sd = av_packet_new_side_data(pkt, AV_PKT_DATA_QUALITY_FACTOR,
+                                              sizeof(int));
+        if (!sd)
+            return AVERROR(ENOMEM);
+        *(int *)sd = xvid_enc_stats.quant * FF_QP2LAMBDA;
+
         *got_packet = 1;
 
         avctx->coded_frame->quality = xvid_enc_stats.quant * FF_QP2LAMBDA;