xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Typedefs | Functions
xxmc.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <math.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#include <X11/extensions/XShm.h>
#include <X11/extensions/Xv.h>
#include <X11/extensions/Xvlib.h>
#include <X11/extensions/XvMClib.h>
#include "xine.h"
#include <xine/video_out.h>
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/vo_scale.h>
#include "x11osd.h"
#include "accel_xvmc.h"

Go to the source code of this file.

Data Structures

struct  xvmc_macroblocks_t
 
struct  xxmc_property_t
 
struct  xxmc_frame_t
 
struct  xvmc_capabilities_t
 
struct  xvmc_surface_handler_s
 
struct  context_lock_s
 
struct  xxmc_driver_s
 
struct  xxmc_class_t
 

Macros

#define XVMC_THREAD_SAFE
 
#define LOG_MODULE   "video_out_xxmc"
 
#define LOG_VERBOSE
 
#define FOURCC_IA44   0x34344149
 
#define FOURCC_AI44   0x34344941
 
#define XVMC_MAX_SURFACES   16
 
#define XVMC_MAX_SUBPICTURES   4
 
#define LOCK_AND_SURFACE_VALID(driver, surface)
 
#define XVMCLOCKDISPLAY(display)   XLockDisplay(display)
 
#define XVMCUNLOCKDISPLAY(display)   XUnlockDisplay(display)
 

Typedefs

typedef struct xxmc_driver_s xxmc_driver_t
 
typedef struct xvmc_surface_handler_s xvmc_surface_handler_t
 
typedef struct context_lock_s context_lock_t
 

Functions

void xvmc_context_reader_unlock (context_lock_t *c)
 
void xvmc_context_reader_lock (context_lock_t *c)
 
int xxmc_xvmc_surface_valid (xxmc_driver_t *this, XvMCSurface *surf)
 
void xvmc_vld_slice (vo_frame_t *this_gen)
 
void xvmc_vld_frame (struct vo_frame_s *this_gen)
 
void xxmc_xvmc_proc_macro_block (int x, int y, int mb_type, int motion_type, int(*mv_field_sel)[2], int *dmvector, int cbp, int dct_type, vo_frame_t *current_frame, vo_frame_t *forward_ref_frame, vo_frame_t *backward_ref_frame, int picture_structure, int second_field, int(*f_mot_pmv)[2], int(*b_mot_pmv)[2])
 

Macro Definition Documentation

◆ FOURCC_AI44

#define FOURCC_AI44   0x34344941

Referenced by checkXvMCCap(), and create_ximage().

◆ FOURCC_IA44

#define FOURCC_IA44   0x34344149

◆ LOCK_AND_SURFACE_VALID

#define LOCK_AND_SURFACE_VALID ( driver,
surface )
Value:
xvmc_context_reader_lock( &(driver)->xvmc_lock ); \
if (!xxmc_xvmc_surface_valid((driver),(surface))) { \
xvmc_context_reader_unlock( &(driver)->xvmc_lock ); \
return; \
}
int xxmc_xvmc_surface_valid(xxmc_driver_t *this, XvMCSurface *surf)
Definition video_out_xxmc.c:269
void xvmc_context_reader_lock(context_lock_t *c)
Definition video_out_xxmc.c:93

Referenced by xxmc_display_frame(), xxmc_overlay_blend(), and xxmc_overlay_end().

◆ LOG_MODULE

#define LOG_MODULE   "video_out_xxmc"

◆ LOG_VERBOSE

#define LOG_VERBOSE

◆ XVMC_MAX_SUBPICTURES

#define XVMC_MAX_SUBPICTURES   4

◆ XVMC_MAX_SURFACES

#define XVMC_MAX_SURFACES   16

◆ XVMC_THREAD_SAFE

#define XVMC_THREAD_SAFE

◆ XVMCLOCKDISPLAY

#define XVMCLOCKDISPLAY ( display)    XLockDisplay(display)

◆ XVMCUNLOCKDISPLAY

#define XVMCUNLOCKDISPLAY ( display)    XUnlockDisplay(display)

Typedef Documentation

◆ context_lock_t

◆ xvmc_surface_handler_t

◆ xxmc_driver_t

typedef struct xxmc_driver_s xxmc_driver_t

Function Documentation

◆ xvmc_context_reader_lock()

void xvmc_context_reader_lock ( context_lock_t * c)
extern

◆ xvmc_context_reader_unlock()

void xvmc_context_reader_unlock ( context_lock_t * c)
extern

◆ xvmc_vld_frame()

void xvmc_vld_frame ( struct vo_frame_s * this_gen)
extern

Referenced by xxmc_frame_updates().

◆ xvmc_vld_slice()

void xvmc_vld_slice ( vo_frame_t * this_gen)
extern

Referenced by xxmc_frame_updates().

◆ xxmc_xvmc_proc_macro_block()

void xxmc_xvmc_proc_macro_block ( int x,
int y,
int mb_type,
int motion_type,
int(*) mv_field_sel[2],
int * dmvector,
int cbp,
int dct_type,
vo_frame_t * current_frame,
vo_frame_t * forward_ref_frame,
vo_frame_t * backward_ref_frame,
int picture_structure,
int second_field,
int(*) f_mot_pmv[2],
int(*) b_mot_pmv[2] )
extern

◆ xxmc_xvmc_surface_valid()

int xxmc_xvmc_surface_valid ( xxmc_driver_t * this,
XvMCSurface * surf )
extern