From 185e95ee3d4436e03255759495d783a944e6dfbb Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 3 Dec 2014 22:59:12 +0100 Subject: video: remove internal QP passing This was required by vf_pp, which was just removed. vf_dlopen has this stuff in its API. This API is considered stable, so the related fields are not removed from it. But the fields are always 0 now, so there's no point in keeping the example program around. vf_pullup.c did some extremely awkward passthrough of this information, but didn't actually use it. --- TOOLS/vf_dlopen/Makefile | 2 +- TOOLS/vf_dlopen/showqscale.c | 120 ------------------------------------------- 2 files changed, 1 insertion(+), 121 deletions(-) delete mode 100644 TOOLS/vf_dlopen/showqscale.c (limited to 'TOOLS') diff --git a/TOOLS/vf_dlopen/Makefile b/TOOLS/vf_dlopen/Makefile index 8057676d57..c6d03cfd2b 100644 --- a/TOOLS/vf_dlopen/Makefile +++ b/TOOLS/vf_dlopen/Makefile @@ -19,7 +19,7 @@ # 02110-1301 USA # -FILTERS = showqscale telecine tile rectangle framestep ildetect +FILTERS = telecine tile rectangle framestep ildetect COMMON = filterutils.o OBJECTS = $(patsubst %,%.o,$(FILTERS)) $(COMMON) diff --git a/TOOLS/vf_dlopen/showqscale.c b/TOOLS/vf_dlopen/showqscale.c deleted file mode 100644 index 071971eeec..0000000000 --- a/TOOLS/vf_dlopen/showqscale.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (c) 2012 Rudolf Polzer - * - * This file is part of mpv's vf_dlopen examples. - * - * mpv's vf_dlopen examples are free software; you can redistribute them and/or - * modify them under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of the - * License, or (at your option) any later version. - * - * mpv's vf_dlopen examples are distributed in the hope that they will be - * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser - * General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with mpv's vf_dlopen examples; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301 USA - */ - -#include -#include -#include -#include - -#include "vf_dlopen.h" - -/* - * qscale visualizer - * - * usage: --vf=dlopen=/path/to/showqscale.so - * - * uses reddish colors for high QPs, and greenish colors for low QPs - */ - -#define PLANE_Y 0 -#define PLANE_U 1 -#define PLANE_V 2 - -static int qs_put_image(struct vf_dlopen_context *ctx) -{ - unsigned int x, y, p; - - assert(ctx->inpic.planes == ctx->outpic[0].planes); - - for (p = 0; p < ctx->outpic[0].planes; ++p) { - assert(ctx->inpic.planewidth[p] == ctx->outpic[0].planewidth[p]); - assert(ctx->inpic.planeheight[p] == ctx->outpic[0].planeheight[p]); - if ((p == PLANE_U || p == PLANE_V) && ctx->inpic_qscale) - continue; -#if 0 - // copy as is - for (y = 0; y < ctx->outpic[0].planeheight[p]; ++y) - memcpy( - &ctx->outpic[0].plane[p][ctx->outpic[0].planestride[p] * y], - &inpic[ctx->outpic[0].planeofs[p] + ctx->inpic.planestride[p] * y], - ctx->outpic[0].planewidth[p] - ); -#else - // reduce contrast - for (y = 0; y < ctx->outpic[0].planeheight[p]; ++y) - for (x = 0; x < ctx->outpic[0].planewidth[p]; ++x) - ctx->outpic[0].plane[p][ctx->outpic[0].planestride[p] * y + x] = - 0x20 + ((ctx->inpic.plane[p][ctx->inpic.planestride[p] * y + x] * 3) >> 2); -#endif - } - - if (ctx->inpic_qscale) { - int qmin = 255; - int qmax = -255; - - // clear U plane - p = PLANE_U; - for (y = 0; y < ctx->outpic[0].planeheight[p]; ++y) - memset( - &ctx->outpic[0].plane[p][ctx->outpic[0].planestride[p] * y], - 0x80, - ctx->outpic[0].planewidth[p] - ); - - // replace V by the qp (0 = green, 12 = red) - p = PLANE_V; - for (y = 0; y < ctx->outpic[0].planeheight[p]; ++y) - for (x = 0; x < ctx->outpic[0].planewidth[p]; ++x) { - int q = ctx->inpic_qscale[ - (x >> (ctx->inpic_qscaleshift - ctx->inpic.planexshift[p])) + - (y >> (ctx->inpic_qscaleshift - ctx->inpic.planeyshift[p])) * ctx->inpic_qscalestride]; - if (q < qmin) - qmin = q; - if (q > qmax) - qmax = q; - int v = 128 + 21 * (q - 6); // range: 0 = green, 12 = red - if (v < 0) - v = 0; - if (v > 255) - v = 255; - ctx->outpic[0].plane[p][ctx->outpic[0].planestride[p] * y + x] = v; - } - - // printf("qscale range: %d .. %d\n", qmin, qmax); - } - - ctx->outpic[0].pts = ctx->inpic.pts; - return 1; -} - -int vf_dlopen_getcontext(struct vf_dlopen_context *ctx, int argc, const char **argv) -{ - VF_DLOPEN_CHECK_VERSION(ctx); - (void) argc; - (void) argv; - static struct vf_dlopen_formatpair map[] = { - { "yuv420p", "yuv420p" }, - { NULL, NULL } - }; - ctx->format_mapping = map; - ctx->put_image = qs_put_image; - return 1; -} -- cgit v1.2.3