• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavfilter/

Lines Matching refs:lut

64     uint8_t lut[4][256];  ///< lookup table for each component
102 return "lut";
113 LutContext *lut = ctx->priv;
116 lut->class = &lut_class;
117 av_opt_set_defaults(lut);
119 lut->var_values[VAR_PHI] = M_PHI;
120 lut->var_values[VAR_PI] = M_PI;
121 lut->var_values[VAR_E ] = M_E;
123 lut->is_rgb = !strcmp(ctx->filter->name, "lutrgb");
124 lut->is_yuv = !strcmp(ctx->filter->name, "lutyuv");
125 if (args && (ret = av_set_options_string(lut, args, "=", ":")) < 0)
133 LutContext *lut = ctx->priv;
137 av_expr_free(lut->comp_expr[i]);
138 lut->comp_expr[i] = NULL;
139 av_freep(&lut->comp_expr_str[i]);
161 LutContext *lut = ctx->priv;
163 enum PixelFormat *pix_fmts = lut->is_rgb ? rgb_pix_fmts :
164 lut->is_yuv ? yuv_pix_fmts : all_pix_fmts;
175 LutContext *lut = opaque;
176 double minval = lut->var_values[VAR_MINVAL];
177 double maxval = lut->var_values[VAR_MAXVAL];
188 LutContext *lut = opaque;
189 double val = lut->var_values[VAR_CLIPVAL];
190 double minval = lut->var_values[VAR_MINVAL];
191 double maxval = lut->var_values[VAR_MAXVAL];
211 LutContext *lut = ctx->priv;
216 lut->hsub = desc->log2_chroma_w;
217 lut->vsub = desc->log2_chroma_h;
219 lut->var_values[VAR_W] = inlink->w;
220 lut->var_values[VAR_H] = inlink->h;
240 lut->is_yuv = lut->is_rgb = 0;
241 if (ff_fmt_is_in(inlink->format, yuv_pix_fmts)) lut->is_yuv = 1;
242 else if (ff_fmt_is_in(inlink->format, rgb_pix_fmts)) lut->is_rgb = 1;
244 if (lut->is_rgb) {
246 case PIX_FMT_ARGB: lut->rgba_map[A] = 0; lut->rgba_map[R] = 1; lut->rgba_map[G] = 2; lut->rgba_map[B] = 3; break;
247 case PIX_FMT_ABGR: lut->rgba_map[A] = 0; lut->rgba_map[B] = 1; lut->rgba_map[G] = 2; lut->rgba_map[R] = 3; break;
249 case PIX_FMT_RGB24: lut->rgba_map[R] = 0; lut->rgba_map[G] = 1; lut->rgba_map[B] = 2; lut->rgba_map[A] = 3; break;
251 case PIX_FMT_BGR24: lut->rgba_map[B] = 0; lut->rgba_map[G] = 1; lut->rgba_map[R] = 2; lut->rgba_map[A] = 3; break;
253 lut->step = av_get_bits_per_pixel(desc) >> 3;
260 ret = av_expr_parse(&lut->comp_expr[comp], lut->comp_expr_str[comp],
265 lut->comp_expr_str[comp], comp);
269 /* compute the lut */
270 lut->var_values[VAR_MAXVAL] = max[comp];
271 lut->var_values[VAR_MINVAL] = min[comp];
274 lut->var_values[VAR_VAL] = val;
275 lut->var_values[VAR_CLIPVAL] = av_clip(val, min[comp], max[comp]);
276 lut->var_values[VAR_NEGVAL] =
277 av_clip(min[comp] + max[comp] - lut->var_values[VAR_VAL],
280 res = av_expr_eval(lut->comp_expr[comp], lut->var_values, lut);
284 lut->comp_expr_str[comp], val, comp);
287 lut->lut[comp][val] = av_clip((int)res, min[comp], max[comp]);
288 av_log(ctx, AV_LOG_DEBUG, "val[%d][%d] = %d\n", comp, val, lut->lut[comp][val]);
298 LutContext *lut = ctx->priv;
305 if (lut->is_rgb) {
314 for (k = 0; k < lut->step; k++)
315 outrow[k] = lut->lut[lut->rgba_map[k]][inrow[k]];
316 outrow += lut->step;
317 inrow += lut->step;
325 int vsub = plane == 1 || plane == 2 ? lut->vsub : 0;
326 int hsub = plane == 1 || plane == 2 ? lut->hsub : 0;
333 outrow[j] = lut->lut[plane][inrow[j]];
365 DEFINE_LUT_FILTER(lut, "Compute and apply a lookup table to the RGB/YUV input video.", init);
378 LutContext *lut = ctx->priv;
382 sscanf(args, "%d", &lut->negate_alpha);
384 av_log(ctx, AV_LOG_DEBUG, "negate_alpha:%d\n", lut->negate_alpha);
387 lut->negate_alpha ? "negval" : "val");