videoeditorengine/avcedit/inc/framebuffer.h
changeset 0 951a5db380a0
--- /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