#include "libavutil/imgutils.h"
#include "avfilter.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | TInterlaceContext |
Defines | |
#define | FULL_SCALE_YUVJ_FORMATS PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_YUVJ440P |
#define | FIELD_UPPER 0 |
#define | FIELD_LOWER 1 |
#define | FIELD_UPPER_AND_LOWER 2 |
Functions | |
static int | query_formats (AVFilterContext *ctx) |
static av_cold int | init (AVFilterContext *ctx, const char *args, void *opaque) |
static av_cold void | uninit (AVFilterContext *ctx) |
static int | config_out_props (AVFilterLink *outlink) |
static void | copy_picture_field (uint8_t *dst[4], int dst_linesize[4], uint8_t *src[4], int src_linesize[4], enum PixelFormat format, int w, int src_h, int src_field, int interleave, int dst_field) |
Copy picture field from src to dst. | |
static void | start_frame (AVFilterLink *inlink, AVFilterBufferRef *picref) |
static void | end_frame (AVFilterLink *inlink) |
static int | poll_frame (AVFilterLink *outlink) |
static int | request_frame (AVFilterLink *outlink) |
static void | null_draw_slice (AVFilterLink *link, int y, int h, int slice_dir) |
Variables | |
static enum PixelFormat | full_scale_yuvj_pix_fmts [] |
AVFilter | avfilter_vf_tinterlace |
Definition in file vf_tinterlace.c.
#define FIELD_LOWER 1 |
Definition at line 127 of file vf_tinterlace.c.
Referenced by copy_picture_field(), and end_frame().
#define FIELD_UPPER 0 |
#define FIELD_UPPER_AND_LOWER 2 |
Definition at line 128 of file vf_tinterlace.c.
Referenced by copy_picture_field(), and end_frame().
#define FULL_SCALE_YUVJ_FORMATS PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_YUVJ440P |
static int config_out_props | ( | AVFilterLink * | outlink | ) | [static] |
Definition at line 91 of file vf_tinterlace.c.
static void copy_picture_field | ( | uint8_t * | dst[4], | |
int | dst_linesize[4], | |||
uint8_t * | src[4], | |||
int | src_linesize[4], | |||
enum PixelFormat | format, | |||
int | w, | |||
int | src_h, | |||
int | src_field, | |||
int | interleave, | |||
int | dst_field | |||
) | [inline, static] |
Copy picture field from src to dst.
src_field | copy from upper, lower field or both | |
interleave | leave a padding line between each copied field | |
dst_field | copy to upper or lower field, only meaningful when interleave is selected |
Definition at line 139 of file vf_tinterlace.c.
Referenced by end_frame().
static void end_frame | ( | AVFilterLink * | inlink | ) | [static] |
Definition at line 174 of file vf_tinterlace.c.
static av_cold int init | ( | AVFilterContext * | ctx, | |
const char * | args, | |||
void * | opaque | |||
) | [static] |
Definition at line 62 of file vf_tinterlace.c.
static void null_draw_slice | ( | AVFilterLink * | link, | |
int | y, | |||
int | h, | |||
int | slice_dir | |||
) | [static] |
Definition at line 302 of file vf_tinterlace.c.
static int poll_frame | ( | AVFilterLink * | outlink | ) | [static] |
Definition at line 269 of file vf_tinterlace.c.
static int query_formats | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 49 of file vf_tinterlace.c.
static int request_frame | ( | AVFilterLink * | outlink | ) | [static] |
Definition at line 287 of file vf_tinterlace.c.
static void start_frame | ( | AVFilterLink * | inlink, | |
AVFilterBufferRef * | picref | |||
) | [static] |
Definition at line 163 of file vf_tinterlace.c.
static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 81 of file vf_tinterlace.c.
Initial value:
{ .name = "tinterlace", .description = NULL_IF_CONFIG_SMALL("Perform temporal field interlacing."), .priv_size = sizeof(TInterlaceContext), .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, }, { .name = NULL} }, .outputs = (const AVFilterPad[]) { { .name = "default", .type = AVMEDIA_TYPE_VIDEO, .config_props = config_out_props, .poll_frame = poll_frame, .request_frame = request_frame }, { .name = NULL} }, }
Definition at line 304 of file vf_tinterlace.c.
enum PixelFormat full_scale_yuvj_pix_fmts[] [static] |