/* ---------------------------------------------------------------- * * * File Name: omxVCM4P10_DecodeCoeffsToPairCAVLC.c * OpenMAX DL: v1.0.2 * Revision: 12290 * Date: Wednesday, April 9, 2008 * * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. * * * * H.264 decode coefficients module * */ #include "omxtypes.h" #include "armOMX.h" #include "omxVC.h" #include "armCOMM.h" #include "armVC.h" /** * Function: omxVCM4P10_DecodeCoeffsToPairCAVLC * * Description: * Performs CAVLC decoding and inverse zigzag scan for 4x4 block of * Intra16x16DCLevel, Intra16x16ACLevel,LumaLevel, and ChromaACLevel. * Inverse field scan is not supported. The decoded coefficients in packed * position-coefficient buffer are stored in increasing zigzag order instead * of position order. * * Remarks: * * Parameters: * [in] ppBitStream Double pointer to current byte in bit stream buffer * [in] pOffset Pointer to current bit position in the byte pointed * to by *ppBitStream * [in] sMaxNumCoeff Maximum number of non-zero coefficients in current * block * [in] sVLCSelect VLC table selector, obtained from number of non-zero * AC coefficients of above and left 4x4 blocks. It is * equivalent to the variable nC described in H.264 standard * table 9-5, except its value can¡¯t be less than zero. * [out] ppBitStream *ppBitStream is updated after each block is decoded * [out] pOffset *pOffset is updated after each block is decoded * [out] pNumCoeff Pointer to the number of nonzero coefficients in * this block * [out] ppPosCoefbuf Double pointer to destination residual * coefficient-position pair buffer * Return Value: * Standard omxError result. See enumeration for possible result codes. * */ OMXResult omxVCM4P10_DecodeCoeffsToPairCAVLC( const OMX_U8** ppBitStream, OMX_S32* pOffset, OMX_U8* pNumCoeff, OMX_U8**ppPosCoefbuf, OMX_INT sVLCSelect, OMX_INT sMaxNumCoeff ) { return armVCM4P10_DecodeCoeffsToPair(ppBitStream, pOffset, pNumCoeff, ppPosCoefbuf, sVLCSelect, sMaxNumCoeff); }