#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(), 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_frame_mp3on4(), decode_init(), decode_thread(), draw_slice(), dv_extract_audio(), dv_inject_audio(), dvvideo_decode_frame(), 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(), file_seek(), 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(), sonic_decode_frame(), sonic_encode_frame(), 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(), XAVS_init(), and yuv4_write_packet().
| 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.
1.5.6