summaryrefslogtreecommitdiffstats
path: root/vidix/nvidia_vid.c
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-01 11:06:06 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-01 11:06:06 +0000
commit257a77dc3d0e793d4051521391b3dc7bef59d522 (patch)
tree5e8a8b96062ea25c1116e0801a0b7cafd1bbc452 /vidix/nvidia_vid.c
parentcdcae64dc01b9e30d7a2ea3afb14df955a9d9a94 (diff)
downloadmpv-257a77dc3d0e793d4051521391b3dc7bef59d522.tar.bz2
mpv-257a77dc3d0e793d4051521391b3dc7bef59d522.tar.xz
switch to new internal vidix API, no more dlopen/dlsym, libvidix is now a fully static library with all drivers built-in
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22875 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix/nvidia_vid.c')
-rw-r--r--vidix/nvidia_vid.c44
1 files changed, 31 insertions, 13 deletions
diff --git a/vidix/nvidia_vid.c b/vidix/nvidia_vid.c
index f76a5f09b1..faf5b9a4ec 100644
--- a/vidix/nvidia_vid.c
+++ b/vidix/nvidia_vid.c
@@ -19,6 +19,7 @@
#include "vidix.h"
+#include "vidixlib.h"
#include "fourcc.h"
#include "../libdha/libdha.h"
#include "../libdha/pci_ids.h"
@@ -52,7 +53,7 @@ static vidix_capability_t nvidia_cap = {
};
-unsigned int vixGetVersion(void){
+static unsigned int nv_get_version(void){
return(VIDIX_VERSION);
}
@@ -164,7 +165,7 @@ static int find_chip(unsigned chip_id){
return -1;
}
-int vixProbe(int verbose, int force){
+static int nv_probe(int verbose, int force){
pciinfo_t lst[MAX_PCI_DEVICES];
unsigned i,num_pci;
int err;
@@ -703,7 +704,7 @@ static rivatv_info* info;
-int vixInit(void){
+static int nv_init(void){
int mtrr;
info = calloc(1,sizeof(rivatv_info));
info->control_base = map_phys_mem(pci_info.base0, 0x00C00000 + 0x00008000);
@@ -793,13 +794,13 @@ int vixInit(void){
return 0;
}
-void vixDestroy(void){
+static void nv_destroy(void){
unmap_phys_mem(info->control_base ,0x00C00000 + 0x00008000);
unmap_phys_mem(info->video_base, info->chip.fbsize);
free(info);
}
-int vixGetCapability(vidix_capability_t *to){
+static int nv_get_caps(vidix_capability_t *to){
memcpy(to, &nvidia_cap, sizeof(vidix_capability_t));
return 0;
}
@@ -812,7 +813,7 @@ inline static int is_supported_fourcc(uint32_t fourcc)
return 0;
}
-int vixQueryFourcc(vidix_fourcc_t *to){
+static int nv_query_fourcc(vidix_fourcc_t *to){
if(is_supported_fourcc(to->fourcc)){
to->depth = VID_DEPTH_1BPP | VID_DEPTH_2BPP |
VID_DEPTH_4BPP | VID_DEPTH_8BPP |
@@ -826,7 +827,7 @@ int vixQueryFourcc(vidix_fourcc_t *to){
return ENOSYS;
}
-int vixConfigPlayback(vidix_playback_t *vinfo){
+static int nv_config_playback(vidix_playback_t *vinfo){
uint32_t i;
printf("called %s\n", __FUNCTION__);
if (! is_supported_fourcc(vinfo->fourcc))
@@ -872,17 +873,17 @@ int vixConfigPlayback(vidix_playback_t *vinfo){
return 0;
}
-int vixPlaybackOn(void){
+static int nv_playback_on(void){
rivatv_overlay_start(info,info->cur_frame);
return 0;
}
-int vixPlaybackOff(void){
+static int nv_playback_off(void){
rivatv_overlay_stop(info);
return 0;
}
-int vixSetGrKeys( const vidix_grkey_t * grkey){
+static int nv_set_gkeys( const vidix_grkey_t * grkey){
if (grkey->ckey.op == CKEY_FALSE)
{
info->use_colorkey = 0;
@@ -897,7 +898,7 @@ int vixSetGrKeys( const vidix_grkey_t * grkey){
return 0;
}
-int vixPlaybackFrameSelect(unsigned int frame){
+static int nv_frame_sel(unsigned int frame){
// printf("selecting buffer %d\n", frame);
rivatv_overlay_start(info, frame);
if (info->num_frames >= 1)
@@ -905,7 +906,7 @@ int vixPlaybackFrameSelect(unsigned int frame){
return 0;
}
-int vixPlaybackSetEq(const vidix_video_eq_t *eq_parm) {
+static int nv_set_eq(const vidix_video_eq_t *eq_parm) {
double angle;
int16_t chrom_cos, chrom_sin;
if (eq_parm->cap & VEQ_CAP_BRIGHTNESS)
@@ -928,8 +929,25 @@ int vixPlaybackSetEq(const vidix_video_eq_t *eq_parm) {
return 0;
}
-int vixPlaybackGetEq(vidix_video_eq_t *eq_parm) {
+static int nv_get_eq(vidix_video_eq_t *eq_parm) {
memcpy(eq_parm, &eq.vals, sizeof(vidix_video_eq_t));
return 0;
}
+VDXDriver nvidia_drv = {
+ "nvidia",
+ NULL,
+ .probe = nv_probe,
+ .get_version = nv_get_version,
+ .get_caps = nv_get_caps,
+ .query_fourcc = nv_query_fourcc,
+ .init = nv_init,
+ .destroy = nv_destroy,
+ .config_playback = nv_config_playback,
+ .playback_on = nv_playback_on,
+ .playback_off = nv_playback_off,
+ .frame_sel = nv_frame_sel,
+ .get_eq = nv_get_eq,
+ .set_eq = nv_set_eq,
+ .set_gkey = nv_set_gkeys,
+};