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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parsemp4dsi.c

?? SigmDesign SMP8634 media decode chip development SDK
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***************************************** Copyright ? 2001-2003	 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************/#include "../rua/include/rua.h"#include "parsemp4dsi.h"#define DBG_MAX_STRING 2000#if 0#define TRACE ENABLE#else#define TRACE DISABLE#endif//MPEG 4 visual object defines#define VIDEO_OBJECT_SEQUENCE_START_CODE        0x000001B0      // reserved in Mpeg2#define VIDEO_OBJECT_SEQUENCE_END_CODE          0x000001B1      // reserved in Mpeg2#define USER_DATA_START_CODE                    0x000001B2      // same as Mpeg2#define GROUP_VOP_START_CODE                    0x000001B3      // SEQUENCE_HEADER for Mpeg2#define VIDEO_SESSION_ERROR_CODE                0x000001B4      // SEQUENCE_ERROR_CODE for Mpeg2#define VISUAL_OBJECT_START_CODE                0x000001B5      // EXTENSION_START_CODE for Mpeg2#define VIDEO_OBJECT_START_CODE_BEGIN           0x00000100      // ??#define VOP_START_CODE                          0x000001B6      // reserved in Mpeg2// 0x000001B6 - 0x000001B9 reserved for Mpeg4#define FACE_OBJECT_START_CODE                  0x000001BA      // PACK_START_CODE for Mpeg2#define FACE_OBJECT_PLANE_START_CODE            0x000001BB      // SYSTEM_START_CODE for Mpeg2#define MESH_OBJECT_START_CODE                  0x000001BC      // PROGRAM_STREAM_MAP for Mpeg2#define MESH_OBJECT_PLANE_START_CODE            0x000001BD      // PRIVATE_STREAM_1 for Mpeg2#define STILL_TEXTURE_OBJECT_START_CODE         0x000001BE      // PADDING_STREAM for Mpeg2#define TEXTURE_SPATIAL_LAYER_START_CODE        0x000001BF      // PRIVATE_STREAM_2 for Mpeg2#define TEXTURE_SNR_LAYER_START_CODE            0x000001C0      // AUDIO_STREAM for Mpeg2// 0x000001C1 - 0x000001C5 reserved for Mpeg4// TBD system start codes 0x000001C6 - 0x000001FF	// AUDIO_STREAM for Mpeg2struct BitStreamParserContext {	RMuint32 m_incnt;	RMuint8 *m_rdbfr;	RMuint32 m_rdbfr_length;	RMuint8 *m_rdptr;	RMuint8 *m_rdmax;	RMuint32 m_bitcnt;	RMuint32 m_bfr;	};// return next n bits (right adjusted) without advancingstatic RMuint32 hwl_showbits (struct BitStreamParserContext *pContext, RMuint32 n){	return pContext->m_bfr >> (32-n);}// advance by n bitsstatic void hwl_flushbits (struct BitStreamParserContext *pContext, RMuint32 n, RMuint32 *Err){	RMuint32 incnt;	if(n<=31)		pContext->m_bfr <<= n;	else		pContext->m_bfr = 0;	incnt = pContext->m_incnt -= n;	if (incnt <= 24)	{		if (pContext->m_rdptr < pContext->m_rdbfr + (pContext->m_rdbfr_length - 4))		{			do			{				pContext->m_bfr |= *(pContext->m_rdptr++) << (24 - incnt);				incnt += 8;			}			while (incnt <= 24);		}		else		{			do			{				if (pContext->m_rdptr >= pContext->m_rdbfr + pContext->m_rdbfr_length)				{					(*Err)++;					pContext->m_bfr |= 0 << (24 - incnt);				}				else					pContext->m_bfr |= *(pContext->m_rdptr++) << (24 - incnt);				incnt += 8;			}			while (incnt <= 24);		}		pContext->m_incnt = incnt;	}}// return next n bits (right adjusted) + advancestatic RMuint32 hwl_getbits (struct BitStreamParserContext *pContext, RMuint32 n, RMuint32 *Err){	RMuint32 l;	l = hwl_showbits (pContext, n);	hwl_flushbits (pContext, n, Err);	return l;}// hwl_align to the next bytestatic void hwl_align (struct BitStreamParserContext *pContext, RMuint32 *Err){	RMuint32 incnt;	if (pContext->m_incnt != 32)	{		incnt = pContext->m_incnt % 8;		hwl_flushbits (pContext, incnt, Err);	}}static void BitStream (struct BitStreamParserContext *pContext, RMuint8 *pBuffer, RMuint32 Length, RMuint32 *Err){	pContext->m_rdbfr = pBuffer;	pContext->m_rdbfr_length = Length;	pContext->m_incnt = 0;	pContext->m_rdptr = pContext->m_rdbfr + pContext->m_rdbfr_length;	pContext->m_rdmax = pContext->m_rdptr;	pContext->m_bitcnt = 0;	pContext->m_bfr = 0;	pContext->m_rdptr = pContext->m_rdbfr;	hwl_flushbits (pContext, 0, Err);}RMstatus ParseMP4VideoDSI(void* pDsiIn, RMuint32 dwDsiInSize, void* pDsiOut, RMuint32 dwDsiOutSize){	RMuint32 Err = 0;	RMuint32 vop_time_increment_resolution;	RMuint32 temp;	struct BitStreamParserContext BitParserContext; 	if( (pDsiIn == NULL) || (dwDsiInSize == 0) )	{		RMDBGLOG((TRACE,"NULL DSI\n"));		return RM_ERROR;	} 	if( (pDsiOut == NULL) || (dwDsiOutSize == 0) )	{		RMDBGLOG((TRACE, "NULL DSIout\n"));		return RM_ERROR;	}	BitStream (&BitParserContext, (RMuint8*)pDsiIn, dwDsiInSize, &Err);	temp = hwl_getbits(&BitParserContext,32,&Err);	// visual_object_sequence_start_code	if( !Err && (temp != VIDEO_OBJECT_SEQUENCE_START_CODE) )	{		if( (temp & 0x000001E0) == VIDEO_OBJECT_START_CODE_BEGIN )	// vweb files			goto VideoObjectLayer;		if (temp == VISUAL_OBJECT_START_CODE)			goto VisualObject;	}	if( Err || (temp != VIDEO_OBJECT_SEQUENCE_START_CODE) )	{		RMDBGLOG((TRACE, "NO VIDEO_OBJECT_SEQUENCE_START_CODE\n"));		return RM_ERROR;	}	temp = hwl_getbits(&BitParserContext,8,&Err);	// profile_and_level_indication	if( Err )	{		RMDBGLOG((TRACE, "NO profile_and_level_indication\n"));		return RM_ERROR;	}	while( (temp = hwl_showbits(&BitParserContext,32)) != VISUAL_OBJECT_START_CODE)	{		temp = hwl_getbits(&BitParserContext,8,&Err);	// USER_DATA_START_CODE, user data		if( Err )		{			RMDBGLOG((TRACE, "NO VISUAL_OBJECT_START_CODE\n"));			return RM_ERROR;		}	}	temp = hwl_getbits(&BitParserContext,32,&Err);//VISUAL_OBJECT_START_CODE VisualObject:	temp = hwl_getbits(&BitParserContext,1,&Err);	// is_visual_object_identifier	if( temp )	{		temp = hwl_getbits(&BitParserContext,4,&Err);	// visual_object_verid should be 1		RMDBGLOG((TRACE, "visual_obj_verID %lu\n", temp));		if (temp != 1)			RMDBGLOG((ENABLE, "*** visual_obj_verID %lu != 1!!\n", temp));		temp = hwl_getbits(&BitParserContext,3,&Err);	// visual_object_priority should be 1..7, no 0		RMDBGLOG((TRACE, "visual_obj_priority %lu\n", temp));	}	temp = hwl_getbits(&BitParserContext,4,&Err);	// visual_object_type should be 1 = video id	if( temp != 1 )	{		RMDBGLOG((TRACE, "NO visual_object_type == video id\n"));		return RM_ERROR;	}	else	{		temp = hwl_getbits(&BitParserContext,1,&Err);	// video_signal_type		if( temp == 1 )		{			temp = hwl_getbits(&BitParserContext,3,&Err);	// video_format			RMDBGLOG((TRACE, "\tvideo_format %lu\n", temp));			temp = hwl_getbits(&BitParserContext,1,&Err);	// video_range			RMDBGLOG((TRACE, "\tvideo_range %lu\n", temp));			temp = hwl_getbits(&BitParserContext,1,&Err);	// colour_description			if( temp == 1 )			{				temp = hwl_getbits(&BitParserContext,8,&Err);	// colour_primaries				RMDBGLOG((TRACE, "\t\tcolour_primaries %lu\n", temp));				temp = hwl_getbits(&BitParserContext,8,&Err);	// transfer_characteristics				RMDBGLOG((TRACE, "\t\ttransfer_characteristics %lu\n", temp));				temp = hwl_getbits(&BitParserContext,8,&Err);	// matrix_coefficients				RMDBGLOG((TRACE, "\t\tmatrix_coeff %lu\n", temp));			}		}	}	hwl_align(&BitParserContext,&Err);	while( ((temp = hwl_showbits(&BitParserContext,32)) & 0x000001E0) != 0x00000100 )	{		temp = hwl_getbits(&BitParserContext,8,&Err);	// USER_DATA_START_CODE, user data		if( Err )		{			RMDBGLOG((TRACE, "NO video object start code\n"));			return RM_ERROR;		}	}	temp = hwl_getbits(&BitParserContext,32,&Err);	// video_object_start_code	RMDBGLOG((TRACE, "video_obj_start_code 0x%lx\n", temp));VideoObjectLayer:	temp = hwl_showbits(&BitParserContext,32);		// video_object_layer_start_code	if( (temp & 0x000001E0) == 0x00000120 )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区免费在线观看| 国产欧美中文在线| 欧美一级爆毛片| 日韩视频免费观看高清在线视频| 在线观看亚洲a| 欧美性受极品xxxx喷水| 精品视频一区 二区 三区| 在线免费观看不卡av| 91久久一区二区| jiyouzz国产精品久久| 在线观看一区二区视频| 欧美日韩高清一区二区不卡 | 国产精品麻豆一区二区| 国产精品丝袜91| 日韩电影在线一区二区三区| 美国av一区二区| gogogo免费视频观看亚洲一| 欧美日韩亚洲不卡| 久久亚洲二区三区| 亚洲高清视频的网址| 国产一区二区调教| 色噜噜狠狠色综合中国| 欧美午夜片在线观看| 久久久久9999亚洲精品| 亚洲一区在线观看免费观看电影高清 | 8v天堂国产在线一区二区| 精品免费99久久| 亚洲一级在线观看| 99久免费精品视频在线观看 | 欧美色中文字幕| 日韩欧美一级在线播放| 国产日产欧美精品一区二区三区| 亚洲美女一区二区三区| 北条麻妃国产九九精品视频| 久久免费的精品国产v∧| 亚洲精品高清在线| 国产+成+人+亚洲欧洲自线| 日韩午夜av一区| 一色屋精品亚洲香蕉网站| 国产精品白丝jk黑袜喷水| 精品理论电影在线观看| 石原莉奈一区二区三区在线观看 | 不卡免费追剧大全电视剧网站| 日韩美女在线视频| 蜜桃av一区二区三区| 91精品国产高清一区二区三区蜜臀| 亚洲另类在线视频| 91国模大尺度私拍在线视频| 亚洲精品国产品国语在线app| 99久久er热在这里只有精品15| 国产精品情趣视频| 激情久久五月天| 中文字幕不卡在线播放| 波多野结衣一区二区三区| 夜夜精品视频一区二区| 欧美日韩电影一区| 极品美女销魂一区二区三区| 精品福利在线导航| 97精品国产露脸对白| 亚洲高清视频的网址| 精品久久一二三区| 精品一区在线看| 精品视频1区2区| 国产成人av电影| 亚州成人在线电影| 精品国产青草久久久久福利| 成人黄色av网站在线| 午夜国产不卡在线观看视频| 精品福利在线导航| 欧美最猛性xxxxx直播| 久久精品国产精品青草| 国产精品午夜在线观看| 欧美午夜精品久久久| 国产在线一区观看| 久久久久久久久岛国免费| 一本高清dvd不卡在线观看| 亚洲成人黄色小说| 亚洲激情自拍偷拍| 日日欢夜夜爽一区| 亚洲免费观看高清在线观看| 日韩欧美在线不卡| 欧美一区二区三区爱爱| 成人免费看黄yyy456| 色爱区综合激月婷婷| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 久久久国产精华| 欧美激情一区二区| 欧美韩国日本不卡| 日韩一区在线播放| 午夜欧美在线一二页| 免费观看日韩av| 波多野结衣亚洲一区| 欧美色图一区二区三区| 日韩欧美成人激情| 中文字幕欧美国产| 亚洲丝袜制服诱惑| 美女视频黄频大全不卡视频在线播放| 精品无人码麻豆乱码1区2区 | 国产三级欧美三级日产三级99| 国产精品私房写真福利视频| 麻豆精品国产91久久久久久| 国产999精品久久久久久绿帽| 91久久精品一区二区三区| xf在线a精品一区二区视频网站| 亚洲国产精品精华液ab| 亚洲成av人片一区二区梦乃| 国产在线视频一区二区| 在线观看欧美黄色| 亚洲国产欧美一区二区三区丁香婷| 欧美精品久久久久久久久老牛影院| 日韩免费高清视频| 欧美三级电影在线看| 日韩欧美国产三级| 偷窥少妇高潮呻吟av久久免费| 成人高清免费在线播放| 精品黑人一区二区三区久久 | 99精品欧美一区| 日韩女优电影在线观看| 日韩在线播放一区二区| 在线影院国内精品| 国产日本欧洲亚洲| 国产精品456露脸| 亚洲精品一线二线三线无人区| 无吗不卡中文字幕| 欧美一卡二卡三卡| 免费成人在线视频观看| 3atv一区二区三区| 免费成人美女在线观看.| 91.com在线观看| 国产伦精品一区二区三区免费迷| 欧美精品99久久久**| 日韩国产在线观看一区| 7777精品伊人久久久大香线蕉超级流畅 | 丁香天五香天堂综合| 国产精品每日更新在线播放网址| 91网站最新网址| 亚洲一区二区三区激情| 欧美肥大bbwbbw高潮| 韩国欧美国产1区| 成人免费视频在线观看| 色噜噜狠狠成人网p站| 蜜臀久久99精品久久久久久9 | 蜜桃一区二区三区在线| 国产性做久久久久久| 91成人国产精品| 精品一区二区国语对白| 亚洲男人的天堂在线aⅴ视频 | 免费在线欧美视频| 亚洲精品网站在线观看| 精品国产一区二区精华| 91美女片黄在线观看91美女| 久久99久久99| 亚洲国产精品久久艾草纯爱| 国产日韩欧美综合一区| 欧美日本一区二区| 日本二三区不卡| av日韩在线网站| 91蜜桃在线观看| 日韩高清电影一区| 亚洲精品大片www| 亚洲欧美怡红院| 中文字幕五月欧美| 国产欧美一区二区精品婷婷| 欧美电影精品一区二区| 色婷婷av一区二区三区gif| 国产综合色精品一区二区三区| 婷婷中文字幕综合| 亚洲h在线观看| 一区二区三区**美女毛片| 中文字幕一区不卡| 综合网在线视频| 亚洲激情在线激情| 亚洲一线二线三线视频| 亚洲女人小视频在线观看| 中文字幕在线免费不卡| 亚洲欧洲日产国码二区| 亚洲激情图片qvod| 午夜精品久久久| 另类的小说在线视频另类成人小视频在线| 同产精品九九九| 国产不卡视频在线播放| 92国产精品观看| 日韩一区二区三区三四区视频在线观看| 欧美一区午夜视频在线观看| 久久品道一品道久久精品| 亚洲精品欧美激情| 六月婷婷色综合| www.在线欧美| 日韩欧美一区二区不卡| 中文一区在线播放| 青青草原综合久久大伊人精品 | 美女在线视频一区| 一本色道久久综合精品竹菊| 精品国产网站在线观看| 国产精品麻豆一区二区| 久久er99精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美一区三区四区| 亚洲大片免费看| 91小视频在线免费看|