mirror of
https://github.com/mpv-player/mpv
synced 2025-01-10 08:59:45 +00:00
Fixed single buffering problems and -vo mga compatibility by number of buffers
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3267 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
39b43167f0
commit
c7e34e26a6
@ -45,4 +45,4 @@ nodes:
|
||||
vid:
|
||||
make install
|
||||
rmmod radeon_vid
|
||||
modprobe radeon_vid
|
||||
modprobe radeon_vid mtrr=1
|
||||
|
@ -14,7 +14,7 @@
|
||||
* Also here was used code from CVS of GATOS project and X11 trees.
|
||||
*/
|
||||
|
||||
#define RADEON_VID_VERSION "1.0.1"
|
||||
#define RADEON_VID_VERSION "1.0.2"
|
||||
|
||||
/*
|
||||
It's entirely possible this major conflicts with something else
|
||||
@ -311,6 +311,10 @@ RTRACE(RVID_MSG"OV0: p1_v_accum_init=%x p1_h_accum_init=%x p23_h_accum_init=%x\n
|
||||
OUTREG(OV0_AUTO_FLIP_CNTL,OV0_AUTO_FLIP_CNTL_SOFT_BUF_ODD);
|
||||
|
||||
OUTREG(OV0_DEINTERLACE_PATTERN,besr.deinterlace_pattern);
|
||||
|
||||
OUTREG(OV0_COLOUR_CNTL, (besr.brightness & 0x7f) |
|
||||
(besr.saturation << 8) |
|
||||
(besr.saturation << 16));
|
||||
|
||||
OUTREG(OV0_AUTO_FLIP_CNTL,(INREG(OV0_AUTO_FLIP_CNTL)^OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE));
|
||||
OUTREG(OV0_AUTO_FLIP_CNTL,(INREG(OV0_AUTO_FLIP_CNTL)^OV0_AUTO_FLIP_CNTL_SOFT_EOF_TOGGLE));
|
||||
@ -615,11 +619,13 @@ static int radeon_vid_ioctl(struct inode *inode, struct file *file, unsigned int
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if(radeon_config.num_frames<1 || radeon_config.num_frames>4){
|
||||
if(radeon_config.num_frames<1){
|
||||
printk(RVID_MSG"illegal num_frames: %d\n",radeon_config.num_frames);
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if(radeon_config.num_frames==1) besr.double_buff=0;
|
||||
if(!besr.double_buff) radeon_config.num_frames=1;
|
||||
else radeon_config.num_frames=2;
|
||||
radeon_config.card_type = 0;
|
||||
radeon_config.ram_size = radeon_ram_size;
|
||||
radeon_overlay_off = radeon_ram_size*0x100000 - radeon_config.frame_size*radeon_config.num_frames;
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include "video_out.h"
|
||||
|
||||
#define WIDTH_ALIGN 32 /* should be 16 for rage:422 and 32 for rage:420 */
|
||||
#define NUM_FRAMES 2
|
||||
#define NUM_FRAMES 10
|
||||
#define UNUSED(x) ((void)(x)) /**< Removes warning about unused arguments */
|
||||
|
||||
static uint8_t *frames[NUM_FRAMES];
|
||||
@ -211,9 +211,12 @@ uint32_t vlvo_draw_frame(uint8_t *image[])
|
||||
void vlvo_flip_page(void)
|
||||
{
|
||||
if(verbose > 1) printf("vesa_lvo: vlvo_flip_page() was called\n");
|
||||
if(vo_doublebuffering)
|
||||
{
|
||||
ioctl(lvo_handler,MGA_VID_FSEL,&next_frame);
|
||||
next_frame=(next_frame+1)%mga_vid_config.num_frames;
|
||||
lvo_mem=frames[next_frame];
|
||||
}
|
||||
}
|
||||
|
||||
static void draw_alpha_null(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)
|
||||
|
Loading…
Reference in New Issue
Block a user