92 lines
2.7 KiB
C
92 lines
2.7 KiB
C
/******************************************************************************* *\
|
|
|
|
INTEL CORPORATION PROPRIETARY INFORMATION
|
|
This software is supplied under the terms of a license agreement or nondisclosure
|
|
agreement with Intel Corporation and may not be copied or disclosed except in
|
|
accordance with the terms of that agreement
|
|
Copyright(c) 2010 - 2011 Intel Corporation. All Rights Reserved.
|
|
|
|
File Name: mfxmvc.h
|
|
|
|
*******************************************************************************/
|
|
#ifndef __MFXMVC_H__
|
|
#define __MFXMVC_H__
|
|
|
|
#include "mfxdefs.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* CodecProfile, CodecLevel */
|
|
enum {
|
|
/* MVC profiles */
|
|
MFX_PROFILE_AVC_MULTIVIEW_HIGH =118,
|
|
MFX_PROFILE_AVC_STEREO_HIGH =128
|
|
};
|
|
|
|
/* Extended Buffer Ids */
|
|
enum {
|
|
MFX_EXTBUFF_MVC_SEQ_DESC = MFX_MAKEFOURCC('M','V','C','D'),
|
|
MFX_EXTBUFF_MVC_TARGET_VIEWS = MFX_MAKEFOURCC('M','V','C','T')
|
|
};
|
|
|
|
typedef struct {
|
|
mfxU16 ViewId;
|
|
|
|
mfxU16 NumAnchorRefsL0;
|
|
mfxU16 NumAnchorRefsL1;
|
|
mfxU16 AnchorRefL0[16];
|
|
mfxU16 AnchorRefL1[16];
|
|
|
|
mfxU16 NumNonAnchorRefsL0;
|
|
mfxU16 NumNonAnchorRefsL1;
|
|
mfxU16 NonAnchorRefL0[16];
|
|
mfxU16 NonAnchorRefL1[16];
|
|
} mfxMVCViewDependency;
|
|
|
|
typedef struct {
|
|
mfxU16 TemporalId; /* operation point temporal ID */
|
|
mfxU16 LevelIdc;
|
|
|
|
mfxU16 NumViews; /* total number of views, including "depend on" views */
|
|
mfxU16 NumTargetViews; /* number of the output views for the current operation point */
|
|
mfxU16 *TargetViewId; /* array of target view ID, it points to mfxExtMVCSeqDesc::ViewId, set by SDK */
|
|
} mfxMVCOperationPoint;
|
|
|
|
typedef struct {
|
|
mfxExtBuffer Header;
|
|
|
|
mfxU32 NumView; /* number of view in the stream, set by SDK */
|
|
mfxU32 NumViewAlloc; /* number of allocated elements, set by application */
|
|
mfxMVCViewDependency *View; /* view ID and list of views used as reference for this view, allocated by application */
|
|
|
|
mfxU32 NumViewId; /* num of views IDs, to simplify copying, set by SDK */
|
|
mfxU32 NumViewIdAlloc; /* number of allocated elements, set by application */
|
|
mfxU16 *ViewId; /* allocated by application */
|
|
|
|
mfxU32 NumOP; /* number of operation points in OP array, set by SDK */
|
|
mfxU32 NumOPAlloc; /* number of allocated elements in OP array, set by application */
|
|
mfxMVCOperationPoint *OP; /* allocated by application */
|
|
|
|
mfxU16 NumRefsTotal; /* total number of reference frames in the sequence */
|
|
mfxU32 Reserved[16];
|
|
|
|
} mfxExtMVCSeqDesc;
|
|
|
|
typedef struct {
|
|
mfxExtBuffer Header;
|
|
|
|
mfxU16 TemporalId;
|
|
mfxU32 NumView; /* number of view to decode */
|
|
mfxU16 ViewId[1024];
|
|
} mfxExtMVCTargetViews ;
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif
|
|
|