Mercurial > mplayer.hg
changeset 8601:7fe391d6c293
The following patch adds two new command line options:
-sub-bkg-color n
-sub-bkg-alpha n
They control the color and alpha value used to initialize the subtitles and OSD BBOX.
With this you can have subtitles inside a traslucent rectangle.
This is useful when a movie already have "hardcoded" subtitles and you
want to overwrite them with rendered subtitles avoiding too much confusion.
patch by Salvador Eduardo Tropea <salvador@inti.gov.ar>
author | arpi |
---|---|
date | Sat, 28 Dec 2002 13:41:02 +0000 |
parents | 54eac4cf587c |
children | 36d5c7137876 |
files | DOCS/mplayer.1 cfg-common.h libvo/sub.c libvo/sub.h |
diffstat | 4 files changed, 18 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/mplayer.1 Sat Dec 28 13:39:51 2002 +0000 +++ b/DOCS/mplayer.1 Sat Dec 28 13:41:02 2002 +0000 @@ -824,6 +824,16 @@ .B \-sub <subtitle\ file> Use/\:display this subtitle file. .TP +.B \-sub-bkg-alpha <0-255> +Specify the alpha channel value for subtitles and OSD backgrounds. +Big values means more transparent. The 0 value is an exception and means +completly transparent. +.TP +.B \-sub-bkg-color <0-255> +Specify the color value for subtitles and OSD backgrounds. +Currently subtitles are grayscale so this value is equivalente to the +intensity of the color. The 255 value means white and 0 black. +.TP .B \-subcc \ Display DVD Closed Caption (CC) subtitles. These are NOT the VOB subtitles, these are special ASCII subtitles for the
--- a/cfg-common.h Sat Dec 28 13:39:51 2002 +0000 +++ b/cfg-common.h Sat Dec 28 13:41:02 2002 +0000 @@ -181,6 +181,8 @@ // enable Closed Captioning display {"subcc", &subcc_enabled, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"nooverlapsub", &suboverlap_enabled, CONF_TYPE_FLAG, 0, 0, 0, NULL}, + {"sub-bkg-color", &sub_bkg_color, CONF_TYPE_INT, CONF_RANGE, 0, 255, NULL}, + {"sub-bkg-alpha", &sub_bkg_alpha, CONF_TYPE_INT, CONF_RANGE, 0, 255, NULL}, #endif #ifdef USE_OSD {"font", &font_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
--- a/libvo/sub.c Sat Dec 28 13:39:51 2002 +0000 +++ b/libvo/sub.c Sat Dec 28 13:41:02 2002 +0000 @@ -40,6 +40,8 @@ int sub_width_p=100; int sub_alignment=0; /* 0=top, 1=center, 2=bottom */ int sub_visibility=1; +int sub_bkg_color=0; /* subtitles background color */ +int sub_bkg_alpha=0; // return the real height of a char: static inline int get_height(int c,int h){ @@ -97,8 +99,8 @@ obj->bitmap_buffer = (unsigned char *)memalign(16, len); obj->alpha_buffer = (unsigned char *)memalign(16, len); } - memset(obj->bitmap_buffer, 0, len); - memset(obj->alpha_buffer, 0, len); + memset(obj->bitmap_buffer, sub_bkg_color, len); + memset(obj->alpha_buffer, sub_bkg_alpha, len); } // renders the buffer
--- a/libvo/sub.h Sat Dec 28 13:39:51 2002 +0000 +++ b/libvo/sub.h Sat Dec 28 13:41:02 2002 +0000 @@ -101,6 +101,8 @@ extern int sub_alignment; extern int sub_visibility; extern int suboverlap_enabled; +extern int sub_bkg_color; /* subtitles background color */ +extern int sub_bkg_alpha; //extern void vo_draw_text_osd(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)); //extern void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride));