亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? showmp4osdtext.c

?? dvd里面的一個(gè)文件系統(tǒng)的代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
        	#if defined(SDRAM_16Mb_Mode)&&defined(EX_SUP_IN_CHANGLESS_POSITION)  //zxb 2006-5-9 20:29 for 16m first line in one position
        	osd_set_region_position( OSD_EXTERNAL_SUBTITLE_REGION, coPos.x, coPos.y + ( uiRegionHeight - uiFontHeight ) / 2 );
        	#else
            osd_set_region_position( OSD_EXTERNAL_SUBTITLE_REGION, coPos.x, coPos.y + ( uiRegionHeight - uiLineCnt * uiFontHeight ) / 2 );
            #endif
            osd_tog_region( OSD_EXTERNAL_SUBTITLE_REGION, OSD_ON );
        }
    }
}

#else

/*
 *Function:display text to osd,display max line:7,display max chinese font in a line:19
 *Parameter:*p:input string
 *           Size:length of string
 *Return:none      
 *Creator:suqiaoli
 *Date:2004-3-17
 *Date:2004/09/06 yltseng modify
*/

#include "OSDShowFont.h"

#define MAX_WORD    50

#ifdef SDRAM_16Mb_Mode
    #define MAX_LINE    2
#else
    #define MAX_LINE	7
#endif

//All char will be put into this str array
//if string long,it will newline
BYTE str[MAX_LINE][MAX_WORD];

#if defined (SUPPORT_SMI_MultiLanguage)||defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin
extern int strncmpIgnoreCase(char *a,char *b,unsigned i);
extern UINT8  SmiSupType;
#endif

#if defined (SUPPORT_SMI_MultiLanguage)
extern BYTE nowSupLang;
extern BYTE lang_temp[][15];
extern BYTE lang_num;
#define MAX_Para   3
#endif

#if defined(SUPPORT_SMI_MultiColor)
extern BYTE color_temp[][20];
extern BYTE palette_color_num;
extern  int  read_color_index(BYTE **cbufptr);
BYTE chrclr[MAX_LINE][MAX_WORD];
#endif

