summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-08-07 02:21:19 +0200
committerwm4 <wm4@nowhere>2012-08-07 02:21:19 +0200
commit477af1c777116fcfb96885195acbed5cca8a0d4c (patch)
treee1330b7156c7fe59b64af31c2304bc9dc6e3af70 /libvo
parent7484ae8e2ee5327400358e7c7cb974d84543aef6 (diff)
downloadmpv-477af1c777116fcfb96885195acbed5cca8a0d4c.tar.bz2
mpv-477af1c777116fcfb96885195acbed5cca8a0d4c.tar.xz
osd: remove FAST_OSD code
This code has never been active by default, ever since it was added back in 2001. You had to edit config.h or configure manually to enable it.
Diffstat (limited to 'libvo')
-rw-r--r--libvo/osd.c43
-rw-r--r--libvo/osd_template.c24
-rw-r--r--libvo/vo_gl.c13
3 files changed, 1 insertions, 79 deletions
diff --git a/libvo/osd.c b/libvo/osd.c
index 0b5ef8efa2..9adcc3f664 100644
--- a/libvo/osd.c
+++ b/libvo/osd.c
@@ -20,9 +20,6 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-//#define FAST_OSD
-//#define FAST_OSD_TABLE
-
#include "config.h"
#include "osd.h"
#include "mp_msg.h"
@@ -156,21 +153,7 @@ void vo_draw_alpha_rgb32(int w,int h, unsigned char* src, unsigned char *srca, i
#endif
}
-#ifdef FAST_OSD_TABLE
-static unsigned short fast_osd_12bpp_table[256];
-static unsigned short fast_osd_15bpp_table[256];
-static unsigned short fast_osd_16bpp_table[256];
-#endif
-
void vo_draw_alpha_init(void){
-#ifdef FAST_OSD_TABLE
- int i;
- for(i=0;i<256;i++){
- fast_osd_12bpp_table[i]=((i>>4)<< 8)|((i>>4)<<4)|(i>>4);
- fast_osd_15bpp_table[i]=((i>>3)<<10)|((i>>3)<<5)|(i>>3);
- fast_osd_16bpp_table[i]=((i>>3)<<11)|((i>>2)<<5)|(i>>3);
- }
-#endif
//FIXME the optimized stuff is a lie for 15/16bpp as they aren't optimized yet
if( mp_msg_test(MSGT_OSD,MSGL_V) )
{
@@ -196,14 +179,6 @@ void vo_draw_alpha_rgb12(int w, int h, unsigned char* src, unsigned char *srca,
register int x;
for (x = 0; x < w; x++) {
if(srca[x]){
-#ifdef FAST_OSD
-#ifdef FAST_OSD_TABLE
- dst[x] = fast_osd_12bpp_table[src[x]];
-#else
- register unsigned int a = src[x] >> 4;
- dst[x] = (a << 8) | (a << 4) | a;
-#endif
-#else
unsigned char r = dst[x] & 0x0F;
unsigned char g = (dst[x] >> 4) & 0x0F;
unsigned char b = (dst[x] >> 8) & 0x0F;
@@ -211,7 +186,6 @@ void vo_draw_alpha_rgb12(int w, int h, unsigned char* src, unsigned char *srca,
g = (((g*srca[x]) >> 4) + src[x]) >> 4;
b = (((b*srca[x]) >> 4) + src[x]) >> 4;
dst[x] = (b << 8) | (g << 4) | r;
-#endif
}
}
src += srcstride;
@@ -228,14 +202,6 @@ void vo_draw_alpha_rgb15(int w,int h, unsigned char* src, unsigned char *srca, i
register int x;
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
-#ifdef FAST_OSD_TABLE
- dst[x]=fast_osd_15bpp_table[src[x]];
-#else
- register unsigned int a=src[x]>>3;
- dst[x]=(a<<10)|(a<<5)|a;
-#endif
-#else
unsigned char r=dst[x]&0x1F;
unsigned char g=(dst[x]>>5)&0x1F;
unsigned char b=(dst[x]>>10)&0x1F;
@@ -243,7 +209,6 @@ void vo_draw_alpha_rgb15(int w,int h, unsigned char* src, unsigned char *srca, i
g=(((g*srca[x])>>5)+src[x])>>3;
b=(((b*srca[x])>>5)+src[x])>>3;
dst[x]=(b<<10)|(g<<5)|r;
-#endif
}
}
src+=srcstride;
@@ -260,13 +225,6 @@ void vo_draw_alpha_rgb16(int w,int h, unsigned char* src, unsigned char *srca, i
register int x;
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
-#ifdef FAST_OSD_TABLE
- dst[x]=fast_osd_16bpp_table[src[x]];
-#else
- dst[x]=((src[x]>>3)<<11)|((src[x]>>2)<<5)|(src[x]>>3);
-#endif
-#else
unsigned char r=dst[x]&0x1F;
unsigned char g=(dst[x]>>5)&0x3F;
unsigned char b=(dst[x]>>11)&0x1F;
@@ -274,7 +232,6 @@ void vo_draw_alpha_rgb16(int w,int h, unsigned char* src, unsigned char *srca, i
g=(((g*srca[x])>>6)+src[x])>>2;
b=(((b*srca[x])>>5)+src[x])>>3;
dst[x]=(b<<11)|(g<<5)|r;
-#endif
}
}
src+=srcstride;
diff --git a/libvo/osd_template.c b/libvo/osd_template.c
index 2cc07bba39..40a335e30e 100644
--- a/libvo/osd_template.c
+++ b/libvo/osd_template.c
@@ -37,9 +37,6 @@
static inline void RENAME(vo_draw_alpha_yv12)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
int y;
-#if defined(FAST_OSD) && !HAVE_MMX
- w=w>>1;
-#endif
#if HAVE_MMX
__asm__ volatile(
"pcmpeqb %%mm5, %%mm5\n\t" // F..F
@@ -87,12 +84,7 @@ static inline void RENAME(vo_draw_alpha_yv12)(int w,int h, unsigned char* src, u
}
#else
for(x=0;x<w;x++){
-#ifdef FAST_OSD
- if(srca[2*x+0]) dstbase[2*x+0]=src[2*x+0];
- if(srca[2*x+1]) dstbase[2*x+1]=src[2*x+1];
-#else
if(srca[x]) dstbase[x]=((dstbase[x]*srca[x])>>8)+src[x];
-#endif
}
#endif
src+=srcstride;
@@ -107,9 +99,6 @@ static inline void RENAME(vo_draw_alpha_yv12)(int w,int h, unsigned char* src, u
static inline void RENAME(vo_draw_alpha_yuy2)(int w,int h, unsigned char* src, unsigned char *srca, int srcstride, unsigned char* dstbase,int dststride){
int y;
-#if defined(FAST_OSD) && !HAVE_MMX
- w=w>>1;
-#endif
#if HAVE_MMX
__asm__ volatile(
"pxor %%mm7, %%mm7\n\t"
@@ -156,15 +145,10 @@ static inline void RENAME(vo_draw_alpha_yuy2)(int w,int h, unsigned char* src, u
}
#else
for(x=0;x<w;x++){
-#ifdef FAST_OSD
- if(srca[2*x+0]) dstbase[4*x+0]=src[2*x+0];
- if(srca[2*x+1]) dstbase[4*x+2]=src[2*x+1];
-#else
if(srca[x]) {
dstbase[2*x]=((dstbase[2*x]*srca[x])>>8)+src[x];
dstbase[2*x+1]=((((signed)dstbase[2*x+1]-128)*srca[x])>>8)+128;
}
-#endif
}
#endif
src+=srcstride;
@@ -264,13 +248,9 @@ static inline void RENAME(vo_draw_alpha_rgb24)(int w,int h, unsigned char* src,
#else /*non x86 arch or x86_64 with MMX disabled */
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
- dst[0]=dst[1]=dst[2]=src[x];
-#else
dst[0]=((dst[0]*srca[x])>>8)+src[x];
dst[1]=((dst[1]*srca[x])>>8)+src[x];
dst[2]=((dst[2]*srca[x])>>8)+src[x];
-#endif
}
dst+=3; // 24bpp
}
@@ -386,13 +366,9 @@ static inline void RENAME(vo_draw_alpha_rgb32)(int w,int h, unsigned char* src,
#else /*non x86 arch or x86_64 with MMX disabled */
for(x=0;x<w;x++){
if(srca[x]){
-#ifdef FAST_OSD
- dstbase[4*x+0]=dstbase[4*x+1]=dstbase[4*x+2]=src[x];
-#else
dstbase[4*x+0]=((dstbase[4*x+0]*srca[x])>>8)+src[x];
dstbase[4*x+1]=((dstbase[4*x+1]*srca[x])>>8)+src[x];
dstbase[4*x+2]=((dstbase[4*x+2]*srca[x])>>8)+src[x];
-#endif
}
}
#endif /* arch_x86 */
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index bfafebe15f..5453943fe9 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -66,19 +66,15 @@ struct gl_priv {
int scaled_osd;
//! Textures for OSD
GLuint osdtex[MAX_OSD_PARTS];
-#ifndef FAST_OSD
//! Alpha textures for OSD
GLuint osdatex[MAX_OSD_PARTS];
-#endif
GLuint eosd_texture;
int eosd_texture_width, eosd_texture_height;
struct eosd_packer *eosd;
struct vertex_eosd *eosd_va;
//! Display lists that draw the OSD parts
GLuint osdDispList[MAX_OSD_PARTS];
-#ifndef FAST_OSD
GLuint osdaDispList[MAX_OSD_PARTS];
-#endif
//! How many parts the OSD currently consists of
int osdtexCnt;
int osd_color;
@@ -267,11 +263,9 @@ static void clearOSD(struct vo *vo)
if (!p->osdtexCnt)
return;
gl->DeleteTextures(p->osdtexCnt, p->osdtex);
-#ifndef FAST_OSD
gl->DeleteTextures(p->osdtexCnt, p->osdatex);
for (i = 0; i < p->osdtexCnt; i++)
gl->DeleteLists(p->osdaDispList[i], 1);
-#endif
for (i = 0; i < p->osdtexCnt; i++)
gl->DeleteLists(p->osdDispList[i], 1);
p->osdtexCnt = 0;
@@ -695,7 +689,6 @@ static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
glUploadTex(gl, p->target, GL_LUMINANCE, GL_UNSIGNED_BYTE, src, stride,
0, 0, w, h, 0);
-#ifndef FAST_OSD
gl->GenTextures(1, &p->osdatex[p->osdtexCnt]);
gl->BindTexture(p->target, p->osdatex[p->osdtexCnt]);
glCreateClearTex(gl, p->target, GL_ALPHA, GL_ALPHA, GL_UNSIGNED_BYTE,
@@ -711,19 +704,17 @@ static void create_osd_texture(void *ctx, int x0, int y0, int w, int h,
0, 0, w, h, 0);
free(tmp);
}
-#endif
gl->BindTexture(p->target, 0);
// Create a list for rendering this OSD part
-#ifndef FAST_OSD
p->osdaDispList[p->osdtexCnt] = gl->GenLists(1);
gl->NewList(p->osdaDispList[p->osdtexCnt], GL_COMPILE);
// render alpha
gl->BindTexture(p->target, p->osdatex[p->osdtexCnt]);
glDrawTex(gl, x0, y0, w, h, 0, 0, w, h, sx, sy, p->use_rectangle == 1, 0, 0);
gl->EndList();
-#endif
+
p->osdDispList[p->osdtexCnt] = gl->GenLists(1);
gl->NewList(p->osdDispList[p->osdtexCnt], GL_COMPILE);
// render OSD
@@ -765,10 +756,8 @@ static void do_render_osd(struct vo *vo, int type)
gl->Color4ub((p->osd_color >> 16) & 0xff, (p->osd_color >> 8) & 0xff,
p->osd_color & 0xff, 0xff - (p->osd_color >> 24));
// draw OSD
-#ifndef FAST_OSD
gl->BlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
gl->CallLists(p->osdtexCnt, GL_UNSIGNED_INT, p->osdaDispList);
-#endif
gl->BlendFunc(GL_SRC_ALPHA, GL_ONE);
gl->CallLists(p->osdtexCnt, GL_UNSIGNED_INT, p->osdDispList);
}