summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--Android.mk4
-rwxr-xr-xntsc_decode/am_vbi.c26
-rw-r--r--src/caption.c656
-rw-r--r--src/cc.h15
-rw-r--r--src/dtvcc.c893
-rw-r--r--src/dtvcc.h45
-rwxr-xr-x[-rw-r--r--]src/event.h26
-rw-r--r--src/exp-gfx.c65
-rwxr-xr-x[-rw-r--r--]src/libzvbi.h20
-rwxr-xr-x[-rw-r--r--]src/vbi.c2
10 files changed, 1393 insertions, 359 deletions
diff --git a/src/cc.h b/src/cc.h
index 2267b16..03dd8a3 100644
--- a/src/cc.h
+++ b/src/cc.h
@@ -54,6 +54,8 @@ typedef struct {
int col, col1;
int row, row1;
int roll;
+ int update_flag;
+ int pos_flag;
int nul_ct; // XXX should be 'silence count'
double time;
@@ -63,15 +65,25 @@ typedef struct {
vbi_char * line;
int hidden;
- vbi_page pg[2];
+ vbi_page pg[3];
+ int update;
} cc_channel;
struct caption {
pthread_mutex_t mutex;
uint8_t last[2]; /* field 1, cc command repetition */
+ uint8_t last_f1[2];
+ uint8_t last_f2[2];
int curr_chan;
+ int curr_chan_f1;
+ int curr_chan_f2;
+ int curr_chan_f1_d1;
+ int curr_chan_f1_d2;
+ int curr_chan_f2_d1;
+ int curr_chan_f2_d2;
+
vbi_char transp_space[2]; /* caption, text mode */
cc_channel channel[9]; /* caption 1-4, text 1-4, garbage */
@@ -83,6 +95,7 @@ struct caption {
int itv_count;
int info_cycle[2];
+ int flash_state;
};
/* Public */