66 printf(
"-p interlace\n");
70 if (strcmp(config,
"help") == 0) {
116 if((s->
last + 1) % 2 == 0) {
139 for (
unsigned int i = 0; i < out->
tiles[0].
height; ++i) {
144 + i * linesize, linesize);
void vf_free(struct video_frame *buf)
Frees video_frame structure.
int vc_get_linesize(unsigned int width, codec_t codec)
struct video_frame * vf_alloc_desc_data(struct video_desc desc)
static const struct vo_postprocess_info vo_pp_interlace_info
static void interlace_done(void *state)
static void interlace_get_out_desc(void *state, struct video_desc *out, int *in_display_mode, int *out_frames)
static bool interlace_reconfigure(void *state, struct video_desc desc)
static struct video_frame * interlace_getf(void *state)
static bool interlace_postprocess(void *state, struct video_frame *in, struct video_frame *out, int req_pitch)
static void * interlace_init(const char *config)
static bool interlace_get_property(void *state, int property, void *val, size_t *len)
@ LIBRARY_CLASS_VIDEO_POSTPROCESS
#define REGISTER_MODULE(name, info, lclass, abi)
Registers module to global modules' registry.
struct video_frame * even
Struct tile is an area of video_frame.
char * data
Raw tile data. Pointer must be at least 4B aligned.
enum interlacing_t interlacing
unsigned int width
width of every tile (!)
unsigned int height
height of every tile (!)
Struct video_frame represents a video frame and contains video description.
struct tile tiles[FLEXIBLE_ARRAY_MEMBER]
@ INTERLACED_MERGED
Columngs of both fields are interlaced together.
This is an umbrella header for video functions.
struct tile * vf_get_tile(struct video_frame *buf, int pos)
Returns pointer to n-th tile from video frame Equivalent to &video_frame::tiles[pos].
#define VO_PP_ABI_VERSION