#include "libavutil/avstring.h"
#include "libavutil/eval.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
Go to the source code of this file.
Ported from MPlayer libmpcodecs/vf_boxblur.c.
Definition in file vf_boxblur.c.
| #define A 3 |
Definition at line 75 of file vf_boxblur.c.
| #define CHECK_RADIUS_VAL | ( | w_, | |||
| h_, | |||||
| comp | ) |
Value:
if (boxblur->comp##_param.radius < 0 || \ 2*boxblur->comp##_param.radius > FFMIN(w_, h_)) { \ av_log(ctx, AV_LOG_ERROR, \ "Invalid " #comp " radius value %d, must be >= 0 and <= %d\n", \ boxblur->comp##_param.radius, FFMIN(w_, h_)/2); \ return AVERROR(EINVAL); \ }
Referenced by config_input().
| #define EVAL_RADIUS_EXPR | ( | comp | ) |
Value:
expr = boxblur->comp##_radius_expr; \
ret = av_expr_parse_and_eval(&res, expr, var_names, var_values, \
NULL, NULL, NULL, NULL, NULL, 0, ctx); \
boxblur->comp##_param.radius = res; \
if (ret < 0) { \
av_log(NULL, AV_LOG_ERROR, \
"Error when evaluating " #comp " radius expression '%s'\n", expr); \
return ret; \
}
Referenced by config_input().
| #define U 1 |
Definition at line 73 of file vf_boxblur.c.
Referenced by adpcm_encode_init(), altivec_uyvy_rgb32(), aura_decode_frame(), av_adler32_update(), av_audio_convert(), av_normalize1_sf(), av_reduce(), avi_read_header(), avpriv_dirac_parse_sequence_header(), bfin_prepare_coefficients(), check_intra_pred_mode(), check_mv(), clipf_c_one(), config_input(), config_props(), decode_exponents(), decode_frame(), decode_header(), decode_hrd_parameters(), decode_main_header(), decode_mb_i(), decode_residual(), decode_residual_inter(), decode_scalefactors(), decode_slice_header(), decode_spectrum_and_dequant(), decode_vui_parameters(), draw_slice(), dv_init_enc_block(), ff_adts_decode_extradata(), ff_asf_get_packet(), ff_get_cpu_flags_x86(), ff_h263_decode_frame(), ff_h264_decode_seq_parameter_set(), ff_imdct_half_3dn2(), ff_interleave_add_packet(), ff_ivi_decode_blocks(), ff_yuv2packedX_altivec(), filter(), flt16_even(), flt16_round(), flt16_trunc(), init(), intra_predict(), parse_source_parameters(), pred_spatial_direct_motion(), pRNG(), put_bits(), put_float(), read_quant_tables(), rgb16_32ToUV_half_c_template(), rgb24toyv12_c(), rv30_decode_intra_types(), rv30_decode_mb_info(), rv34_mc(), rv34_output_macroblock(), sox_read_header(), svq3_decode_block(), svq3_decode_mb(), svq3_decode_slice_header(), tm2_decode_blocks(), tm2_hi_res_block(), tm2_low_res_block(), tm2_med_res_block(), tm2_motion_block(), tm2_null_res_block(), tm2_still_block(), tm2_update_block(), unpack_vlcs(), vector_clipf_c_opposite_sign(), VMUL4S(), wv_get_value(), xan_decode_chroma(), yuv2422_1_c_template(), yuv2422_2_c_template(), yuv2422_X_c_template(), yuv2rgb48_1_c_template(), yuv2rgb48_2_c_template(), yuv2rgb48_X_c_template(), yuv2rgb_1_c_template(), yuv2rgb_2_c_template(), yuv2rgb_full_X_c_template(), and yuv2rgb_X_c_template().
| #define V 2 |
Definition at line 74 of file vf_boxblur.c.
| #define Y 0 |
Definition at line 72 of file vf_boxblur.c.
Referenced by altivec_uyvy_rgb32(), aura_decode_frame(), config_input(), config_props(), decode_frame(), deNoise(), deNoiseSpacial(), deNoiseTemporal(), draw_slice(), init(), main(), rgb24toyv12_c(), rv30_loop_filter(), rv34_mc(), rv34_output_macroblock(), rv40_loop_filter(), tm2_decode_blocks(), tm2_hi_res_block(), tm2_low_res_block(), tm2_med_res_block(), tm2_motion_block(), tm2_null_res_block(), tm2_still_block(), tm2_update_block(), ulti_decode_frame(), vc1_pred_b_mv(), vc1_pred_mv(), and yuv2rgb_full_X_c_template().
| enum var_name |
Definition at line 43 of file vf_boxblur.c.
| static void blur | ( | uint8_t * | dst, | |
| int | dst_step, | |||
| const uint8_t * | src, | |||
| int | src_step, | |||
| int | len, | |||
| int | radius | |||
| ) | [inline, static] |
Definition at line 208 of file vf_boxblur.c.
| static void blur_power | ( | uint8_t * | dst, | |
| int | dst_step, | |||
| const uint8_t * | src, | |||
| int | src_step, | |||
| int | len, | |||
| int | radius, | |||
| int | power, | |||
| uint8_t * | temp[2] | |||
| ) | [inline, static] |
| static int config_input | ( | AVFilterLink * | inlink | ) | [static] |
Definition at line 136 of file vf_boxblur.c.
| static void end_frame | ( | AVFilterLink * | inlink | ) | [static] |
Definition at line 303 of file vf_boxblur.c.
| static void hblur | ( | uint8_t * | dst, | |
| int | dst_linesize, | |||
| const uint8_t * | src, | |||
| int | src_linesize, | |||
| int | w, | |||
| int | h, | |||
| int | radius, | |||
| int | power, | |||
| uint8_t * | temp[2] | |||
| ) | [static] |
| static av_cold int init | ( | AVFilterContext * | ctx, | |
| const char * | args, | |||
| void * | opaque | |||
| ) | [static] |
Definition at line 77 of file vf_boxblur.c.
| static void null_draw_slice | ( | AVFilterLink * | inlink, | |
| int | y, | |||
| int | h, | |||
| int | slice_dir | |||
| ) | [static] |
Definition at line 301 of file vf_boxblur.c.
| static int query_formats | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 121 of file vf_boxblur.c.
| static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 113 of file vf_boxblur.c.
| static void vblur | ( | uint8_t * | dst, | |
| int | dst_linesize, | |||
| const uint8_t * | src, | |||
| int | src_linesize, | |||
| int | w, | |||
| int | h, | |||
| int | radius, | |||
| int | power, | |||
| uint8_t * | temp[2] | |||
| ) | [static] |
Initial value:
{
.name = "boxblur",
.description = NULL_IF_CONFIG_SMALL("Blur the input."),
.priv_size = sizeof(BoxBlurContext),
.init = init,
.uninit = uninit,
.query_formats = query_formats,
.inputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.config_props = config_input,
.draw_slice = null_draw_slice,
.end_frame = end_frame,
.min_perms = AV_PERM_READ },
{ .name = NULL}},
.outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, },
{ .name = NULL}},
}
Definition at line 331 of file vf_boxblur.c.
const char* const var_names[] [static] |
Initial value:
{
"w",
"h",
"cw",
"ch",
"hsub",
"vsub",
NULL
}
Definition at line 33 of file vf_boxblur.c.
1.5.8