void ShowOSDText(const char *p,  UINT16 size)
{
    UINT32 uStrStatus=0;
    // 2004/09/03 yltseng	
	BYTE*pStr = (BYTE *)p;
	BYTE c,c1;
	
	BYTE *old_pStr;
	int old_i_len;
	
	int  show_line = -1;
	int  show_word = 0;
	UINT16  nsize=0;
	int  i_len;
	int len[MAX_LINE];
	int i;
	int count=0;
    UINT16  msize;

    #if defined (SUPPORT_SMI_MultiLanguage)
	UINT8 Para_num=0;
	UINT8 nPara_num;
	UINT32 Para_addr[MAX_Para];
	UINT8  Para_size[MAX_Para];
	BYTE ParaCntFlg=0;	
    #endif

    #if defined(SUPPORT_SMI_MultiColor)
	BYTE*pStrb = NULL;
    BYTE clr_index=1;
    #endif

    #ifdef	SUPPORT_FONT_OUTLINE
    Mp4Subtitle_flag=1;
    #endif

	osd_tog_region( 3, OSD_ON );
	
    //suxin,2005-07-29,for support subtitle of TMPlayer(*.txt)
	for(i = 0;i<=(size+11);i++)
	{
		if((pStr[i] == ',')&&(pStr[i+1] == '2')&&(pStr[i+2] == '='))
		{	
			int j;
			UINT16 len2;
			
			len2 = size - i + 11;
			i = i-8;
			for(j = 0;j<=len2;j++)
			{
				pStr[i] = pStr[i+11];
				i++;
			}
			break;
		}
	}//for(i = 0;i<=(size+11);i++)

    #if defined (SUPPORT_SMI_MultiLanguage)//2005-8-16 20:38 zhoulin	
	if(SmiSupType)//process the multiparagraph
	{
	    while(nsize<size)
    	{
    		if(*pStr=='<'&&(*(pStr+1)=='P'||*(pStr+1)=='p'))
    		{  
    			if(ParaCntFlg)
			    {   
			       Para_size[Para_num]=count;
			       Para_num++;
		        }
		        
    			ParaCntFlg=0;
    			
    			if(lang_num>1)
	    		{
	    			while(*pStr!='='&&nsize<size)
	                {
	                   nsize++;
	                   pStr++;
	                }      			
	    		    nsize++;
	    		    pStr++;
	    		    if(strncmpIgnoreCase( pStr,lang_temp[nowSupLang], strlen((const char*)lang_temp[nowSupLang]) )==0)
	    		    {        		       
	    		       while(*pStr!='>')
	    		       {  nsize++;
	    		    	  pStr++;   		       	     		         
	    		       }  
	    		       nsize++;
	    		       pStr++;
	    		       Para_addr[Para_num]=(UINT32) pStr;
	    		       count=0;
	    		       ParaCntFlg=1;
	       		    }
    		    }
    		    else
    		    {
    		       while(*pStr!='>')
    		       {  nsize++;
    		    	  pStr++;   		       	     		         
    		       }  
    		       nsize++;
    		       pStr++;
    		       Para_addr[Para_num]=(UINT32) pStr;
    		       count=0;
    		       ParaCntFlg=1;    		    
    		    }
    		}
    	    
    	    nsize++;
    		pStr++;
       	    if(ParaCntFlg)
       	      count++;       	    
       	}
       	
	    if(ParaCntFlg) 
	    {   
	       Para_size[Para_num]=count;
	       Para_num++;
        }
	}

	if(!SmiSupType)
    {      
        Para_num=1;
    }
	nPara_num=0;
    #endif	
	
	//Read and parse each char,display them on osd
	//include function:display more lines,newline,
	//when string length>276,it will newline
    #if defined (SUPPORT_SMI_MultiLanguage)//2005-8-16 20:38 zhoulin
	while(nPara_num<Para_num)
	{   
		nsize=0;
		if(SmiSupType)
        {  
        	msize=Para_size[nPara_num];
            pStr=(BYTE *)Para_addr[nPara_num];
        }
		else
		{
			msize=size;  
			pStr = (BYTE *)p;	   
		
		}
    #else
    msize=size;
    #endif		
    
	while(nsize<msize)
	{
		show_word = 0;
		i_len = 0;
		count = 0;
		show_line++;
        if( show_line > MAX_LINE - 1 )//most displayed line is 7 line
        {
    #if defined (SUPPORT_SMI_MultiLanguage)//2005-8-16 20:38 zhoulin
	        break;
	#else
            show_line = MAX_LINE - 1;
            break;
	#endif
	            
        }
        
		//read string to string buffer,except "return","next line"
	    while(((*pStr) != '\n' && nsize < msize )/*&& ((*pStr)!='\n')*/ )    // 2005/07/15 yltseng
		{	
    #if defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin
				if(SmiSupType)	
				{	while(*pStr=='<')
				    {
				    	
				    	if(strncmpIgnoreCase(  pStr, "</font>", 7 )==0)
				        {
				        	pStr+=7;
				            nsize+=7;
				            clr_index=1;
				        }
				    	else if(strncmpIgnoreCase(  pStr, "<font", 5 )==0 )
				    	{			    	
				            pStr+=5;
				            nsize+=5;
				            while(*pStr!='>')
				            {   pStr++;
				                nsize++;
				            	
				            	if(*pStr=='C'||*pStr=='c')
	                            { 	
	                            	if(strncmpIgnoreCase(  pStr, "color", 5 )==0)		            
				                    {   
				                    	pStr+=5;
				                        nsize+=5;
				                        pStrb=pStr;
				                    	clr_index=read_color_index(&pStr);
				                        if(clr_index==0) 
				                            clr_index=1;
				                        nsize=nsize+pStr-pStrb;
				                    } 
				                   
				                }   
				            } 
				            pStr++;
				            nsize++;
				        }
				        else break;
				    
				   }
				
			 }
    #endif	
			c = *pStr;
			c1 = *(pStr + 1);
    
            UINT32 uiRtnVal = langIsInCharacterSet( pStr );

            if(c=='\r')//wangap add 2005/1/25 
            {          //if '\n' not jump next line just continue
                pStr++;
                nsize++;
                continue;
            }
           
            if( uiRtnVal == FONT_NOT_IN_RANGE )
            {
                if ((c >= 32) && (c <= 126))
                    uiRtnVal = FONT_ONE_BYTE;
            }

            if( uiRtnVal == FONT_TWO_BYTE )
			{
				str[show_line][show_word]=c;
				str[show_line][show_word+1]=c1;
				
    #if defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin
                chrclr[show_line][show_word]=clr_index;
                chrclr[show_line][show_word+1]=clr_index;
    #endif				
				show_word+= 2;
				i_len+= FONT_LEN_EXTERNAL_TWO_BYTE;
				nsize+= 2;
				pStr += 2;
				if((((i_len-count*9)%2==0)&&(i_len>275))||(((i_len-count*9)%2==0)&&(i_len>276)))
					break;
			}
			else if( uiRtnVal == FONT_ONE_BYTE )
            {
				old_pStr = pStr;
			    old_i_len = i_len;
				str[show_line][show_word]=c;
				
    #if defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin
                chrclr[show_line][show_word]=clr_index;
    #endif	
				show_word += 1;
				i_len += FONT_LEN_EXTERNAL_ONE_BYTE;//len
				nsize += 1;
				pStr += 1;
				
				if(c == 32) //not to cut off a long word,according to space's position
				{
    			    do
                    {   
                        if(*old_pStr!='\r')
                            old_i_len += FONT_LEN_EXTERNAL_ONE_BYTE;//len
                            
                        old_pStr ++;
                        
                        if((*old_pStr == 32)|| (*old_pStr == '\n')||(old_i_len > 276)
    #if defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin
                        ||(*old_pStr == '<')
    #endif
                        )
                            break;
    			    }while(1);
			    
    			    if (old_i_len > 276)
    			        break;
				}
				else
				{
				    count++;
				    if (i_len>276)
					    break;	
			    }
            }
            else
            {
                uStrStatus =1;
                c = '?';
				str[show_line][show_word]=c;
				
    #if defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin
                chrclr[show_line][show_word]=clr_index;
    #endif	
				show_word+= 1;
				nsize+= 1;
				i_len+= FONT_LEN_INTERNAL_OSD;
				pStr += 1;
				count++;
				if (i_len>276)
					break;
            }
       
		}//while(((*pStr) != '\r')&& ((*pStr)!='\n') )
		       
        if(((*pStr) == '\n')/*||((*pStr) == '\n')*/)//count nsize,'\r':when "return",'\n':next line is blank
        {                  //'\n' just count nsize not jump next line wangap add 2005/1/25
			pStr++;
			nsize++;
		}

		len[show_line]=i_len;
		
		str[show_line][show_word]='\0';
		
		if( show_word <= 0 )//if blank line,string line will skip
			show_line--;
	    } //while(nsize<msize)
        
    #if defined (SUPPORT_SMI_MultiLanguage)//2005-8-16 20:38 zhoulin       
        if( show_line > MAX_LINE - 1 )//most displayed line is 7 line
	    {
	        show_line = MAX_LINE - 1;
	        break;
	    }
        
        nPara_num++;
    }
    #endif

	int    width    = (int) region[3].osd_w;
	int    height   = (int) region[3].osd_h/MAX_LINE;
	int	   xstart;

    //This is only for Nero Digital Certification (Temp solution)
    #ifdef SUPPORT_QUICKTIME
    if (uStrStatus && (GET_FILE_TYPE()==FILE_TYPE_ND))
    {
        //printf("Skip SubTitle uStrStatus = %x \n", uStrStatus);
        return;
    }
    #endif //SUPPORT_QUICKTIME

    for( i = show_line; i >= 0; i-- )//display each line srt title
    {
    #ifdef SWITCH_SUB_DIRECTION//libing 2005-7-15 14:43
        if(subtitle_ratate_flag)
            xstart = width - ( width - len[i] ) / 2;
        else
    #endif
        
            xstart = ( width - len[i] ) / 2;

        int ystart = height * ( MAX_LINE - ( show_line - i ) - 1 );
        
    #if defined(SUPPORT_SMI_MultiColor)//2005-8-16 20:38 zhoulin 
        if(SmiSupType)
            OSD_ShowColorString( xstart, ystart, str[i],chrclr[i], 3 );
        else
            OSD_ShowString( xstart, ystart, str[i], 2, 3 );
    #else  
         OSD_ShowString( xstart, ystart, str[i], 2, 3 );
    #endif
    }
}

