Mercurial > mplayer.hg
changeset 21236:3ec5917cdae2
Cleanup for uselessly complicated closed-caption subtitle handling
author | reimar |
---|---|
date | Sat, 25 Nov 2006 22:06:00 +0000 |
parents | 7c5e2e22a37e |
children | 530b31f3e60a |
files | libmpdemux/video.c sub_cc.c |
diffstat | 2 files changed, 3 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/video.c Sat Nov 25 20:53:43 2006 +0000 +++ b/libmpdemux/video.c Sat Nov 25 22:06:00 2006 +0000 @@ -366,7 +366,7 @@ /* if the user data starts with "CC", assume it is a CC info packet */ if(len>2 && buf[0]=='C' && buf[1]=='C'){ // mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"video.c: process_userdata() detected Closed Captions!\n"); - if(subcc_enabled) subcc_process_data(buf+2,len-2); + subcc_process_data(buf+2,len-2); } if( len > 2 && buf[ 0 ] == 'T' && buf[ 1 ] == 'Y' ) {
--- a/sub_cc.c Sat Nov 25 20:53:43 2006 +0000 +++ b/sub_cc.c Sat Nov 25 22:06:00 2006 +0000 @@ -26,8 +26,6 @@ #include "libvo/sub.h" -#define CC_INPUTBUFFER_SIZE 256 - #define CC_MAX_LINE_LENGTH 64 static char chartbl[128]; @@ -38,8 +36,6 @@ static unsigned int cursor_pos=0; static int inited=0; -static unsigned char inputbuffer[CC_INPUTBUFFER_SIZE]; -static unsigned int inputlength; static void build_char_table(void) { @@ -186,7 +182,7 @@ lastcode=data; } -static void subcc_decode(void) +static void subcc_decode(unsigned char *inputbuffer, unsigned int inputlength) { /* The first number may denote a channel number. I don't have the * EIA-708 standard, so it is hard to say. @@ -284,13 +280,9 @@ void subcc_process_data(unsigned char *inputdata,unsigned int len) { - if (len > CC_INPUTBUFFER_SIZE) - return; if(!subcc_enabled) return; if(!inited) subcc_init(); - memcpy(inputbuffer,inputdata,len); - inputlength=len; - subcc_decode(); + subcc_decode(inputdata, len); }