--- a/videoeditorengine/avcedit/src/framebuffer.cpp Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#include <string.h>
-#include "globals.h"
-#include "framebuffer.h"
-
-/*
- * Static functions
- */
-
-static void *allocMem(int blkSize, size_t unitSize);
-
-static frmBuf_s *initRefFrame(frmBuf_s *recoBuf, frmBuf_s *refBuf);
-
-
-
-/*
- *
- * allocMem:
- *
- * Parameters:
- * blkSize Block size
- * unitSize unit size
- *
- * Function:
- * Allocate blkSize*unitSize bytes of memory
- *
- * Returns:
- * Pointer to allocated memory or NULL
- *
- */
-static void *allocMem(int blkSize, size_t unitSize)
-{
- void *mem;
-
- if ((mem = User::Alloc(blkSize*unitSize)) == NULL) {
- PRINT((_L("Cannot allocate memory for frame\n")));
- }
-
- return mem;
-}
-
-
-/*
- *
- * frmOpen:
- *
- * Parameters:
- * mbData Macroblock state buffer
- * width Width of the frame
- * height Height of the frame
- *
- * Function:
- * Allocate memory for frame buffer and macroblock state buffer.
- *
- * Returns:
- * Pointer to allocated frame buffer or NULL
- *
- */
-frmBuf_s *frmOpen(mbAttributes_s **mbData, int width, int height)
-{
-// int numPels = width*height;
- int numBlksPerLine = width/BLK_SIZE;
- int numBlocks = numBlksPerLine*height/BLK_SIZE;
- int numMacroblocks = width/MBK_SIZE*height/MBK_SIZE;
- frmBuf_s *recoBuf;
- mbAttributes_s *mbDataTmp;
-
- if ((recoBuf = (frmBuf_s *)User::Alloc(sizeof(frmBuf_s))) == NULL)
- return NULL;
-
- memset(recoBuf, 0, sizeof(frmBuf_s));
-
- recoBuf->width = width;
- recoBuf->height = height;
-
- if ((mbDataTmp = (mbAttributes_s *)User::Alloc(sizeof(mbAttributes_s))) == NULL)
- return NULL;
-
- memset(mbDataTmp, 0, sizeof(mbAttributes_s));
-
- if ((mbDataTmp->sliceMap = (int *)allocMem(numMacroblocks, sizeof(int))) == NULL)
- return NULL;
- if ((mbDataTmp->mbTypeTable = (int8 *)allocMem(numMacroblocks, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->qpTable = (int8 *)allocMem(numMacroblocks, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->refIdxTable = (int8 *)allocMem(numBlocks, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->cbpTable = (int *)allocMem(numMacroblocks, sizeof(int))) == NULL)
- return NULL;
- if ((mbDataTmp->motVecTable = (motVec_s *)allocMem(numBlocks, sizeof(motVec_s))) == NULL)
- return NULL;
- if ((mbDataTmp->ipModesUpPred = (int8 *)allocMem(numBlksPerLine, sizeof(int8))) == NULL)
- return NULL;
-
- if ((mbDataTmp->numCoefUpPred[0] = (int8 *)allocMem(numBlksPerLine, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->numCoefUpPred[1] = (int8 *)allocMem(numBlksPerLine/2, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->numCoefUpPred[2] = (int8 *)allocMem(numBlksPerLine/2, sizeof(int8))) == NULL)
- return NULL;
-
- if ((mbDataTmp->filterModeTab = (int8 *)allocMem(numMacroblocks, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->alphaOffset = (int8 *)allocMem(numMacroblocks, sizeof(int8))) == NULL)
- return NULL;
- if ((mbDataTmp->betaOffset = (int8 *)allocMem(numMacroblocks, sizeof(int8))) == NULL)
- return NULL;
-
- *mbData = mbDataTmp;
-
- return recoBuf;
-}
-
-
-/*
- *
- * frmOpenRef:
- *
- * Parameters:
- * width Width of the frame
- * height Height of the frame
- *
- * Function:
- * Allocate memory for reference frame buffer
- *
- * Returns:
- * Pointer to Reference frame or NULL
- *
- */
-frmBuf_s *frmOpenRef(int width, int height)
-{
-// int numPels = width*height;
- frmBuf_s *ref;
-
- if ((ref = (frmBuf_s *)User::Alloc(sizeof(frmBuf_s))) == NULL)
- return NULL;
-
- memset(ref, 0, sizeof(frmBuf_s));
-
- ref->width = width;
- ref->height = height;
- ref->imgPadding = 0;
-
- ref->forOutput = 0;
- ref->refType = FRM_NON_REF_PIC;
-
- return ref;
-}
-
-
-/*
- *
- * frmClose:
- *
- * Parameters:
- * frame Frame
- * mbData MB state buffers
- *
- * Function:
- * Deallocate frame buffer and state array memory.
- *
- * Returns:
- * Nothing
- *
- */
-void frmClose(frmBuf_s *recoBuf, mbAttributes_s *mbData)
-{
- if (!recoBuf)
- return;
-
- User::Free(mbData->sliceMap);
- User::Free(mbData->mbTypeTable);
- User::Free(mbData->qpTable);
- User::Free(mbData->refIdxTable);
- User::Free(mbData->cbpTable);
- User::Free(mbData->motVecTable);
- User::Free(mbData->ipModesUpPred);
- User::Free(mbData->numCoefUpPred[0]);
- User::Free(mbData->numCoefUpPred[1]);
- User::Free(mbData->numCoefUpPred[2]);
- User::Free(mbData->filterModeTab);
- User::Free(mbData->alphaOffset);
- User::Free(mbData->betaOffset);
- User::Free(recoBuf);
- User::Free(mbData);
-}
-
-
-/*
- *
- * frmCloseRef:
- *
- * Parameters:
- * ref Reference frame
- *
- * Function:
- * Deallocate reference frame buffer memory.
- *
- * Returns:
- * Nothing
- *
- */
-void frmCloseRef(frmBuf_s *ref)
-{
- if (!ref)
- return;
-
- User::Free(ref);
-}
-
-
-/*
- *
- * initRefFrame:
- *
- * Parameters:
- * recoBuf Reconstruction frame
- * frameBuf Frame buffer to initialize
- *
- * Function:
- * Initialize reference frame buffer refBuf using reconstructed buffer
- * recoBuf. If width and height of the reference buffer do not those
- * of the reconstructed buffer, reference buffer is reallocated.
- *
- * Returns:
- * Pointer to reference frame
- *
- */
-static frmBuf_s *initRefFrame(frmBuf_s *recoBuf, frmBuf_s *refBuf)
-{
-
- /* If pic size is different, reopen with new size */
- if (!refBuf || refBuf->width != recoBuf->width || refBuf->height != recoBuf->height) {
- frmCloseRef(refBuf);
- if ((refBuf = frmOpenRef(recoBuf->width, recoBuf->height)) == NULL)
- return NULL;
- }
-
- /* Copy variables */
- *refBuf = *recoBuf;
-
- return refBuf;
-}
-
-
-/*
- *
- * frmMakeRefFrame:
- *
- * Parameters:
- * recoBuf Reconstructed frame
- * refBuf Reference frame
- *
- * Function:
- * Generate reference frame refBuf using reconstructed frame recoBuf.
- * Function does not copy pixel data, but it simply swaps pointers.
- *
- * Returns:
- * Pointer to reference frame
- *
- */
-frmBuf_s *frmMakeRefFrame(frmBuf_s *recoBuf, frmBuf_s *refBuf)
-{
-
- refBuf = initRefFrame(recoBuf, refBuf);
- if (refBuf == NULL)
- return NULL;
-
- return refBuf;
-}