summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libvo/video_out.h10
-rw-r--r--libvo/video_out_internal.h6
-rw-r--r--libvo/vo_3dfx.c2
-rw-r--r--libvo/vo_aa.c4
-rw-r--r--libvo/vo_dga.c8
-rw-r--r--libvo/vo_directfb.c4
-rw-r--r--libvo/vo_dxr3.c2
-rw-r--r--libvo/vo_fbdev.c4
-rw-r--r--libvo/vo_fsdga.c4
-rw-r--r--libvo/vo_ggi.c4
-rw-r--r--libvo/vo_gl.c2
-rw-r--r--libvo/vo_gl2.c2
-rw-r--r--libvo/vo_md5.c4
-rw-r--r--libvo/vo_mga.c2
-rw-r--r--libvo/vo_mpegpes.c2
-rw-r--r--libvo/vo_null.c2
-rw-r--r--libvo/vo_odivx.c2
-rw-r--r--libvo/vo_pgm.c2
-rw-r--r--libvo/vo_png.c2
-rw-r--r--libvo/vo_sdl.c2
-rw-r--r--libvo/vo_svga.c4
-rw-r--r--libvo/vo_syncfb.c92
-rw-r--r--libvo/vo_tdfxfb.c4
-rw-r--r--libvo/vo_vesa.c2
-rw-r--r--libvo/vo_x11.c2
-rw-r--r--libvo/vo_xmga.c2
-rw-r--r--libvo/vo_xv.c2
-rw-r--r--libvo/vo_xvidix.c4
-rw-r--r--libvo/vo_zr.c4
-rw-r--r--mplayer.c4
-rw-r--r--tvision.c12
31 files changed, 107 insertions, 95 deletions
diff --git a/libvo/video_out.h b/libvo/video_out.h
index dce60223c1..88a99b2c7b 100644
--- a/libvo/video_out.h
+++ b/libvo/video_out.h
@@ -65,6 +65,12 @@ typedef struct vo_vaa_s
int (*set_deint)(const vidix_deinterlace_t *info);
}vo_vaa_t;
+/* Misc info to tuneup vo driver */
+typedef struct vo_tune_info_s
+{
+ int pitch[3]; /* Should be 0 if unknown else power of 2 */
+}vo_tune_info_t;
+
typedef struct vo_functions_s
{
/*
@@ -83,7 +89,9 @@ typedef struct vo_functions_s
* format: fourcc of pixel format
* returns : zero on successful initialization, non-zero on error.
*/
- uint32_t (*init)(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format);
+ uint32_t (*config)(uint32_t width, uint32_t height, uint32_t d_width,
+ uint32_t d_height, uint32_t fullscreen, char *title,
+ uint32_t format,const vo_tune_info_t *);
/*
* Query that given pixel format is supported or not.
diff --git a/libvo/video_out_internal.h b/libvo/video_out_internal.h
index fbf51b478d..3dbf41bf3c 100644
--- a/libvo/video_out_internal.h
+++ b/libvo/video_out_internal.h
@@ -21,7 +21,9 @@
*
*/
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format);
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
+ uint32_t d_height, uint32_t fullscreen, char *title,
+ uint32_t format,const vo_tune_info_t *);
static const vo_info_t* get_info(void);
static uint32_t draw_frame(uint8_t *src[]);
static uint32_t draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y);
@@ -36,7 +38,7 @@ static void query_vaa(vo_vaa_t *);
#define LIBVO_EXTERN(x) vo_functions_t video_out_##x =\
{\
preinit,\
- init,\
+ config,\
query_format,\
get_info,\
draw_frame,\
diff --git a/libvo/vo_3dfx.c b/libvo/vo_3dfx.c
index 541e716f80..aa0ba7da24 100644
--- a/libvo/vo_3dfx.c
+++ b/libvo/vo_3dfx.c
@@ -312,7 +312,7 @@ update_target(void)
}
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
int fd;
char *name = ":0.0";
diff --git a/libvo/vo_aa.c b/libvo/vo_aa.c
index 61c773457f..9106c6301c 100644
--- a/libvo/vo_aa.c
+++ b/libvo/vo_aa.c
@@ -205,9 +205,9 @@ printosdprogbar(){
}
}
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width,
+config(uint32_t width, uint32_t height, uint32_t d_width,
uint32_t d_height, uint32_t fullscreen, char *title,
- uint32_t format) {
+ uint32_t format,const vo_tune_info_t *info) {
/*
* main init
* called by mplayer
diff --git a/libvo/vo_dga.c b/libvo/vo_dga.c
index cec4d0e327..6c522e2db5 100644
--- a/libvo/vo_dga.c
+++ b/libvo/vo_dga.c
@@ -23,8 +23,8 @@
* - works only on x86 architectures
*
* $Log$
- * Revision 1.37 2002/01/26 16:01:26 nick
- * Extensions for video accelerated architecture
+ * Revision 1.38 2002/01/31 09:52:45 nick
+ * new info for tuning
*
* Revision 1.35 2001/12/28 20:52:54 alex
* use XF86VidMode later in init (at line 1031) only if we've got support (if have_vm==1)
@@ -803,9 +803,9 @@ int check_res( int num, int x, int y, int bpp,
//---------------------------------------------------------
-static uint32_t init( uint32_t width, uint32_t height,
+static uint32_t config( uint32_t width, uint32_t height,
uint32_t d_width,uint32_t d_height,
- uint32_t flags,char *title,uint32_t format )
+ uint32_t flags,char *title,uint32_t format,const vo_tune_info_t *info )
{
int x_off, y_off;
diff --git a/libvo/vo_directfb.c b/libvo/vo_directfb.c
index 6e0fe1bf91..3f8ab4b997 100644
--- a/libvo/vo_directfb.c
+++ b/libvo/vo_directfb.c
@@ -326,9 +326,9 @@ static uint32_t preinit(const char *arg)
}
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
uint32_t d_height, uint32_t fullscreen, char *title,
- uint32_t format)
+ uint32_t format,const vo_tune_info_t *info)
{
/*
* (Locals)
diff --git a/libvo/vo_dxr3.c b/libvo/vo_dxr3.c
index d9a338cc40..9799fc477a 100644
--- a/libvo/vo_dxr3.c
+++ b/libvo/vo_dxr3.c
@@ -96,7 +96,7 @@ void write_dxr3(rte_context *context, void *data, size_t size, void *user_data)
}
#endif
-static uint32_t init(uint32_t scr_width, uint32_t scr_height, uint32_t width, uint32_t height, uint32_t fullscreen, char *title, uint32_t format)
+static uint32_t config(uint32_t scr_width, uint32_t scr_height, uint32_t width, uint32_t height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
int tmp1, tmp2;
em8300_register_t reg;
diff --git a/libvo/vo_fbdev.c b/libvo/vo_fbdev.c
index 1e2f4505ac..9296e4c276 100644
--- a/libvo/vo_fbdev.c
+++ b/libvo/vo_fbdev.c
@@ -896,9 +896,9 @@ static void vt_set_textarea(int u, int l)
fflush(vt_fp);
}
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
uint32_t d_height, uint32_t fullscreen, char *title,
- uint32_t format)
+ uint32_t format,const vo_tune_info_t *info)
{
struct fb_cmap *cmap;
int vm = fullscreen & 0x02;
diff --git a/libvo/vo_fsdga.c b/libvo/vo_fsdga.c
index c1ab3ffdfe..199c5aa165 100644
--- a/libvo/vo_fsdga.c
+++ b/libvo/vo_fsdga.c
@@ -307,9 +307,9 @@ uninit(void)
-static uint32_t init( uint32_t width, uint32_t height,
+static uint32_t config( uint32_t width, uint32_t height,
uint32_t d_width,uint32_t d_height,
- uint32_t fullscreen,char *title,uint32_t format )
+ uint32_t fullscreen,char *title,uint32_t format,const vo_tune_info_t *info )
{
int bank, ram;
diff --git a/libvo/vo_ggi.c b/libvo/vo_ggi.c
index 9fc475c476..20692532c1 100644
--- a/libvo/vo_ggi.c
+++ b/libvo/vo_ggi.c
@@ -235,8 +235,8 @@ static ggi_aspect_ret aspect_size(int srcw, int srch, int dstw, int dsth)
return(ret);
}
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
+ uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
vo_depthonscreen = 32;
printf("ggi-init: This driver has got bugs, if you can, fix them.\n");
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index 502e8b8a98..3d2baad7ec 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -96,7 +96,7 @@ static void resize(int x,int y){
* allocate colors and (shared) memory
*/
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
+init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format,const vo_tune_info_t *info)
{
// int screen;
unsigned int fg, bg;
diff --git a/libvo/vo_gl2.c b/libvo/vo_gl2.c
index 2f76022065..1d5587f182 100644
--- a/libvo/vo_gl2.c
+++ b/libvo/vo_gl2.c
@@ -602,7 +602,7 @@ static void draw_alpha_null(int x0,int y0, int w,int h, unsigned char* src, unsi
* allocate colors and (shared) memory
*/
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format,const vo_tune_info_t *info)
{
// int screen;
unsigned int fg, bg;
diff --git a/libvo/vo_md5.c b/libvo/vo_md5.c
index 42346d9043..63bc9547db 100644
--- a/libvo/vo_md5.c
+++ b/libvo/vo_md5.c
@@ -37,10 +37,10 @@ extern char vo_pgm_filename[24];
static FILE * md5_file;
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
md5_file = fopen ("md5", "w");
- return video_out_pgm.init (width, height, d_width,d_height,fullscreen, title, format);
+ return video_out_pgm.config (width, height, d_width,d_height,fullscreen, title, format,info);
}
static const vo_info_t*
diff --git a/libvo/vo_mga.c b/libvo/vo_mga.c
index 8d0fa440ab..758de7ac0a 100644
--- a/libvo/vo_mga.c
+++ b/libvo/vo_mga.c
@@ -55,7 +55,7 @@ static vo_info_t vo_info =
#include "mga_common.c"
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
char *devname=vo_subdevice?vo_subdevice:"/dev/mga_vid";
diff --git a/libvo/vo_mpegpes.c b/libvo/vo_mpegpes.c
index f1e52bee1e..8d2722335d 100644
--- a/libvo/vo_mpegpes.c
+++ b/libvo/vo_mpegpes.c
@@ -85,7 +85,7 @@ static vo_info_t vo_info =
};
static uint32_t
-init(uint32_t s_width, uint32_t s_height, uint32_t width, uint32_t height, uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t s_width, uint32_t s_height, uint32_t width, uint32_t height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
#ifdef HAVE_DVB
//|O_NONBLOCK
diff --git a/libvo/vo_null.c b/libvo/vo_null.c
index ca4fdb1b57..ae07f739c4 100644
--- a/libvo/vo_null.c
+++ b/libvo/vo_null.c
@@ -67,7 +67,7 @@ query_format(uint32_t format)
}
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
image_width = width;
image_height = height;
diff --git a/libvo/vo_odivx.c b/libvo/vo_odivx.c
index 73d8023596..bbd647262e 100644
--- a/libvo/vo_odivx.c
+++ b/libvo/vo_odivx.c
@@ -199,7 +199,7 @@ query_format(uint32_t format)
extern int encode_bitrate;
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
uint32_t frame_size;
ENC_PARAM enc_param;
diff --git a/libvo/vo_pgm.c b/libvo/vo_pgm.c
index 11640a9e2f..2f82d39078 100644
--- a/libvo/vo_pgm.c
+++ b/libvo/vo_pgm.c
@@ -41,7 +41,7 @@ static uint8_t *image=NULL;
char vo_pgm_filename[24];
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
image_height = height;
image_width = width;
diff --git a/libvo/vo_png.c b/libvo/vo_png.c
index eaf127dbf2..078e34817b 100644
--- a/libvo/vo_png.c
+++ b/libvo/vo_png.c
@@ -63,7 +63,7 @@ static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned
}
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
if (fullscreen&0x04 && (width != d_width || height != d_height) &&
((format==IMGFMT_YV12) /*|| (format == IMGFMT_I420) || (format == IMGFMT_IYUV)*/)) {
diff --git a/libvo/vo_sdl.c b/libvo/vo_sdl.c
index d389bbed43..d012f8f331 100644
--- a/libvo/vo_sdl.c
+++ b/libvo/vo_sdl.c
@@ -609,7 +609,7 @@ static void set_fullmode (int mode) {
**/
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format,const vo_tune_info_t *info)
//static int sdl_setup (int width, int height)
{
struct sdl_priv_s *priv = &sdl_priv;
diff --git a/libvo/vo_svga.c b/libvo/vo_svga.c
index ec70d1481a..8f2857594e 100644
--- a/libvo/vo_svga.c
+++ b/libvo/vo_svga.c
@@ -121,9 +121,9 @@ static int checksupportedmodes() {
return(0);
}
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
uint32_t d_height, uint32_t fullscreen, char *title,
- uint32_t format) {
+ uint32_t format,const vo_tune_info_t *info) {
uint32_t req_w = (d_width > 0 ? d_width : width);
uint32_t req_h = (d_height > 0 ? d_height : height);
uint16_t vid_mode = 0;
diff --git a/libvo/vo_syncfb.c b/libvo/vo_syncfb.c
index ffb8c066e7..2f02d709db 100644
--- a/libvo/vo_syncfb.c
+++ b/libvo/vo_syncfb.c
@@ -60,7 +60,7 @@ static int vo_conf_deinterlace = 0;
static int vo_conf_cinemode = 0;
-static syncfb_config_t config;
+static syncfb_config_t _config;
static syncfb_capability_t sfb_caps;
static syncfb_buffer_info_t bufinfo;
@@ -90,26 +90,26 @@ write_frame_YUV422(uint_8 *y,uint_8 *cr, uint_8 *cb)
uint_32 bespitch,h,w;
- bespitch = config.src_pitch;
+ bespitch = _config.src_pitch;
dest32 = (uint_32 *)vid_data;
- for(h=0; h < config.src_height/2; h++)
+ for(h=0; h < _config.src_height/2; h++)
{
cbp = cb;
crp = cr;
- for(w=0; w < config.src_width/2; w++)
+ for(w=0; w < _config.src_width/2; w++)
{
*dest32++ = (*y) + ((*cr)<<8) + ((*(y+1))<<16) + ((*cb)<<24);
y++; y++; cb++; cr++;
}
- dest32 += (bespitch - config.src_width) / 2;
+ dest32 += (bespitch - _config.src_width) / 2;
- for(w=0; w < config.src_width/2; w++)
+ for(w=0; w < _config.src_width/2; w++)
{
*dest32++ = (*y) + ((*crp)<<8) + ((*(y+1))<<16) + ((*cbp)<<24);
y++; y++; cbp++; crp++;
}
- dest32 += (bespitch - config.src_width) / 2;
+ dest32 += (bespitch - _config.src_width) / 2;
}
}
@@ -120,21 +120,21 @@ write_frame_YUV420P2(uint_8 *y,uint_8 *cr, uint_8 *cb)
uint_8 *dest, *tmp;
uint_32 bespitch,h,w;
- bespitch = config.src_pitch;
+ bespitch = _config.src_pitch;
dest = frame_mem + bufinfo.offset;
- for(h=0; h < config.src_height; h++)
+ for(h=0; h < _config.src_height; h++)
{
- memcpy(dest, y, config.src_width);
- y += config.src_width;
+ memcpy(dest, y, _config.src_width);
+ y += _config.src_width;
dest += bespitch;
}
dest = frame_mem + bufinfo.offset_p2;
- for(h=0; h < config.src_height/2; h++)
+ for(h=0; h < _config.src_height/2; h++)
{
tmp = dest;
- for(w=0; w < config.src_width/2; w++)
+ for(w=0; w < _config.src_width/2; w++)
{
*tmp++ = *cr++;
*tmp++ = *cb++;
@@ -154,13 +154,13 @@ write_slice_YUV420P2(uint_8 *y,uint_8 *cr, uint_8 *cb,uint_32 slice_num)
uint_8 *dest, *tmp;
uint_32 bespitch,h,w;
- bespitch = config.src_pitch;
+ bespitch = _config.src_pitch;
dest = frame_mem + bufinfo.offset + (bespitch * 16 * slice_num);
for(h=0; h < 16; h++)
{
- memcpy(dest, y, config.src_width);
- y += config.src_width;
+ memcpy(dest, y, _config.src_width);
+ y += _config.src_width;
dest += bespitch;
}
@@ -168,7 +168,7 @@ write_slice_YUV420P2(uint_8 *y,uint_8 *cr, uint_8 *cb,uint_32 slice_num)
for(h=0; h < 8; h++)
{
tmp = dest;
- for(w=0; w < config.src_width/2; w++)
+ for(w=0; w < _config.src_width/2; w++)
{
*tmp++ = *cr++;
*tmp++ = *cb++;
@@ -183,7 +183,7 @@ write_slice_YUV420P3(uint_8 *y,uint_8 *cr, uint_8 *cb,int stride[],uint_32 ypos,
uint_8 *dest;
uint_32 bespitch,h;
- bespitch = config.src_pitch;
+ bespitch = _config.src_pitch;
dest = frame_mem + bufinfo.offset + (bespitch * ypos);
for(h=0; h < ysize; h++)
@@ -224,26 +224,26 @@ write_slice_YUV422(uint_8 *y,uint_8 *cr, uint_8 *cb,uint_32 slice_num)
uint_32 bespitch,h,w;
- bespitch = config.src_pitch;
+ bespitch = _config.src_pitch;
dest32 = (uint_32 *)(vid_data + (bespitch * 16 * slice_num) * 2);
for(h=0; h < 8; h++)
{
cbp = cb;
crp = cr;
- for(w=0; w < config.src_width/2; w++)
+ for(w=0; w < _config.src_width/2; w++)
{
*dest32++ = (*y) + ((*cr)<<8) + ((*(y+1))<<16) + ((*cb)<<24);
y++; y++; cb++; cr++;
}
- dest32 += (bespitch - config.src_width) / 2;
+ dest32 += (bespitch - _config.src_width) / 2;
- for(w=0; w < config.src_width/2; w++)
+ for(w=0; w < _config.src_width/2; w++)
{
*dest32++ = (*y) + ((*crp)<<8) + ((*(y+1))<<16) + ((*cbp)<<24);
y++; y++; cbp++; crp++;
}
- dest32 += (bespitch - config.src_width) / 2;
+ dest32 += (bespitch - _config.src_width) / 2;
}
}
@@ -280,7 +280,7 @@ static void
flip_page(void)
{
-// memset(frame_mem + bufinfo.offset_p2, 0x80, config.src_width*config.src_height);
+// memset(frame_mem + bufinfo.offset_p2, 0x80, _config.src_width*config.src_height);
ioctl(f,SYNCFB_COMMIT_BUFFER,&bufinfo);
if ( dbg_singleframe ) {
@@ -346,7 +346,7 @@ query_format(uint32_t format)
return 0;
}
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
uint_32 frame_size;
@@ -366,54 +366,54 @@ static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t
if (ioctl(f,SYNCFB_GET_CONFIG,&config)) perror("Error in mga_vid_config ioctl");
if (sfb_caps.palettes & (1<<VIDEO_PALETTE_YUV420P3) ) {
- config.src_palette= VIDEO_PALETTE_YUV420P3;
+ _config.src_palette= VIDEO_PALETTE_YUV420P3;
printf("using palette yuv420p3\n");
}else if ( sfb_caps.palettes & (1<<VIDEO_PALETTE_YUV420P2) ) {
- config.src_palette= VIDEO_PALETTE_YUV420P2;
+ _config.src_palette= VIDEO_PALETTE_YUV420P2;
printf("using palette yuv420p2\n");
} else if ( sfb_caps.palettes & (1<<VIDEO_PALETTE_YUV422) ) {
- config.src_palette= VIDEO_PALETTE_YUV422;
+ _config.src_palette= VIDEO_PALETTE_YUV422;
printf("using palette yuv422\n");
} else {
printf("no supported palette found\n");
return -1;
}
- // config.src_palette= VIDEO_PALETTE_YUV422;
+ // _config.src_palette= VIDEO_PALETTE_YUV422;
if ( vo_conf_cinemode ) {
- config.default_repeat = 3;
+ _config.default_repeat = 3;
} else {
- config.default_repeat = 2;
+ _config.default_repeat = 2;
}
- conf_palette = config.src_palette;
+ conf_palette = _config.src_palette;
if ( vo_conf_deinterlace ) {
- config.syncfb_mode = SYNCFB_FEATURE_SCALE | SYNCFB_FEATURE_BLOCK_REQUEST | SYNCFB_FEATURE_DEINTERLACE;
- config.default_repeat = 1;
+ _config.syncfb_mode = SYNCFB_FEATURE_SCALE | SYNCFB_FEATURE_BLOCK_REQUEST | SYNCFB_FEATURE_DEINTERLACE;
+ _config.default_repeat = 1;
} else {
- config.syncfb_mode = SYNCFB_FEATURE_SCALE | SYNCFB_FEATURE_BLOCK_REQUEST;
+ _config.syncfb_mode = SYNCFB_FEATURE_SCALE | SYNCFB_FEATURE_BLOCK_REQUEST;
}
- config.fb_screen_size = (RAM_SIZE-4)*0x100000; //(1280 * 1024 * 32) / 8;
- config.src_width = width;
- config.src_height= height;
+ _config.fb_screen_size = (RAM_SIZE-4)*0x100000; //(1280 * 1024 * 32) / 8;
+ _config.src_width = width;
+ _config.src_height= height;
- config.image_width = d_width;
- config.image_height= d_height;
- //config.image_width = 1024;
- //config.image_height= 576;
+ _config.image_width = d_width;
+ _config.image_height= d_height;
+ //_config.image_width = 1024;
+ //_config.image_height= 576;
- config.image_xorg= 0;
- config.image_yorg= 0;
+ _config.image_xorg= 0;
+ _config.image_yorg= 0;
printf ("BES Sourcer size: %d x %d\n", width, height);
ioctl(f,SYNCFB_ON,0);
- if (ioctl(f,SYNCFB_SET_CONFIG,&config)) perror("Error in mga_vid_config ioctl");
+ if (ioctl(f,SYNCFB_SET_CONFIG,&_config)) perror("Error in mga_vid_config ioctl");
- printf ("Framebuffer memory: %ld in %ld buffers\n", sfb_caps.memory_size, config.buffers);
+ printf ("Framebuffer memory: %ld in %ld buffers\n", sfb_caps.memory_size, _config.buffers);
frame_size = ((width + 31) & ~31) * height + (((width + 31) & ~31) * height) / 2;
frame_mem = (uint_8*)mmap(0,sfb_caps.memory_size,PROT_WRITE,MAP_SHARED,f,0);
diff --git a/libvo/vo_tdfxfb.c b/libvo/vo_tdfxfb.c
index d14e0cc6d5..aa85421428 100644
--- a/libvo/vo_tdfxfb.c
+++ b/libvo/vo_tdfxfb.c
@@ -298,8 +298,8 @@ extern void **our_out_buffer;
#endif
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height,
- uint32_t fullscreen, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height,
+ uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
if (verbose) {
diff --git a/libvo/vo_vesa.c b/libvo/vo_vesa.c
index 1449cd4912..406d32b93c 100644
--- a/libvo/vo_vesa.c
+++ b/libvo/vo_vesa.c
@@ -542,7 +542,7 @@ unsigned fillMultiBuffer( unsigned long vsize, unsigned nbuffs )
* bit 3 (0x08) enables flipping (-flip) (NK: and for what?)
*/
static uint32_t
-init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
+config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format,const vo_tune_info_t *info)
{
struct VbeInfoBlock vib;
struct VesaModeInfoBlock vmib;
diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c
index 05346b36f5..7c6d040787 100644
--- a/libvo/vo_x11.c
+++ b/libvo/vo_x11.c
@@ -237,7 +237,7 @@ static void freeMyXImage()
}
}
-static uint32_t init( uint32_t width,uint32_t height,uint32_t d_width,uint32_t d_height,uint32_t flags,char *title,uint32_t format )
+static uint32_t config( uint32_t width,uint32_t height,uint32_t d_width,uint32_t d_height,uint32_t flags,char *title,uint32_t format,const vo_tune_info_t *info)
{
// int screen;
int fullscreen=0;
diff --git a/libvo/vo_xmga.c b/libvo/vo_xmga.c
index ab3c82018d..508ba94e0a 100644
--- a/libvo/vo_xmga.c
+++ b/libvo/vo_xmga.c
@@ -200,7 +200,7 @@ static void flip_page(void){
vo_mga_flip_page();
}
-static uint32_t init( uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format )
+static uint32_t config( uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t* info)
{
char * frame_mem;
// uint32_t frame_size;
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index 0e8226b822..6ae2b630f8 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -309,7 +309,7 @@ static void set_gamma_correction( void )
* connect to server, create and map window,
* allocate colors and (shared) memory
*/
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format,const vo_tune_info_t *info)
{
// int screen;
char *hello = (title == NULL) ? "Xv render" : title;
diff --git a/libvo/vo_xvidix.c b/libvo/vo_xvidix.c
index cf7c881f2f..db2b153b4f 100644
--- a/libvo/vo_xvidix.c
+++ b/libvo/vo_xvidix.c
@@ -183,8 +183,8 @@ static void set_window(int force_update)
/* connect to server, create and map window,
* allocate colors and (shared) memory
*/
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title, uint32_t format)
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
+ uint32_t d_height, uint32_t flags, char *title, uint32_t format,const vo_tune_info_t *info)
{
XVisualInfo vinfo;
XSizeHints hint;
diff --git a/libvo/vo_zr.c b/libvo/vo_zr.c
index 587884d3bd..7496c1c1ee 100644
--- a/libvo/vo_zr.c
+++ b/libvo/vo_zr.c
@@ -194,8 +194,8 @@ void uninit_zoran(void) {
close(vdes);
}
-static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format)
+static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width,
+ uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t *info)
{
int j, stretchx, stretchy;
/* this allows to crop parts from incoming picture,
diff --git a/mplayer.c b/mplayer.c
index 9344804e90..85fdd4b0a4 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1346,10 +1346,10 @@ current_module="init_libvo";
sh_video->disp_w,sh_video->disp_h,out_fmt,0,
fullscreen|(vidmode<<1)|(softzoom<<2)|(flip<<3) )){
#else
- if(video_out->init(sh_video->disp_w,sh_video->disp_h,
+ if(video_out->config(sh_video->disp_w,sh_video->disp_h,
screen_size_x,screen_size_y,
fullscreen|(vidmode<<1)|(softzoom<<2)|(flip<<3),
- title,out_fmt)){
+ title,out_fmt,NULL)){