summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authorvoroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-09-01 01:22:30 +0000
committervoroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-09-01 01:22:30 +0000
commitb61657c12c4af79bfbe932a49ca321edf675901a (patch)
tree771895c0283b0ecbd1e462b49e098447c9531f0d /stream
parentb53264188b21e4940a6482b829aac5f1c7f9440b (diff)
downloadmpv-b61657c12c4af79bfbe932a49ca321edf675901a.tar.bz2
mpv-b61657c12c4af79bfbe932a49ca321edf675901a.tar.xz
Proper support for flashing chars in teletext pages.
Patch from Otvos Attila oattila at chello dot hu git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24312 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream')
-rw-r--r--stream/tv.h1
-rw-r--r--stream/tvi_vbi.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/stream/tv.h b/stream/tv.h
index d35b78e9bb..31d5785282 100644
--- a/stream/tv.h
+++ b/stream/tv.h
@@ -276,6 +276,7 @@ typedef struct tt_char_s{
unsigned char fg; ///< foreground color
unsigned char bg; ///< background color
unsigned char gfx; ///< 0-no gfx, 1-solid gfx, 2-separated gfx
+ unsigned char flh; ///< 0-no flash, 1-flash
unsigned char ctl; ///< control character
unsigned char lng; ///< lang: 0-secondary language,1-primary language
unsigned char raw; ///< raw character (as received from device)
diff --git a/stream/tvi_vbi.c b/stream/tvi_vbi.c
index f5513528d8..a93d9de400 100644
--- a/stream/tvi_vbi.c
+++ b/stream/tvi_vbi.c
@@ -690,6 +690,7 @@ static void decode_page(tt_char* p,unsigned char* raw,int primary_lang,int secon
int separated=0;
int conceal=0;
int hold=0;
+ int flash=0;
tt_char tt_held=tt_space;
for(col=0;col<VBI_COLUMNS;col++){
int i=row*VBI_COLUMNS+col;
@@ -704,10 +705,12 @@ static void decode_page(tt_char* p,unsigned char* raw,int primary_lang,int secon
p[i].ctl=(c&0x60)==0?1:0;
p[i].fg=fg_color;
p[i].bg=bg_color;
+ p[i].flh=flash;
if ((c&0x60)==0){ //control chars
if(c>=0x08 && c<=0x09){//Flash/Steady
- FFSWAP(int,bg_color,fg_color);
+ flash=c==0x08;
+ p[i].flh=flash;
if(c==0x09){
p[i].fg=fg_color;
p[i].bg=bg_color;