diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-09 18:58:25 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-01-09 18:58:25 +0000 |
commit | 1f6944f4cbe7f58038281a2ff0aaa8d521e21a09 (patch) | |
tree | 5f47da09e86f4415c8eee2a9a8df10bad5d8974c /vidix | |
parent | 9e2284fe3ea7ec48f1042e2f3356e59787109b4e (diff) | |
download | mpv-1f6944f4cbe7f58038281a2ff0aaa8d521e21a09.tar.bz2 mpv-1f6944f4cbe7f58038281a2ff0aaa8d521e21a09.tar.xz |
Minor interface changes: color and video keys are moved out from playback configuring
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4071 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix')
-rw-r--r-- | vidix/drivers/radeon_vid.c | 1 | ||||
-rw-r--r-- | vidix/vidix.h | 25 | ||||
-rw-r--r-- | vidix/vidixlib.c | 14 | ||||
-rw-r--r-- | vidix/vidixlib.h | 6 |
4 files changed, 39 insertions, 7 deletions
diff --git a/vidix/drivers/radeon_vid.c b/vidix/drivers/radeon_vid.c index a04040d251..065adbc3c8 100644 --- a/vidix/drivers/radeon_vid.c +++ b/vidix/drivers/radeon_vid.c @@ -672,6 +672,7 @@ int vixInit( void ) /* mem size is bits [28:0], mask off the rest. Range: from 1Mb up to 512 Mb */ radeon_ram_size &= CONFIG_MEMSIZE_MASK; if((radeon_mem_base = map_phys_mem(pci_info.base0,radeon_ram_size))==(void *)-1) return ENOMEM; + memset(&besr,0,sizeof(bes_registers_t)); radeon_vid_make_default(); printf(RADEON_MSG" Video memory = %uMb\n",radeon_ram_size/0x100000); return 0; diff --git a/vidix/vidix.h b/vidix/vidix.h index ac3a51df05..869ec84e84 100644 --- a/vidix/vidix.h +++ b/vidix/vidix.h @@ -137,13 +137,6 @@ typedef struct vidix_playback_s unsigned blend_factor; /* app -> driver: blenfing factor */ vidix_rect_t src; /* app -> driver: original movie size */ vidix_rect_t dest; /* app -> driver: destinition movie size. driver->app dest_pitch */ - vidix_ckey_t ckey; /* app -> driver: color key */ - vidix_vkey_t vkey; /* app -> driver: video key */ -#define KEYS_PUT 0 -#define KEYS_AND 1 -#define KEYS_OR 2 -#define KEYS_XOR 3 - unsigned key_op; /* app -> driver: keys operations */ /* memory model */ unsigned frame_size; /* driver -> app; destinition frame size */ unsigned num_frames; /* app -> driver; after call: driver -> app */ @@ -165,6 +158,24 @@ extern int vixPlaybackOff( void ); /* Returns 0 if ok else errno */ extern int vixPlaybackFrameSelect( unsigned frame_idx ); +typedef struct vidix_grkey_s +{ + vidix_ckey_t ckey; /* app -> driver: color key */ + vidix_vkey_t vkey; /* app -> driver: video key */ +#define KEYS_PUT 0 +#define KEYS_AND 1 +#define KEYS_OR 2 +#define KEYS_XOR 3 + unsigned key_op; /* app -> driver: keys operations */ +}vidix_grkey_t; + + /* Returns 0 if ok else errno */ +extern int vixGetGrKeys( vidix_grkey_t * ); + + /* Returns 0 if ok else errno */ +extern int vixSetGrKeys( const vidix_grkey_t * ); + + typedef struct vidix_video_eq_s { /* end-user app can have presets like: cold-normal-hot picture and so on */ diff --git a/vidix/vidixlib.c b/vidix/vidixlib.c index f869fd09a0..5092921b25 100644 --- a/vidix/vidixlib.c +++ b/vidix/vidixlib.c @@ -43,6 +43,8 @@ typedef struct vdl_stream_s int (*get_eq)( vidix_video_eq_t * ); int (*set_eq)( const vidix_video_eq_t * ); int (*copy_frame)( const vidix_dma_t * ); + int (*get_gkey)( vidix_grkey_t * ); + int (*set_gkey)( const vidix_grkey_t * ); }vdl_stream_t; #define t_vdl(p) (((vdl_stream_t *)p)) @@ -64,6 +66,8 @@ static int vdl_fill_driver(VDL_HANDLE stream) t_vdl(stream)->frame_sel = dlsym(t_vdl(stream)->handle,"vixPlaybackFrameSelect"); t_vdl(stream)->get_eq = dlsym(t_vdl(stream)->handle,"vixPlaybackGetEq"); t_vdl(stream)->set_eq = dlsym(t_vdl(stream)->handle,"vixPlaybackSetEq"); + t_vdl(stream)->get_gkey = dlsym(t_vdl(stream)->handle,"vixGetGrKeys"); + t_vdl(stream)->set_gkey = dlsym(t_vdl(stream)->handle,"vixSetGrKeys"); t_vdl(stream)->copy_frame = dlsym(t_vdl(stream)->handle,"vixPlaybackCopyFrame"); /* check driver viability */ if(!( t_vdl(stream)->get_caps && t_vdl(stream)->query_fourcc && @@ -250,3 +254,13 @@ int vdlPlaybackCopyFrame(VDL_HANDLE handle, const vidix_dma_t * f) { return t_vdl(handle)->copy_frame ? t_vdl(handle)->copy_frame(f) : ENOSYS; } + +int vdlGetGrKeys(VDL_HANDLE handle, vidix_grkey_t * k) +{ + return t_vdl(handle)->get_gkey ? t_vdl(handle)->get_gkey(k) : ENOSYS; +} + +int vdlSetGrKeys(VDL_HANDLE handle, const vidix_grkey_t * k) +{ + return t_vdl(handle)->set_gkey ? t_vdl(handle)->set_gkey(k) : ENOSYS; +} diff --git a/vidix/vidixlib.h b/vidix/vidixlib.h index 4381fe5198..84dc3efd26 100644 --- a/vidix/vidixlib.h +++ b/vidix/vidixlib.h @@ -61,6 +61,12 @@ extern int vdlPlaybackOff(VDL_HANDLE); extern int vdlPlaybackFrameSelect(VDL_HANDLE, unsigned frame_idx ); /* Returns 0 if ok else errno */ +extern int vdlGetGrKeys(VDL_HANDLE, vidix_grkey_t * ); + + /* Returns 0 if ok else errno */ +extern int vdlSetGrKeys(VDL_HANDLE, const vidix_grkey_t * ); + + /* Returns 0 if ok else errno */ extern int vdlPlaybackGetEq(VDL_HANDLE, vidix_video_eq_t * ); /* Returns 0 if ok else errno */ |