qt_demoe/ffmpegdemo/ffmpeg/ffmpeg3/include64/mfx/mfxmvc.h

92 lines
2.7 KiB
C
Raw Normal View History

2020-04-22 06:36:41 +00:00
/******************************************************************************* *\
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