[FFmpeg-devel] [PATCH] postproc: add basic deblock filter visualization support
Clément Bœsch
u at pkh.me
Fri Sep 19 16:42:28 CEST 2014
On Fri, Sep 19, 2014 at 03:44:31PM +0200, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
> libpostproc/postprocess.c | 36 +++++++++++++++++++++++++++++++++++-
> libpostproc/postprocess_internal.h | 1 +
> libpostproc/postprocess_template.c | 14 ++++++++++----
> 3 files changed, 46 insertions(+), 5 deletions(-)
>
> diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c
> index b6da294..de95745 100644
> --- a/libpostproc/postprocess.c
> +++ b/libpostproc/postprocess.c
> @@ -151,6 +151,7 @@ static const struct PPFilter filters[]=
> {"tn", "tmpnoise", 1, 7, 8, TEMP_NOISE_FILTER},
> {"fq", "forcequant", 1, 0, 0, FORCE_QUANT},
> {"be", "bitexact", 1, 0, 0, BITEXACT},
> + {"vi", "visualize", 1, 0, 0, VISUALIZE},
> {NULL, NULL,0,0,0,0} //End Marker
> };
>
> @@ -430,7 +431,7 @@ static inline void horizX1Filter(uint8_t *src, int stride, int QP)
> * accurate deblock filter
> */
> static av_always_inline void do_a_deblock_C(uint8_t *src, int step,
> - int stride, const PPContext *c)
> + int stride, const PPContext *c, int mode)
> {
> int y;
> const int QP= c->QP;
> @@ -485,6 +486,32 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step,
> sums[8] = sums[7] - src[3*step] + last;
> sums[9] = sums[8] - src[4*step] + last;
>
> + if (mode & VISUALIZE) {
> +// src[0*step] = av_clip_uint8(src[0*step]+32);
> +// src[1*step] = av_clip_uint8(src[1*step]-32);
> +// src[2*step] = av_clip_uint8(src[2*step]+32);
> +// src[3*step] = av_clip_uint8(src[3*step]-32);
> +// src[4*step] = av_clip_uint8(src[4*step]+32);
> +// src[5*step] = av_clip_uint8(src[5*step]-32);
> +// src[6*step] = av_clip_uint8(src[6*step]+32);
> +// src[7*step] = av_clip_uint8(src[7*step]-32);
> + src[0*step] =
> + src[1*step] =
> + src[2*step] =
> + src[3*step] =
> + src[4*step] =
> + src[5*step] =
> + src[6*step] =
> + src[7*step] = 128;
> +// src[0*step]= av_clip_uint8((-sums[0] - sums[2] + 22*src[0*step])>>3);
> +// src[1*step]= av_clip_uint8((-sums[1] - sums[3] + 22*src[1*step])>>3);
> +// src[2*step]= av_clip_uint8((-sums[2] - sums[4] + 22*src[2*step])>>3);
> +// src[3*step]= av_clip_uint8((-sums[3] - sums[5] + 22*src[3*step])>>3);
> +// src[4*step]= av_clip_uint8((-sums[4] - sums[6] + 22*src[4*step])>>3);
> +// src[5*step]= av_clip_uint8((-sums[5] - sums[7] + 22*src[5*step])>>3);
> +// src[6*step]= av_clip_uint8((-sums[6] - sums[8] + 22*src[6*step])>>3);
> +// src[7*step]= av_clip_uint8((-sums[7] - sums[9] + 22*src[7*step])>>3);
> + }
If you want to add dead code, please at least explain above why it should
be kept.
[...]
No opinion on the rest of the patchset; don't forget to bump micro if you
apply.
--
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140919/a8b14444/attachment.asc>
More information about the ffmpeg-devel
mailing list