#include "libavutil/avassert.h"#include "libavutil/cpu.h"#include "libavutil/common.h"#include "libavutil/pixdesc.h"#include "avfilter.h"#include "formats.h"#include "internal.h"#include "video.h"#include "yadif.h"#include <assert.h>Go to the source code of this file.
Defines | |
| #define | PERM_RWP AV_PERM_WRITE | AV_PERM_PRESERVE | AV_PERM_REUSE |
| #define | CHECK(j) |
| #define | FILTER |
Functions | |
| static void | filter_line_c (uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8_t *next, int w, int prefs, int mrefs, int parity, int mode) |
| static void | filter_line_c_16bit (uint16_t *dst, uint16_t *prev, uint16_t *cur, uint16_t *next, int w, int prefs, int mrefs, int parity, int mode) |
| static void | filter (AVFilterContext *ctx, AVFilterBufferRef *dstpic, int parity, int tff) |
| static int | return_frame (AVFilterContext *ctx, int is_second) |
| static int | start_frame (AVFilterLink *link, AVFilterBufferRef *picref) |
| static int | 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) |
| static int | null_draw_slice (AVFilterLink *link, int y, int h, int slice_dir) |
| static int | config_props (AVFilterLink *link) |
Variables | |
| AVFilter | avfilter_vf_yadif |
| #define CHECK | ( | j | ) |
Value:
{ int score = FFABS(cur[mrefs-1+(j)] - cur[prefs-1-(j)])\
+ FFABS(cur[mrefs +(j)] - cur[prefs -(j)])\
+ FFABS(cur[mrefs+1+(j)] - cur[prefs+1-(j)]);\
if (score < spatial_score) {\
spatial_score= score;\
spatial_pred= (cur[mrefs +(j)] + cur[prefs -(j)])>>1;\
Definition at line 35 of file vf_yadif.c.
| #define FILTER |
Definition at line 43 of file vf_yadif.c.
| #define PERM_RWP AV_PERM_WRITE | AV_PERM_PRESERVE | AV_PERM_REUSE |
| static int config_props | ( | AVFilterLink * | link | ) | [static] |
Definition at line 429 of file vf_yadif.c.
| static int end_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 274 of file vf_yadif.c.
| static void filter | ( | AVFilterContext * | ctx, | |
| AVFilterBufferRef * | dstpic, | |||
| int | parity, | |||
| int | tff | |||
| ) | [static] |
Definition at line 108 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 | prefs, | |||
| int | mrefs, | |||
| int | parity, | |||
| int | mode | |||
| ) | [static] |
Definition at line 83 of file vf_yadif.c.
| static void filter_line_c_16bit | ( | uint16_t * | dst, | |
| uint16_t * | prev, | |||
| uint16_t * | cur, | |||
| uint16_t * | next, | |||
| int | w, | |||
| int | prefs, | |||
| int | mrefs, | |||
| int | parity, | |||
| int | mode | |||
| ) | [static] |
Definition at line 94 of file vf_yadif.c.
| static av_cold int init | ( | AVFilterContext * | ctx, | |
| const char * | args | |||
| ) | [static] |
Definition at line 400 of file vf_yadif.c.
| static int null_draw_slice | ( | AVFilterLink * | link, | |
| int | y, | |||
| int | h, | |||
| int | slice_dir | |||
| ) | [static] |
Definition at line 424 of file vf_yadif.c.
| static int poll_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 330 of file vf_yadif.c.
| static int query_formats | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 368 of file vf_yadif.c.
| static int request_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 293 of file vf_yadif.c.
| static int return_frame | ( | AVFilterContext * | ctx, | |
| int | is_second | |||
| ) | [static] |
Definition at line 170 of file vf_yadif.c.
Referenced by end_frame(), request_frame(), and start_frame().
| static int start_frame | ( | AVFilterLink * | link, | |
| AVFilterBufferRef * | picref | |||
| ) | [static] |
Definition at line 220 of file vf_yadif.c.
| static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 358 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 = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.start_frame = start_frame,
.draw_slice = null_draw_slice,
.end_frame = end_frame,
.min_perms = AV_PERM_PRESERVE, },
{ .name = NULL}},
.outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.poll_frame = poll_frame,
.request_frame = request_frame,
.config_props = config_props, },
{ .name = NULL}},
}
Definition at line 444 of file vf_yadif.c.
1.5.8