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

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

?? mpeg1pes.h

?? Sun公司Dream項目
?? H
字號:
/*
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the "License").  You may not use this file except
 * in compliance with the License.
 *
 * You can obtain a copy of the license at
 * http://www.opensource.org/licenses/cddl1.php
 * See the License for the specific language governing
 * permissions and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL
 * HEADER in each file and include the License file at
 * http://www.opensource.org/licenses/cddl1.php.  If 
 * applicable, add the following below this CDDL HEADER, 
 * with the fields enclosed by brackets "[]" replaced 
 * with your own identifying information: 
 * Portions Copyright [yyyy]
 * [name of copyright owner]
 */ 

/*
 * $(@)Mpeg1Pes.h $Revision: 1.1.1.1 $ $Date: 2006/04/17 22:47:31 $
 * 
 * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
 */
/*
 * Copyright (c) 1996 by Sun Microsystems, Inc.
 */

/*
 * Mpeg1Pes.h
 * 
 * Mpeg1Pes.h is the interface to information gleaned by parsing MPEG1 PES
 * streams.
 */

#ifndef	_MMP_MPEG1PES_H
#define	_MMP_MPEG1PES_H

#pragma ident "@(#)Mpeg1Pes.h 1.1	96/09/18 SMI"

/***********************************************************************
 * Includes
 ***********************************************************************/

#include "cobjs/Foreign.h"
#include "cobjs/Macros.h"
#include "cobjs/Types.h"
#include "cobjs/RetCode.h"

#include "mmp/Mmp.h"
#include "mmp/Pipe.h"

_FOREIGN_START

/***********************************************************************
 * Mpeg1 PES Types
 ***********************************************************************/

typedef struct Mpeg1PesPacket {
    BIT1(packetStartCodePrefix23_16:8);
    BIT1(packetStartCodePrefix15_8:8);
    BIT1(packetStartCodePrefix7_0:8);
    BIT1(streamId:8);
    BIT1(packetLength15_8:8);
    BIT1(packetLength7_0:8);
    /*
     * This is optionally followed by: stuffing bytes stdBuffer info
     * presentation time stamp decoding time stamp And the followed by packet
     * data bytes.
     */
} Mpeg1PesPacket;

#define	MPEG1_PES_PACKET_START_CODE_PREFIX(p)				\
	(   ( ((p)->packetStartCodePrefix23_16) << 16 )			\
	  | ( ((p)->packetStartCodePrefix15_8) << 8 )			\
	  | ( (p)->packetStartCodePrefix7_0)				\
	)

#define	IS_MPEG1_PES_PACKET_START_CODE_PREFIX(p)			\
	(MPEG1_PES_PACKET_START_CODE_PREFIX(p) == 0x000001)

#define	MPEG1_PES_STREAM_ID_MIN				0xbc
#define	MPEG1_PES_STREAM_ID_PRIVATE_STREAM_1		0xbd
#define	MPEG1_PES_STREAM_ID_PADDING_STREAM		0xbe
#define	MPEG1_PES_STREAM_ID_PRIVATE_STREAM_2		0xbf
#define	MPEG1_PES_STREAM_ID_MAX				0xff

#define	MPEG1_PES_STREAM_ID_TYPE(s)			((s) & 0xf0)

#define	MPEG1_PES_STREAM_ID_TYPE_SPECIAL		0xb0
#define	MPEG1_PES_STREAM_ID_TYPE_AUDIO_1		0xc0
#define	MPEG1_PES_STREAM_ID_TYPE_AUDIO_2		0xd0
#define	MPEG1_PES_STREAM_ID_TYPE_VIDEO			0xe0
#define	MPEG1_PES_STREAM_ID_TYPE_RESERVED_DATA_STREAM	0xf0

#define	MPEG1_PES_PACKET_LENGTH(p)				\
	( 							\
	    ((p)->packetLength15_8 << 8)			\
	  |  (p)->packetLength7_0				\
	)

#define	MPEG1_PES_STUFF_BYTE		0xff
#define	MPEG1_PES_END_BYTE		0x0f

typedef struct Mpeg1PesStdBuffer {
    BIT3(b01:2,
	 stdBufferScale:1,
	 stdBufferSize12_8:5);
    BIT1(stdBufferSize7_0:8);
} Mpeg1PesStdBuffer;

#define	MPEG1_PES_STD_BUFFER_SIZE(p)				\
	(							\
	    ((p)->stdBufferSize12_8 << 8)			\
	  |  (p)->stdBufferSize7_0				\
	)

typedef struct Mpeg1PesTimeStamp {
    BIT3(bflag:4,			   /* '0010' or '0011' or '0001' */
	 timeStamp32_30:3,
	 markerBit_1:1);
    BIT1(timeStamp29_22:8);
    BIT2(timeStamp21_15:7,
	 markerBit_2:1);
    BIT1(timeStamp14_7:8);
    BIT2(timeStamp6_0:7,
	 markerBit_3:1);
} Mpeg1PesTimeStamp;

