#include "libavutil/cpu.h"
#include "libavutil/common.h"
#include "avfilter.h"
#include "yadif.h"
#include <assert.h>
Go to the source code of this file.
Data Structures | |
struct | YADIFContext |
Defines | |
#define | CHECK(j) |
Functions | |
static void | filter_line_c (uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8_t *next, int w, int refs, int parity, int mode) |
CHECK (1) | |
if (spatial_pred > d+diff) spatial_pred | |
else | if () |
static AVFilterBufferRef * | get_video_buffer (AVFilterLink *link, int perms, int w, int h) |
static void | return_frame (AVFilterContext *ctx, int is_second) |
static void | start_frame (AVFilterLink *link, AVFilterBufferRef *picref) |
static void | end_frame (AVFilterLink *link) |
static int | request_frame (AVFilterLink *link) |
static int | poll_frame (AVFilterLink *link) |
static av_cold void | uninit (AVFilterContext *ctx) |
static int | query_formats (AVFilterContext *ctx) |
static av_cold int | init (AVFilterContext *ctx, const char *args, void *opaque) |
static void | null_draw_slice (AVFilterLink *link, int y, int h, int slice_dir) |
Variables | |
AVFilter | avfilter_vf_yadif |
#define CHECK | ( | j | ) |
Value:
{ int score = FFABS(cur[-refs-1+(j)] - cur[+refs-1-(j)])\ + FFABS(cur[-refs +(j)] - cur[+refs -(j)])\ + FFABS(cur[-refs+1+(j)] - cur[+refs+1-(j)]);\ if (score < spatial_score) {\ spatial_score= score;\ spatial_pred= (cur[-refs +(j)] + cur[+refs -(j)])>>1;\
Referenced by CHECK(), and filter_line_c().
CHECK | ( | 1 | ) |
Definition at line 84 of file vf_yadif.c.
static void end_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 230 of file vf_yadif.c.
static void filter_line_c | ( | uint8_t * | dst, | |
uint8_t * | prev, | |||
uint8_t * | cur, | |||
uint8_t * | next, | |||
int | w, | |||
int | refs, | |||
int | parity, | |||
int | mode | |||
) | [static] |
static AVFilterBufferRef* get_video_buffer | ( | AVFilterLink * | link, | |
int | perms, | |||
int | w, | |||
int | h | |||
) | [static] |
Definition at line 148 of file vf_yadif.c.
else if | ( | ) |
Definition at line 104 of file vf_yadif.c.
if | ( | spatial_pred | , | |
d+ | diff | |||
) |
Referenced by aac_decode_frame_int(), aac_encode_frame(), ape_decode_value(), ape_read_header(), av_ext2dbl(), avcodec_default_reget_buffer(), average_quantized_coeffs(), avs_decode_frame(), binkb_read_bundle(), blend_subrect(), cavs_decode_frame(), cavsvideo_probe(), check_header_mismatch(), cmv_decode_inter(), commit_bitstream_and_slice_buffer(), compute_pkt_fields(), construct_perm_table(), cook_decode_frame(), dca_decode_init(), decode_end(), decode_exp_vlc(), decode_frame(), decode_init(), decode_thread(), draw_slice(), dv_extract_audio(), dv_inject_audio(), dvvideo_init(), ebml_parse_elem(), encode_frame(), ff_mjpeg_decode_sos(), ff_vdpau_mpeg_picture_complete(), ff_vdpau_vc1_decode_picture(), ff_vp56_init(), ff_xvmc_decode_mb(), ff_xvmc_field_start(), FfmpegFindNextSchroParseUnit(), fill_picture_parameters(), flashsv_decode_frame(), g726_init(), get_block_sizes(), h263_probe(), h264_probe(), hyscale_TMPL(), imc_decode_frame(), ipvideo_decode_block_opcode_0x8(), ipvideo_decode_block_opcode_0xA(), ipvideo_decode_frame(), libdirac_encode_init(), main(), matroska_probe(), mlp_parse(), mm_decode_inter(), mmsh_close(), motion_search(), mov_parse_mpeg2_frame(), mpeg1_encode_sequence_header(), mpeg4_encode_mb(), mpeg4video_probe(), mpeg_mux_init(), mpegps_probe(), mpegvideo_probe(), MPV_common_init(), msrle_decode_8_16_24_32(), mxf_interleave_get_packet(), mxf_parse_mpeg2_frame(), nut_probe(), nut_read_seek(), ogg_read_page(), opt_input_file(), pam_encode_frame(), pnm_decode_frame(), pnm_encode_frame(), qdm2_decode(), qdm2_fft_tone_synthesizer(), qtrle_decode_1bpp(), read_header(), read_var_block_data(), rpza_decode_stream(), rtsp_read_packet(), sbr_hf_calc_npatches(), sbr_make_f_master(), shorten_decode_frame(), smc_decode_stream(), store_packet(), svq3_decode_frame(), svq3_mc_dir(), synth_block_fcb_acb(), synth_superframe(), tgv_decode_inter(), tm2_decode_blocks(), transcode(), unpack_superblocks(), unpack_vlcs(), vaapi_mpeg4_start_frame(), vc1_decode_b_mb(), vorbis_parse_setup_hdr_codebooks(), vp8_decode_frame(), wiener_denoise(), wsvqa_read_header(), and XAVS_init().
static av_cold int init | ( | AVFilterContext * | ctx, | |
const char * | args, | |||
void * | opaque | |||
) | [static] |
Definition at line 303 of file vf_yadif.c.
static void null_draw_slice | ( | AVFilterLink * | link, | |
int | y, | |||
int | h, | |||
int | slice_dir | |||
) | [static] |
Definition at line 326 of file vf_yadif.c.
static int poll_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 261 of file vf_yadif.c.
static int query_formats | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 290 of file vf_yadif.c.
static int request_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 241 of file vf_yadif.c.
static void return_frame | ( | AVFilterContext * | ctx, | |
int | is_second | |||
) | [static] |
Definition at line 166 of file vf_yadif.c.
Referenced by end_frame(), request_frame(), and start_frame().
static void start_frame | ( | AVFilterLink * | link, | |
AVFilterBufferRef * | picref | |||
) | [static] |
Definition at line 202 of file vf_yadif.c.
static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 281 of file vf_yadif.c.
Initial value:
{ .name = "yadif", .description = NULL_IF_CONFIG_SMALL("Deinterlace the input image"), .priv_size = sizeof(YADIFContext), .init = init, .uninit = uninit, .query_formats = query_formats, .inputs = (AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_VIDEO, .start_frame = start_frame, .get_video_buffer = get_video_buffer, .draw_slice = null_draw_slice, .end_frame = end_frame, }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_VIDEO, .poll_frame = poll_frame, .request_frame = request_frame, }, { .name = NULL}}, }
Definition at line 328 of file vf_yadif.c.