Ticket #466: mplayer.rollup.patch
| File mplayer.rollup.patch, 2.5 KB (added by , 21 years ago) |
|---|
-
libmpdemux/demux_ty_osd.c
old new 46 46 #define TY_CCPAINTON ( 1 ) 47 47 48 48 #define TY_CC_MAX_X ( 45 ) 49 #define TY_CC_MAX_Y ( 4 ) 49 50 50 51 static int TY_CC_CUR_X; 51 52 static int TY_CC_CUR_Y; … … 114 115 cy = SUB_MAX_TEXT - TY_CC_Y_Offset - 1; 115 116 } 116 117 117 // printf( "Calling ty_DrawChar() x:%d y:%d %cfg:%d bg:%d\n",118 // cx, cy, disChar, fgColor, bgColor );118 // printf( "Calling ty_DrawChar() x:%d y:%d '%c' fg:%d bg:%d\n", 119 // cx, cy, disChar, fgColor, bgColor ); 119 120 120 121 ty_OSD2.text[ TY_CC_Y_Offset + cy ][ cx ] = disChar; 121 122 memset( &( ty_OSD2.text[ TY_CC_Y_Offset + cy ][ cx + 1 ] ), ' ', … … 150 151 151 152 for ( index = 0 ; index < numLines ; index++ ) 152 153 { 153 strcpy( ty_OSD 1.text[ TY_CC_Y_Offset + dest ],154 ty_OSD 1.text[ TY_CC_Y_Offset + source ] );154 strcpy( ty_OSD2.text[ TY_CC_Y_Offset + dest ], 155 ty_OSD2.text[ TY_CC_Y_Offset + source ] ); 155 156 dest++; 156 157 source++; 157 158 } 158 memset( ty_OSD 1.text[ TY_CC_Y_Offset + source - 1 ], ' ', TY_CC_MAX_X - 1 );159 ty_OSD 1.text[ TY_CC_Y_Offset + source - 1 ][ TY_CC_MAX_X - 1 ] = 0;159 memset( ty_OSD2.text[ TY_CC_Y_Offset + source - 1 ], ' ', TY_CC_MAX_X - 1 ); 160 ty_OSD2.text[ TY_CC_Y_Offset + source - 1 ][ TY_CC_MAX_X - 1 ] = 0; 160 161 } 161 162 162 163 static void ty_drawchar( char c ) … … 252 253 TY_CC_CUR_Y = CC_row[ ( ( b1 << 1 ) & 14 ) | ( ( b2 >> 5 ) & 1 ) ]; 253 254 254 255 // Offset into MPlayer's Buffer 255 if ( ( TY_CC_CUR_Y >= 1 ) && ( TY_CC_CUR_Y <= 4 ) ) 256 if ( TY_CC_stat > TY_CCPAINTON ) { 257 TY_CC_CUR_Y = TY_CC_MAX_Y; 258 TY_CC_Y_Offset = SUB_MAX_TEXT - 5 - 1; 259 } 260 else if ( ( TY_CC_CUR_Y >= 1 ) && ( TY_CC_CUR_Y <= 4 ) ) 256 261 { 257 262 TY_CC_Y_Offset = SUB_MAX_TEXT - 5 - 1; 258 263 } 259 if ( ( TY_CC_CUR_Y >= 5 ) && ( TY_CC_CUR_Y <= 10 ) )264 else if ( ( TY_CC_CUR_Y >= 5 ) && ( TY_CC_CUR_Y <= 10 ) ) 260 265 { 261 266 TY_CC_Y_Offset = SUB_MAX_TEXT - 5 - 5; 262 267 } 263 if ( ( TY_CC_CUR_Y >= 12 ) && ( TY_CC_CUR_Y <= 15 ) )268 else if ( ( TY_CC_CUR_Y >= 12 ) && ( TY_CC_CUR_Y <= 15 ) ) 264 269 { 265 270 TY_CC_Y_Offset = SUB_MAX_TEXT - 5 - 12; 266 271 } … … 384 389 { 385 390 if ( TY_CC_stat == TY_CCPOPUP ) ty_ClearOSD( 1, 2 ); 386 391 TY_CC_stat = b2 - 0x23; 387 if ( TY_CC_CUR_Y < TY_CC_stat ) TY_CC_CUR_Y = TY_CC_stat; 392 TY_CC_CUR_Y = TY_CC_MAX_Y; 393 TY_CC_Y_Offset = SUB_MAX_TEXT - 5 - 1; 388 394 break; 389 395 } 390 396