#define	MPEG1_PES_TIME_STAMP(p)					\
	(   ((u64)((p)->timeStamp32_30) << 30) 			\
	  | ((p)->timeStamp29_22 << 22) 			\
	  | ((p)->timeStamp21_15 << 15) 			\
	  | ((p)->timeStamp14_7 << 7) 				\
	  |  (p)->timeStamp6_0					\
	)

/***********************************************************************
 * Mpeg1 PES Callback Info Types
 ***********************************************************************/

typedef struct Mpeg1PesInfo {
    PipePosition        position;

    /* packet */
    Mpeg1PesPacket      packet;

    Boolean             hasStdBuffer;
    Mpeg1PesStdBuffer   stdBuffer;

    Boolean             hasPresentationTimeStamp;
    Mpeg1PesTimeStamp   presentationTimeStamp;

    Boolean             hasDecodingTimeStamp;
    Mpeg1PesTimeStamp   decodingTimeStamp;

} Mpeg1PesInfo;

typedef RetCode     (*Mpeg1PesCallBack) (void *token, Mpeg1PesInfo *infop,
				                           RetCode retCode);

/***********************************************************************
 * Mpeg1 PES Error Codes
 *
 * NOTE: Use retCodeFor(MPEG1PES_CLASSNAME, Mpeg1PesError) to map to
 * RetCode.
 ***********************************************************************/

#define	MPEG1PES_CLASSNAME	"Mpeg1Pes"

typedef enum Mpeg1PesError {
    MPEG1_PES_ERROR_SYNTAX = 1,		   /* packet syntax */
    MPEG1_PES_ERROR_LEN			   /* packet length mismatch */
} Mpeg1PesError;

/***********************************************************************
 * Mpeg1 PES Instance Type
 ***********************************************************************/

typedef struct _Mpeg1Pes *Mpeg1Pes;

/***********************************************************************
 * Mpeg1 PES Class Methods
 ***********************************************************************/

extern Mpeg1Pes     mpeg1PesNew(void);

/***********************************************************************
 * Mpeg1 PES Instance Methods
 ***********************************************************************/

/*
 * Declare elementary stream parsers for each stream id
 */
extern void
mpeg1PesSetEsParsers(Mpeg1Pes mpeg1Pes,
	       MmpParserObject *streamIdToPop[MPEG1_PES_STREAM_ID_MAX + 1]);

extern MmpParserObject *mpeg1PesParserObject(Mpeg1Pes mpeg1Pes);

extern void
mpeg1PesSetCallBack(Mpeg1Pes mpeg1Pes, Mpeg1PesCallBack callBack,
	            void *token);

/*
 * doFlush == TRUE => parse payload "synchronously"
 */
extern void         mpeg1PesSetFlush(Mpeg1Pes mpeg1Pes, Boolean doFlush);

extern void         mpeg1PesFree(Mpeg1Pes mpeg1Pes);

_FOREIGN_END

#endif					   /* _MMP_MPEG1PES_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品高清在线| 精品制服美女丁香| 成人免费视频一区二区| 国产亚洲成av人在线观看导航| 日韩不卡在线观看日韩不卡视频| 欧美日韩中文字幕一区二区| 亚洲综合免费观看高清在线观看| 91在线云播放| 老司机午夜精品99久久| 91麻豆精品国产91久久久使用方法| 午夜精品久久久久久不卡8050| 日韩一区二区三区视频在线| 狠狠v欧美v日韩v亚洲ⅴ| 国产农村妇女毛片精品久久麻豆 | 一级精品视频在线观看宜春院 | 亚洲人成网站影音先锋播放| 色婷婷av一区二区三区大白胸| 午夜电影久久久| 中文字幕乱码一区二区免费| 欧美一级日韩免费不卡| 精品福利在线导航| 国产三级欧美三级| 欧美日韩一区精品| 99视频一区二区三区| 日韩中文欧美在线| 亚洲国产精品久久人人爱| 久久精品一区四区| 欧美成人三级电影在线| 欧美精品丝袜中出| 欧美性猛交xxxx乱大交退制版| 国产精品一二三四| 日韩国产精品大片| 午夜视频一区在线观看| 玉足女爽爽91| 亚洲综合偷拍欧美一区色| 亚洲欧美乱综合| 国产精品美女久久久久久久| 久久久久久久电影| 亚洲国产高清不卡| 椎名由奈av一区二区三区| 国产日韩欧美精品在线| 国产精品区一区二区三区| 国产精品无圣光一区二区| 日本一区二区三区四区| 国产精品久久久久桃色tv| 日韩码欧中文字| 天天亚洲美女在线视频| 国产一区二区三区在线观看免费视频| 免费成人在线视频观看| 国产精品一区二区无线| 不卡在线视频中文字幕| 在线观看国产一区二区| 欧美大片在线观看一区二区| 欧美激情一区二区三区不卡 | 精品国产髙清在线看国产毛片 | 在线视频欧美精品| 欧美一区二区免费观在线| 国产精品网站在线| 日韩精品视频网站| 91一区二区在线| 国产拍欧美日韩视频二区| 一区二区三区产品免费精品久久75| 亚洲网友自拍偷拍| 成人黄色av电影| 久久免费午夜影院| 日韩电影免费在线| 欧美高清视频不卡网| 日韩一区欧美小说| jlzzjlzz亚洲日本少妇| 久久久亚洲精华液精华液精华液| 午夜免费久久看| 色综合久久久久| ...av二区三区久久精品| 国产成人aaa| 国产精品你懂的在线欣赏| 美女网站一区二区| 日韩欧美国产综合一区| 免费精品视频最新在线| 欧美群妇大交群中文字幕| 亚洲福利国产精品| 视频一区视频二区在线观看| 日韩和的一区二区| 日韩欧美电影在线| 国产一区二区三区免费观看| 日韩免费观看2025年上映的电影 | 欧美一级日韩免费不卡| 国产精品一级片在线观看| 欧美日本视频在线| 国产九色sp调教91| 亚洲免费观看在线观看| 在线电影院国产精品| 国产精品综合网| 亚洲男人的天堂av| 日韩丝袜情趣美女图片| 国产一区二区久久| 亚洲色图.com| 日韩免费在线观看| 色88888久久久久久影院按摩| 亚洲一区二区精品视频| 国产亚洲精品aa午夜观看| 欧美日韩国产中文| 成人国产精品视频| 国内久久精品视频| 午夜激情综合网| 中文字幕中文字幕一区| 日韩精品资源二区在线| 色婷婷国产精品| 99久久99久久精品免费观看| 美女一区二区三区| 日韩av一级电影| 亚洲美女精品一区| 中文字幕免费观看一区| 精品免费国产二区三区| 欧美一区二区三区四区在线观看| 国产精品自拍毛片| 激情文学综合插| 日精品一区二区| 亚洲国产一区二区在线播放| 亚洲视频在线一区| 国产精品成人一区二区艾草| 亚洲国产精品黑人久久久| 国产欧美精品一区二区色综合 | 欧美伦理电影网| 欧美一区永久视频免费观看| 欧美精选午夜久久久乱码6080| 在线观看一区不卡| 欧美私模裸体表演在线观看| 欧美日韩精品欧美日韩精品一 | 免费高清不卡av| 精品中文字幕一区二区小辣椒| 国产一区欧美一区| 97精品电影院| 制服.丝袜.亚洲.中文.综合| 中文在线一区二区| 亚洲精品一线二线三线| 久久理论电影网| 一区二区三区在线播放| 青青草97国产精品免费观看| 麻豆91小视频| 成人性生交大片| 欧美福利视频一区| 亚洲欧美视频一区| 久久99精品久久久| 91福利视频网站| 国产区在线观看成人精品 | 欧美高清性hdvideosex| 欧美一区二区三区日韩视频| 日本一区二区免费在线| 婷婷综合久久一区二区三区| 成人精品一区二区三区四区| 欧美久久高跟鞋激| 亚洲国产一区二区a毛片| 国产精品综合一区二区三区| 欧美一级二级在线观看| 亚洲制服欧美中文字幕中文字幕| 国产在线一区观看| 337p日本欧洲亚洲大胆精品 | 久久一区二区视频| 久久99精品国产| 337p日本欧洲亚洲大胆精品| 三级欧美韩日大片在线看| 欧美卡1卡2卡| 婷婷综合在线观看| 欧美成人伊人久久综合网| 日韩精品久久理论片| 欧美一激情一区二区三区| 奇米色一区二区三区四区| 日韩三级高清在线| 精品一区二区三区视频在线观看 | 国产91丝袜在线18| 成人欧美一区二区三区| 日韩av高清在线观看| 精品国产乱码久久久久久闺蜜| 国内偷窥港台综合视频在线播放| 欧美精品一区二区三| 久久99日本精品| 国产精品国模大尺度视频| 一本大道av伊人久久综合| 一区二区三区欧美激情| 69堂国产成人免费视频| 懂色av一区二区三区免费看| 亚洲精选视频免费看| 精品人伦一区二区色婷婷| thepron国产精品| 国产在线精品一区在线观看麻豆| 欧美国产精品专区| 日韩午夜激情av| 91久久久免费一区二区| 国产精品性做久久久久久| 亚洲免费观看高清在线观看| 欧美一级xxx| 欧美日韩国产高清一区二区三区 | 亚洲午夜免费电影| 亚洲三级在线观看| 国产免费观看久久| 精品毛片乱码1区2区3区| 欧美精品色综合| 欧美精品乱码久久久久久| 色综合久久久久久久久久久| 色哟哟欧美精品|