⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encvideoobjectlayer.h

📁 freescale i.mx31 BSP CE5.0全部源码
💻 H
字号:
/*------------------------------------------------------------------------------
--                                                                            --
--       This software is confidential and proprietary and may be used        --
--        only as expressly authorized by a licensing agreement from          --
--                                                                            --
--                            Hantro Products Oy.                             --
--                                                                            --
--      In the event of publication, the following notice is applicable:      --
--                                                                            --
--                   (C) COPYRIGHT 2004 HANTRO PRODUCTS OY                    --
--                            ALL RIGHTS RESERVED                             --
--                                                                            --
--          The entire notice above must be reproduced on all copies.         --
--                                                                            --
--------------------------------------------------------------------------------
--
--  Description : Encoder internal
--
-------------------------------------------------------------------------------*/


/*------------------------------------------------------------------------------

    Table of context

    1. Include headers
    2. External compiler flags
    3. Module defines
    4. Function prototypes

------------------------------------------------------------------------------*/
#ifndef __ENC_VIDEO_OBJECT_LAYER_H__
#define __ENC_VIDEO_OBJECT_LAYER_H__

/*------------------------------------------------------------------------------
    1. Include headers
------------------------------------------------------------------------------*/
#include "basetype.h"
#include "EncSim.h"
#include "EncUserData.h"
#include "EncPutBits.h"

/*------------------------------------------------------------------------------
    2. External compiler flags
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
    3. Module defines
------------------------------------------------------------------------------*/
typedef struct {
	true_e	vbvParameter;			/* YES/NO */
	i32	chromaFormat;			/* Table 6-13 */
	i32	lowDelay;			/* value = [0,1] */
	i32	firstHalfBitRate;		/* 15 bit */
	i32	latterHalfBitRate;		/* 15 bit */
	i32	firstHalfVbvBufferSize;		/* 15 bit */
	i32	latterHalfVbvBufferSize;	/*  3 bit */
	i32	firstHalfVbvOccupancy;		/* 11 bit */
	i32	latterHalfVbvOccupancy;		/* 15 bit */
} volControlParameter_s;

/* videoObjectLayerShape (This is index to Table 6-14) */
typedef enum {
	RECTANGULAR = 0,
	BINARY      = 1,
	BINARYONLY  = 2,
	GRAYSCALE   = 3
} layerShape_e;

/* Video Object Layer */
typedef struct {
	true_e	header;				/* YES/NO */
	true_e	isObjectLayerIdentifier;	/* YES/NO */
	true_e	isVolControlParameter;		/* YES/NO */
	true_e	fixedVopRate;			/* YES/NO */
	true_e	complexityEstimationDisable;	/* YES/NO */
	true_e	resyncMarkerDisable;		/* YES/NO */
	true_e	dataPart;		/* YES/NO */
	true_e	rvlc;			/* YES/NO */
	i32	randomAccessibleVol;		/* value = [0,1] */
	i32	videoObjectTypeIndication;	/* Table 6-10 */
	i32	videoObjectLayerVerid;		/* Table 6-11 */
	i32	videoObjectLayerPriority;	/* value = [1,2...7] */
	i32	aspectRatioInfo;		/* Table 6-12 */
	i32	parWidth;			/* value = [1...255] */
	i32	parHeight;			/* value = [1...255] */
	i32	vopTimeIncRes;	/* Input frame rate numerator */
	i32	fixedVopTimeInc;		/* Input frame rate numerator */
	i32	videoObjectLayerWidth;		/* 13 bit */
	i32	videoObjectLayerHeight;		/* 13 bit */
	volControlParameter_s volControlParameter;
	userData_s userData;			/* User data */
} vol_s;

/*------------------------------------------------------------------------------
    4. Function prototypes
------------------------------------------------------------------------------*/
void EncVolInit(vol_s *vol);
void EncVolHdr(stream_s *, vol_s *);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -