X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=libavfilter%2Fvf_codecview.c;h=197dc961362c7df0917e3e508037dc465509b575;hb=eccc7971c2eb2c4aca0fa321298d5e1957c0cb4c;hp=331bfba777dce1c06d4863d4c4043786eda63a97;hpb=0ff76ca86e0ea4dcf2b392c45f5fac8e5576bb0d;p=ffmpeg diff --git a/libavfilter/vf_codecview.c b/libavfilter/vf_codecview.c index 331bfba777d..197dc961362 100644 --- a/libavfilter/vf_codecview.c +++ b/libavfilter/vf_codecview.c @@ -33,6 +33,7 @@ #include "libavutil/motion_vector.h" #include "libavutil/opt.h" #include "avfilter.h" +#include "qp_table.h" #include "internal.h" #define MV_P_FOR (1<<0) @@ -219,8 +220,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) AVFilterLink *outlink = ctx->outputs[0]; if (s->qp) { - int qstride, qp_type; - int8_t *qp_table = av_frame_get_qp_table(frame, &qstride, &qp_type); + int qstride, qp_type, ret; + int8_t *qp_table; + + ret = ff_qp_table_extract(frame, &qp_table, &qstride, NULL, &qp_type); + if (ret < 0) { + av_frame_free(&frame); + return ret; + } if (qp_table) { int x, y; @@ -240,6 +247,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) pv += lzv; } } + av_freep(&qp_table); } if (s->mv || s->mv_type) {