[FFmpeg-devel] [PATCH 04/12] vf_codecview: drop qp functionality
Anton Khirnov
anton at khirnov.net
Mon Feb 24 14:37:31 EET 2020
It depends on API that has been deprecated for five years and is of
highly dubious usefulness.
---
doc/filters.texi | 3 ---
libavfilter/vf_codecview.c | 26 --------------------------
2 files changed, 29 deletions(-)
diff --git a/doc/filters.texi b/doc/filters.texi
index 2a1235183f..43e52f930a 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -7182,9 +7182,6 @@ forward predicted MVs of B-frames
backward predicted MVs of B-frames
@end table
- at item qp
-Display quantization parameters using the chroma planes.
-
@item mv_type, mvt
Set motion vectors type to visualize. Includes MVs from all frames unless specified by @var{frame_type} option.
diff --git a/libavfilter/vf_codecview.c b/libavfilter/vf_codecview.c
index 331bfba777..2657660b97 100644
--- a/libavfilter/vf_codecview.c
+++ b/libavfilter/vf_codecview.c
@@ -50,7 +50,6 @@ typedef struct CodecViewContext {
unsigned frame_type;
unsigned mv_type;
int hsub, vsub;
- int qp;
} CodecViewContext;
#define OFFSET(x) offsetof(CodecViewContext, x)
@@ -62,7 +61,6 @@ static const AVOption codecview_options[] = {
CONST("pf", "forward predicted MVs of P-frames", MV_P_FOR, "mv"),
CONST("bf", "forward predicted MVs of B-frames", MV_B_FOR, "mv"),
CONST("bb", "backward predicted MVs of B-frames", MV_B_BACK, "mv"),
- { "qp", NULL, OFFSET(qp), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, .flags = FLAGS },
{ "mv_type", "set motion vectors type", OFFSET(mv_type), AV_OPT_TYPE_FLAGS, {.i64=0}, 0, INT_MAX, FLAGS, "mv_type" },
{ "mvt", "set motion vectors type", OFFSET(mv_type), AV_OPT_TYPE_FLAGS, {.i64=0}, 0, INT_MAX, FLAGS, "mv_type" },
CONST("fp", "forward predicted MVs", MV_TYPE_FOR, "mv_type"),
@@ -218,30 +216,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
CodecViewContext *s = ctx->priv;
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);
-
- if (qp_table) {
- int x, y;
- const int w = AV_CEIL_RSHIFT(frame->width, s->hsub);
- const int h = AV_CEIL_RSHIFT(frame->height, s->vsub);
- uint8_t *pu = frame->data[1];
- uint8_t *pv = frame->data[2];
- const int lzu = frame->linesize[1];
- const int lzv = frame->linesize[2];
-
- for (y = 0; y < h; y++) {
- for (x = 0; x < w; x++) {
- const int qp = ff_norm_qscale(qp_table[(y >> 3) * qstride + (x >> 3)], qp_type) * 128/31;
- pu[x] = pv[x] = qp;
- }
- pu += lzu;
- pv += lzv;
- }
- }
- }
-
if (s->mv || s->mv_type) {
AVFrameSideData *sd = av_frame_get_side_data(frame, AV_FRAME_DATA_MOTION_VECTORS);
if (sd) {
--
2.24.1
More information about the ffmpeg-devel
mailing list