65 if(*
len >=
sizeof(
bool)) {
78 printf(
"-p split:<X>:<Y>\n");
79 printf(
"\tsplit to XxY tiles\n");
83 char *save_ptr = NULL;
86 if (strcmp(config,
"help") == 0) {
93 char *tmp = strdup(config);
96 item = strtok_r(tmp,
":", &save_ptr);
98 item = strtok_r(NULL,
":", &save_ptr);
struct video_frame * vf_alloc(int count)
Allocates blank video frame.
void vf_free(struct video_frame *buf)
Frees video_frame structure.
int vc_get_linesize(unsigned int width, codec_t codec)
@ DISPLAY_PROPERTY_VIDEO_MERGED
monolithic framebuffer
@ LIBRARY_CLASS_VIDEO_POSTPROCESS
#define REGISTER_MODULE(name, info, lclass, abi)
Registers module to global modules' registry.
Struct tile is an area of video_frame.
char * data
Raw tile data. Pointer must be at least 4B aligned.
unsigned int data_len
length of the data
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.
enum interlacing_t interlacing
void vf_split(struct video_frame *out, struct video_frame *src, unsigned int x_count, unsigned int y_count, int preallocate)
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].
static bool split_postprocess(void *state, struct video_frame *in, struct video_frame *out, int req_pitch)
static void * split_init(const char *config)
static struct video_frame * split_getf(void *state)
static bool split_postprocess_reconfigure(void *state, struct video_desc desc)
static bool split_get_property(void *state, int property, void *val, size_t *len)
static const struct vo_postprocess_info vo_pp_split_info
static void split_get_out_desc(void *state, struct video_desc *out, int *in_display_mode, int *out_frames)
static void split_done(void *state)
#define VO_PP_DOES_CHANGE_TILING_MODE
#define VO_PP_ABI_VERSION