53#define MOD_NAME "[interlaced_3d] "
71 if (strcmp(config,
"help") == 0) {
72 printf(
"3d-interlaced takes no parameters.\n");
142 for(linepos = 0; linepos < linesize; linepos += 16) {
143 asm volatile (
"movdqu (%0), %%xmm0\n"
144 "pavgb (%1), %%xmm0\n"
145 "movdqu %%xmm0, (%2)\n"
146 ::
"r" ((
unsigned long *)(
void *)
148 "r"((
unsigned long *)(
void *) line2),
149 "r"((
unsigned long *)(
void *) out_data));
static void * interlaced_3d_init(const char *config)
static struct video_frame * interlaced_3d_getf(void *state)
static bool interlaced_3d_postprocess(void *state, struct video_frame *in, struct video_frame *out, int req_pitch)
static void interlaced_3d_done(void *state)
static void interlaced_3d_get_out_desc(void *state, struct video_desc *out, int *in_display_mode, int *out_frames)
static bool interlaced_3d_get_property(void *state, int property, void *val, size_t *len)
static bool interlaced_3d_postprocess_reconfigure(void *state, struct video_desc desc)
static const struct vo_postprocess_info vo_pp_interlaced_3d_info
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)
void log_msg(int level, const char *format,...)
#define LOG_LEVEL_ERROR
general errors
@ DISPLAY_PROPERTY_VIDEO_SEPARATE_TILES
framebuffer consists of separate tiles
@ LIBRARY_CLASS_VIDEO_POSTPROCESS
#define REGISTER_MODULE(name, info, lclass, abi)
Registers module to global modules' registry.
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
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