diff -r 000000000000 -r 951a5db380a0 videoeditorengine/avcedit/inc/framebuffer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videoeditorengine/avcedit/inc/framebuffer.h Fri Jan 29 14:08:33 2010 +0200 @@ -0,0 +1,114 @@ +/* +* Copyright (c) 2010 Ixonos Plc. +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - Initial contribution +* +* Contributors: +* Ixonos Plc +* +* Description: +* +*/ + + +#ifndef _FRAMEBUFFER_H_ +#define _FRAMEBUFFER_H_ + + +#include "nrctyp32.h" +#include "globals.h" +#include "avcdapi.h" + + +#define FRM_NON_REF_PIC 0 +#define FRM_SHORT_TERM_PIC 1 +#define FRM_LONG_TERM_PIC 2 + + +typedef struct _frmBuf_s { + int constraintSet0flag; + int constraintSet1flag; + int constraintSet2flag; + int profile; + int level; + int width; + int height; + unsigned cropLeftOff; + unsigned cropRightOff; + unsigned cropTopOff; + unsigned cropBottomOff; + + int aspectRatioNum; + int aspectRatioDenom; + int overscanInfo; + int videoFormat; + int videoFullRangeFlag; + int matrixCoefficients; + int chromaSampleLocType; + int numReorderFrames; + float frameRate; + + int imgPadding; + + int qp; + int chromaQpIndexOffset; + + int32 frameNum; + int32 maxFrameNum; + int32 picNum; + int longTermFrmIdx; + int longTermPicNum; + int refType; /* non-ref, short term or long term */ + int forOutput; /* If this frame is waiting for output */ + int nonExisting; + int32 poc; + int isIDR; + int idrPicID; + int hasMMCO5; + int picType; + + int pictureStructure; + + int lossy; +/*#if defined(ERROR_CONCEALMENT) && defined(BACKCHANNEL_INFO) + unsigned char *mbLossMap; +#endif*/ + + int sceneCut; + +} frmBuf_s; + + +typedef struct _mbAttributes_s { + int *sliceMap; + int8 *mbTypeTable; + int8 *qpTable; + int8 *refIdxTable; + int *cbpTable; + int8 *ipModesUpPred; + motVec_s *motVecTable; + int8 *numCoefUpPred[3]; + int8 *filterModeTab; + int8 *alphaOffset; + int8 *betaOffset; +} mbAttributes_s; + + +frmBuf_s *frmOpen(mbAttributes_s **mbData, int width, int height); + +frmBuf_s *frmOpenRef(int width, int height); + +void frmClose(frmBuf_s *recoBuf, mbAttributes_s *mbData); + +void frmCloseRef(frmBuf_s *ref); + +frmBuf_s *frmMakeRefFrame(frmBuf_s *recoBuf, frmBuf_s *refBuf); + + +#endif