summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLimin Wang <lance.lmwang@gmail.com>2019-10-30 21:20:55 +0800
committerMichael Niedermayer <michael@niedermayer.cc>2019-11-01 14:43:16 +0100
commit99fc5059fbee8a0fd2957f958b34fdec1e9ca361 (patch)
tree10a97d887fa470cc01ec65e81e38b4d5d6d014a9
parenta5e24be52ab0ebea908a566a1b0dbf2584f5631a (diff)
downloadffmpeg-streaming-99fc5059fbee8a0fd2957f958b34fdec1e9ca361.zip
ffmpeg-streaming-99fc5059fbee8a0fd2957f958b34fdec1e9ca361.tar.gz
avfilter/vf_lut3d: simplify code
Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavfilter/vf_lut3d.c54
1 files changed, 6 insertions, 48 deletions
diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index cd0aba1..9e820a1 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -711,34 +711,13 @@ static int query_formats(AVFilterContext *ctx)
static int config_input(AVFilterLink *inlink)
{
- int depth, is16bit = 0, planar = 0;
+ int depth, is16bit, planar;
LUT3DContext *lut3d = inlink->dst->priv;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
depth = desc->comp[0].depth;
-
- switch (inlink->format) {
- case AV_PIX_FMT_RGB48:
- case AV_PIX_FMT_BGR48:
- case AV_PIX_FMT_RGBA64:
- case AV_PIX_FMT_BGRA64:
- is16bit = 1;
- break;
- case AV_PIX_FMT_GBRP9:
- case AV_PIX_FMT_GBRP10:
- case AV_PIX_FMT_GBRP12:
- case AV_PIX_FMT_GBRP14:
- case AV_PIX_FMT_GBRP16:
- case AV_PIX_FMT_GBRAP10:
- case AV_PIX_FMT_GBRAP12:
- case AV_PIX_FMT_GBRAP16:
- is16bit = 1;
- case AV_PIX_FMT_GBRP:
- case AV_PIX_FMT_GBRAP:
- planar = 1;
- break;
- }
-
+ is16bit = desc->comp[0].depth > 8;
+ planar = desc->flags & AV_PIX_FMT_FLAG_PLANAR;
ff_fill_rgba_map(lut3d->rgba_map, inlink->format);
lut3d->step = av_get_padded_bits_per_pixel(desc) >> (3 + is16bit);
@@ -1558,34 +1537,13 @@ DEFINE_INTERP_FUNC_1D(spline, 16)
static int config_input_1d(AVFilterLink *inlink)
{
- int depth, is16bit = 0, planar = 0;
+ int depth, is16bit, planar;
LUT1DContext *lut1d = inlink->dst->priv;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
depth = desc->comp[0].depth;
-
- switch (inlink->format) {
- case AV_PIX_FMT_RGB48:
- case AV_PIX_FMT_BGR48:
- case AV_PIX_FMT_RGBA64:
- case AV_PIX_FMT_BGRA64:
- is16bit = 1;
- break;
- case AV_PIX_FMT_GBRP9:
- case AV_PIX_FMT_GBRP10:
- case AV_PIX_FMT_GBRP12:
- case AV_PIX_FMT_GBRP14:
- case AV_PIX_FMT_GBRP16:
- case AV_PIX_FMT_GBRAP10:
- case AV_PIX_FMT_GBRAP12:
- case AV_PIX_FMT_GBRAP16:
- is16bit = 1;
- case AV_PIX_FMT_GBRP:
- case AV_PIX_FMT_GBRAP:
- planar = 1;
- break;
- }
-
+ is16bit = desc->comp[0].depth > 8;
+ planar = desc->flags & AV_PIX_FMT_FLAG_PLANAR;
ff_fill_rgba_map(lut1d->rgba_map, inlink->format);
lut1d->step = av_get_padded_bits_per_pixel(desc) >> (3 + is16bit);
OpenPOWER on IntegriCloud