vf_pp: use new API to access qp table
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 14 Mar 2013 01:14:31 +0000 (02:14 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 15 Mar 2013 02:02:27 +0000 (03:02 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/vf_pp.c

index b6cdbe6..b7f35d3 100644 (file)
@@ -108,6 +108,8 @@ static int pp_filter_frame(AVFilterLink *inlink, AVFrame *inbuf)
     const int aligned_w = FFALIGN(outlink->w, 8);
     const int aligned_h = FFALIGN(outlink->h, 8);
     AVFrame *outbuf;
+    int qstride, qp_type;
+    int8_t *qp_table ;
 
     outbuf = ff_get_video_buffer(outlink, aligned_w, aligned_h);
     if (!outbuf) {
@@ -115,15 +117,16 @@ static int pp_filter_frame(AVFilterLink *inlink, AVFrame *inbuf)
         return AVERROR(ENOMEM);
     }
     av_frame_copy_props(outbuf, inbuf);
+    qp_table = av_frame_get_qp_table(inbuf, &qstride, &qp_type);
 
     pp_postprocess((const uint8_t **)inbuf->data, inbuf->linesize,
                    outbuf->data,                 outbuf->linesize,
                    aligned_w, outlink->h,
-                   outbuf->qscale_table,
-                   outbuf->qstride,
+                   qp_table,
+                   qstride,
                    pp->modes[pp->mode_id],
                    pp->pp_ctx,
-                   outbuf->pict_type);
+                   outbuf->pict_type | (qp_type ? PP_PICT_TYPE_QP2 : 0));
 
     av_frame_free(&inbuf);
     return ff_filter_frame(outlink, outbuf);