mirror of
https://github.com/videolan/vlc.git
synced 2024-11-25 19:04:12 +08:00
. support framebuffer
. input clavier limit�e mais fonctionnelle
This commit is contained in:
parent
665782c80d
commit
ee589c5962
5
Makefile
5
Makefile
@ -14,9 +14,9 @@
|
||||
#SHELL = /bin/sh
|
||||
|
||||
# Video output settings
|
||||
VIDEO=X11
|
||||
#VIDEO=X11
|
||||
#VIDEO=DGA (not yet supported)
|
||||
#VIDEO=FB
|
||||
VIDEO=FB
|
||||
#VIDEO=GGI
|
||||
#VIDEO=BEOS (not yet supported)
|
||||
|
||||
@ -89,6 +89,7 @@ CCFLAGS += -D_REENTRANT
|
||||
CCFLAGS += -D_GNU_SOURCE
|
||||
|
||||
# Optimizations : don't compile debug versions with them
|
||||
#CCFLAGS += -g
|
||||
CCFLAGS += -O6
|
||||
CCFLAGS += -ffast-math -funroll-loops -fargument-noalias-global
|
||||
CCFLAGS += -fomit-frame-pointer
|
||||
|
@ -73,14 +73,14 @@
|
||||
*******************************************************************************/
|
||||
|
||||
/* General debugging support */
|
||||
#define DEBUG
|
||||
//#define DEBUG
|
||||
|
||||
/* Modules specific debugging - this will produce a lot of output, but can be
|
||||
* usefull to track a bug */
|
||||
#define DEBUG_INTF
|
||||
/*#define DEBUG_INTF
|
||||
#define DEBUG_INPUT
|
||||
#define DEBUG_AUDIO
|
||||
#define DEBUG_VIDEO
|
||||
#define DEBUG_VIDEO*/
|
||||
|
||||
/* Debugging log file - if defined, a file can be used to store all messages. If
|
||||
* DEBUG_LOG_ONLY is defined, debug messages will only be printed to the log and
|
||||
|
@ -67,6 +67,7 @@ typedef struct vout_sys_s
|
||||
******************************************************************************/
|
||||
static int FBOpenDisplay ( vout_thread_t *p_vout );
|
||||
static void FBCloseDisplay ( vout_thread_t *p_vout );
|
||||
static void FBBlankDisplay ( vout_thread_t *p_vout );
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
@ -146,7 +147,13 @@ void vout_SysDestroy( vout_thread_t *p_vout )
|
||||
int vout_SysManage( vout_thread_t *p_vout )
|
||||
{
|
||||
/* XXX */
|
||||
|
||||
if( p_vout->i_changes & VOUT_SIZE_CHANGE )
|
||||
{
|
||||
intf_DbgMsg("resizing window\n");
|
||||
p_vout->i_changes &= ~VOUT_SIZE_CHANGE;
|
||||
FBBlankDisplay( p_vout );
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -160,12 +167,16 @@ void vout_SysDisplay( vout_thread_t *p_vout )
|
||||
{
|
||||
/* Swap buffers */
|
||||
//p_vout->p_sys->i_buffer_index = ++p_vout->p_sys->i_buffer_index & 1;
|
||||
p_vout->p_sys->i_buffer_index = 0;
|
||||
|
||||
/* tout est bien affiché, on peut échanger les 2 écrans */
|
||||
p_vout->p_sys->var_info.xoffset = 0;
|
||||
p_vout->p_sys->var_info.yoffset =
|
||||
/*p_vout->p_sys->i_buffer_index ?*/ 0 /*: p_vout->p_sys->var_info.yres*/;
|
||||
0;
|
||||
//p_vout->p_sys->i_buffer_index ? 0 : p_vout->p_sys->var_info.yres;
|
||||
|
||||
ioctl( p_vout->p_sys->i_fb_dev, FBIOPUT_VSCREENINFO, &p_vout->p_sys->var_info );
|
||||
//ioctl( p_vout->p_sys->i_fb_dev, FBIOPUT_VSCREENINFO, &p_vout->p_sys->var_info );
|
||||
ioctl( p_vout->p_sys->i_fb_dev, FBIOPAN_DISPLAY, &p_vout->p_sys->var_info );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
@ -221,6 +232,7 @@ static int FBOpenDisplay( vout_thread_t *p_vout )
|
||||
p_vout->p_sys->var_info.activate = FB_ACTIVATE_NXTOPEN;
|
||||
p_vout->p_sys->var_info.xoffset = 0;
|
||||
p_vout->p_sys->var_info.yoffset = 0;
|
||||
fprintf(stderr, "ypanstep is %i\n", fix_info.ypanstep);
|
||||
//??ask sam p_vout->p_sys->mode_info.sync = FB_SYNC_VERT_HIGH_ACT;
|
||||
//???
|
||||
if( ioctl( p_vout->p_sys->i_fb_dev, FBIOPUT_VSCREENINFO, &p_vout->p_sys->var_info ) )
|
||||
@ -305,3 +317,13 @@ static void FBCloseDisplay( vout_thread_t *p_vout )
|
||||
close( p_vout->p_sys->i_fb_dev );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* FBBlankDisplay: render a blank screen
|
||||
******************************************************************************
|
||||
* This function is called by all other rendering functions when they arrive on
|
||||
* a non blanked screen.
|
||||
******************************************************************************/
|
||||
static void FBBlankDisplay( vout_thread_t *p_vout )
|
||||
{
|
||||
memset( p_vout->p_sys->p_video, 0x00, 2*p_vout->p_sys->i_page_size );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user