mirror of
https://github.com/mpv-player/mpv
synced 2025-02-22 15:56:59 +00:00
vo_vesa: more rgb2rgb support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2506 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
d6bed371d7
commit
ce1e5d842b
@ -582,6 +582,8 @@ init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint3
|
||||
{
|
||||
if(image_bpp == 24 && video_mode_info.BitsPerPixel == 32) rgb2rgb_fnc = rgb24to32;
|
||||
else
|
||||
if(image_bpp == 32 && video_mode_info.BitsPerPixel == 24) rgb2rgb_fnc = rgb32to24;
|
||||
else
|
||||
{
|
||||
printf("vo_vesa: Can't convert %u to %u\n",image_bpp,video_mode_info.BitsPerPixel);
|
||||
return -1;
|
||||
|
@ -2,6 +2,8 @@
|
||||
#include "../config.h"
|
||||
#include "rgb2rgb.h"
|
||||
|
||||
/* TODO: MMX optimization */
|
||||
|
||||
void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
|
||||
{
|
||||
uint32_t *dest = (uint32_t *)dst;
|
||||
@ -16,3 +18,18 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
|
||||
s += 3;
|
||||
}
|
||||
}
|
||||
|
||||
void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size)
|
||||
{
|
||||
uint8_t *dest = dst;
|
||||
uint8_t *s = src;
|
||||
uint8_t *end;
|
||||
end = s + src_size;
|
||||
while(s < end)
|
||||
{
|
||||
*dest++ = *s++;
|
||||
*dest++ = *s++;
|
||||
*dest++ = *s++;
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* rgb2rgb.h, Software RGB to RGB coverter
|
||||
* rgb2rgb.h, Software RGB to RGB converter
|
||||
*
|
||||
*/
|
||||
|
||||
@ -8,5 +8,6 @@
|
||||
#define RGB2RGB_INCLUDED
|
||||
|
||||
extern void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size);
|
||||
extern void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size);
|
||||
|
||||
#endif
|
||||
|
@ -2,6 +2,8 @@
|
||||
#include "../config.h"
|
||||
#include "rgb2rgb.h"
|
||||
|
||||
/* TODO: MMX optimization */
|
||||
|
||||
void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
|
||||
{
|
||||
uint32_t *dest = (uint32_t *)dst;
|
||||
@ -16,3 +18,18 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size)
|
||||
s += 3;
|
||||
}
|
||||
}
|
||||
|
||||
void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size)
|
||||
{
|
||||
uint8_t *dest = dst;
|
||||
uint8_t *s = src;
|
||||
uint8_t *end;
|
||||
end = s + src_size;
|
||||
while(s < end)
|
||||
{
|
||||
*dest++ = *s++;
|
||||
*dest++ = *s++;
|
||||
*dest++ = *s++;
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user