summaryrefslogtreecommitdiff
authorYan Yan <yan.yan@amlogic.com>2017-08-28 08:00:11 (GMT)
committer Yan Yan <yan.yan@amlogic.com>2017-08-28 08:00:11 (GMT)
commitb6e6b440559338c2e0baef9a3344cb000d75c972 (patch)
treea4046e228585bd3ee5eb10e105d8b864b41c387e
parent4cd802260bdf57e6ecacbb0d5939d7394640a025 (diff)
downloadlibzvbi-b6e6b440559338c2e0baef9a3344cb000d75c972.zip
libzvbi-b6e6b440559338c2e0baef9a3344cb000d75c972.tar.gz
libzvbi-b6e6b440559338c2e0baef9a3344cb000d75c972.tar.bz2
PD#145985: cc: Handle EDM/ENM during caption processing in text mode
Diffstat
-rwxr-xr-xsrc/caption.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/caption.c b/src/caption.c
index 61e1913..7cd6cb6 100755
--- a/src/caption.c
+++ b/src/caption.c
@@ -897,10 +897,25 @@ erase_memory(struct caption *cc, cc_channel *ch, int page)
vbi_page *pg = ch->pg + page;
vbi_char *acp = pg->text;
vbi_char c = cc->transp_space[ch >= &cc->channel[4]];
- int i;
-
- for (i = 0; i < COLUMNS * ROWS; acp++, i++)
- *acp = c;
+ int i,j;
+
+ if(ch >= &cc->channel[4])
+ {
+ c = cc->transp_space[0];
+ for(j=0; j<4; j++)
+ {
+ acp = (cc->channel[j].pg+0)->text;
+ for (i = 0; i < COLUMNS * ROWS; acp++, i++)
+ *acp = c;
+
+ acp = (cc->channel[j].pg+1)->text;
+ for (i = 0; i < COLUMNS * ROWS; acp++, i++)
+ *acp = c;
+ }
+ }
+ else
+ for (i = 0; i < COLUMNS * ROWS; acp++, i++)
+ *acp = c;
pg->dirty.y0 = 0;
pg->dirty.y1 = ROWS - 1;