#endif

#endif // #if defined( OSD_FONT_API ) && defined( SUPPORT_OSDSRT )

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久电影| 一本一道久久a久久精品综合蜜臀| 日韩精品一区二| 91精品国产麻豆国产自产在线| 欧美视频在线不卡| 日韩美女视频在线| 这里只有精品电影| 日韩精品在线一区| 精品国产在天天线2019| 国产亚洲欧洲一区高清在线观看| 久久久综合视频| 欧美国产一区在线| 婷婷激情综合网| 成人av片在线观看| 欧美日韩国产首页在线观看| 91超碰这里只有精品国产| 在线播放欧美女士性生活| 26uuu久久综合| 一区二区视频在线| 久久99精品久久久久久国产越南| 国产精品综合一区二区三区| 欧洲国内综合视频| 国产精品美女久久久久aⅴ| 日本网站在线观看一区二区三区| 国产福利精品一区| 久久久91精品国产一区二区精品| 中文字幕一区二区三区不卡在线| 日本在线不卡视频一二三区| 色中色一区二区| 中文久久乱码一区二区| 久久只精品国产| 精品福利一区二区三区| 亚洲电影第三页| 在线精品观看国产| 亚洲乱码国产乱码精品精可以看| 久久精工是国产品牌吗| 欧美一区二区视频在线观看2022| 中文字幕一区二区三区精华液 | 日韩亚洲国产中文字幕欧美| 一区二区三区日韩欧美| 91极品视觉盛宴| 亚洲va国产va欧美va观看| 欧洲一区在线电影| 日日欢夜夜爽一区| 欧美夫妻性生活| 麻豆精品视频在线观看免费| 精品电影一区二区三区| 成人午夜视频在线观看| 亚洲不卡av一区二区三区| 日韩精品一区二区三区在线观看| 国产在线精品一区在线观看麻豆| 中文一区二区在线观看| 一本色道久久综合精品竹菊| 久久99久久久欧美国产| 中文字幕亚洲欧美在线不卡| 欧美日韩一级片网站| 国产一区激情在线| 午夜精品在线看| 18欧美亚洲精品| 久久久久久一级片| 欧美妇女性影城| 色8久久精品久久久久久蜜| 国内精品写真在线观看| 亚洲综合无码一区二区| 国产精品国产三级国产普通话蜜臀 | 国产激情视频一区二区在线观看 | 亚洲精品在线观看网站| 欧美在线视频全部完| 国产成人午夜99999| 美腿丝袜在线亚洲一区 | 久久亚洲二区三区| 日韩一级高清毛片| 日韩欧美激情四射| 日韩欧美卡一卡二| 国产午夜精品一区二区三区嫩草| 欧美综合天天夜夜久久| 国产精品亚洲视频| 不卡区在线中文字幕| 97久久精品人人澡人人爽| 成人av片在线观看| 欧美日韩午夜在线视频| 制服丝袜亚洲色图| 国产精品卡一卡二卡三| 亚洲人成7777| 麻豆视频观看网址久久| 精品一区二区三区在线播放| 日本欧美韩国一区三区| 国产大陆亚洲精品国产| 色吧成人激情小说| 精品黑人一区二区三区久久| 国产精品美女久久久久久久网站| 一区二区三区久久| 91精品免费观看| 亚洲免费在线电影| 捆绑调教美女网站视频一区| 成人一区在线观看| 欧美高清视频一二三区 | 亚洲三级在线免费观看| 在线免费观看日本欧美| 久久久久久一级片| 欧美精品日韩一区| 午夜精品影院在线观看| 美腿丝袜亚洲色图| 在线观看91精品国产麻豆| 亚洲女同ⅹxx女同tv| 国产综合久久久久影院| 日韩欧美专区在线| 午夜电影一区二区三区| 在线视频综合导航| 一区二区三区日韩| 99久久婷婷国产| 国产精品成人午夜| av电影在线观看不卡| 国产精品九色蝌蚪自拍| 成人免费视频播放| 亚洲欧美日韩国产中文在线| 波多野结衣欧美| 亚洲靠逼com| 91精品婷婷国产综合久久| 同产精品九九九| 日韩免费福利电影在线观看| 亚洲国产日韩a在线播放| 51久久夜色精品国产麻豆| 日本aⅴ精品一区二区三区 | 国产不卡一区视频| 亚洲三级视频在线观看| 欧美伊人精品成人久久综合97| 亚洲成a人v欧美综合天堂| 久久亚洲精品小早川怜子| 91免费观看视频在线| 日韩国产一区二| 亚洲人成7777| 欧美精品一区二区三区四区| 成人av网站在线观看免费| 最新日韩av在线| 久久久国产午夜精品| 欧美日韩中文国产| 91免费精品国自产拍在线不卡 | 卡一卡二国产精品 | 91精品福利在线一区二区三区| 精品在线观看视频| 亚洲.国产.中文慕字在线| 久久一夜天堂av一区二区三区| 欧美在线影院一区二区| 国产98色在线|日韩| 精品亚洲成av人在线观看| 亚洲国产精品久久久男人的天堂| 国产精品每日更新在线播放网址| 久久一日本道色综合| 宅男噜噜噜66一区二区66| 欧美群妇大交群中文字幕| 成人毛片视频在线观看| 成人午夜激情影院| 9i看片成人免费高清| 97久久精品人人澡人人爽| 一本一本大道香蕉久在线精品 | 亚洲国产精品国自产拍av| 久久综合狠狠综合| 欧美国产一区二区| 国产精品九色蝌蚪自拍| 一区二区三区中文字幕| 亚洲成人你懂的| 国产乱妇无码大片在线观看| 久久国产尿小便嘘嘘尿| 丰满少妇久久久久久久| 欧美性大战久久久久久久| 欧美一级二级在线观看| 国产精品天干天干在观线| 悠悠色在线精品| 国产一区二区精品久久99| 91视频观看视频| 久久尤物电影视频在线观看| 中文字幕第一区第二区| 男女男精品网站| 色悠久久久久综合欧美99| 精品国产91洋老外米糕| 一区免费观看视频| 国产精品亚洲成人| 日韩午夜三级在线| 亚洲丶国产丶欧美一区二区三区| 国产精品亚洲专一区二区三区 | 国产宾馆实践打屁股91| 欧美日免费三级在线| 国产精品入口麻豆九色| 偷拍日韩校园综合在线| av不卡在线播放| 中文字幕一区二区三区色视频| 麻豆精品国产91久久久久久| 色综合久久综合| 最新欧美精品一区二区三区| www.成人网.com| 亚洲精品中文在线观看| 一本到不卡免费一区二区| 亚洲视频一区在线| 欧美日韩中文精品| 裸体歌舞表演一区二区| 欧美精品一区二区久久久| 久草这里只有精品视频| 国产精品成人免费在线| 成人99免费视频|