summaryrefslogtreecommitdiff
path: root/libavfilter/vf_codecview.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/vf_codecview.c')
-rw-r--r--libavfilter/vf_codecview.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/libavfilter/vf_codecview.c b/libavfilter/vf_codecview.c
index 331bfba777..197dc96136 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) {