xine-lib 1.2.11
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

◆ 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

◆ 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)

◆ xvmc_context_reader_unlock()

void xvmc_context_reader_unlock ( context_lock_t c)

◆ xvmc_vld_frame()

void xvmc_vld_frame ( struct vo_frame_s this_gen)

Referenced by xxmc_frame_updates().

◆ xvmc_vld_slice()

void xvmc_vld_slice ( vo_frame_t this_gen)

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] 
)

◆ xxmc_xvmc_surface_valid()

int xxmc_xvmc_surface_valid ( xxmc_driver_t this,
XvMCSurface *  surf 
)