videoeditorengine/avcedit/inc/macroblock.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoeditorengine/avcedit/inc/macroblock.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,81 @@
+/*
+* 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 _MACROBLOCK_H_
+#define _MACROBLOCK_H_
+
+
+#include "globals.h"
+#include "framebuffer.h"
+#include "bitbuffer.h"
+
+
+#define MBK_ERROR  -1
+#define MBK_OK      0
+#define MBK_PCM_FOUND  2
+
+
+typedef struct _macroblock_s
+{
+  int type;
+  int numSkipped;
+
+  int intraType;
+  int intraMode;
+  int intraModeChroma;
+
+  int interMode;
+  int inter8x8modes[4];
+  int refNum[4];
+  int numMotVecs;
+
+  int qp, qpC;
+  int idxX, idxY;
+  int blkX, blkY;
+  int pixX, pixY;
+
+  int cbpY, cbpC, cbpChromaDC;
+
+  u_int8 predY[MBK_SIZE][MBK_SIZE];
+  u_int8 predC[MBK_SIZE/2][MBK_SIZE];
+
+  int dcCoefY[BLK_PER_MB][BLK_PER_MB];
+  int dcCoefC[2][BLK_PER_MB/2][BLK_PER_MB/2];
+
+  int coefY[BLK_PER_MB][BLK_PER_MB][BLK_SIZE][BLK_SIZE];
+  int coefC[2][BLK_PER_MB/2][BLK_PER_MB/2][BLK_SIZE][BLK_SIZE];
+
+  int mbAvailBits;
+
+  int8 numCoefLeftPred[BLK_PER_MB];
+  int8 numCoefLeftPredC[2][BLK_PER_MB/2];
+
+  int8 ipModesLeftPred[BLK_PER_MB];
+
+} macroblock_s;
+
+
+void mbkSetInitialQP(macroblock_s *mb, int qp, int chromaQpIdx);
+
+TInt mbkParse(macroblock_s *mb, 
+              TInt numRefFrames, mbAttributes_s *mbData, TInt picWidth, 
+              TInt picType, TInt constIpred, TInt chromaQpIdx,
+              TInt mbIdxX, TInt mbIdxY, void *streamBuf, TInt aBitOffset);
+
+#endif