ixheaacd_type_def.h revision 4908247643e9e97852e847c00bfe7c4259279538
151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick/******************************************************************************
251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick *                                                                            *
351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Copyright (C) 2018 The Android Open Source Project
451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick *
551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Licensed under the Apache License, Version 2.0 (the "License");
651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * you may not use this file except in compliance with the License.
751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * You may obtain a copy of the License at:
851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick *
951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * http://www.apache.org/licenses/LICENSE-2.0
1051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick *
1151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Unless required by applicable law or agreed to in writing, software
1251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * distributed under the License is distributed on an "AS IS" BASIS,
1351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * See the License for the specific language governing permissions and
1551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * limitations under the License.
1651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick *
1751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick *****************************************************************************
1851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
1951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick*/
2051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#ifndef IXHEAACD_TYPE_DEF_H
2151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define IXHEAACD_TYPE_DEF_H
2251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
2351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick/****************************************************************************/
244908247643e9e97852e847c00bfe7c4259279538Ray Essick/*     types               type define    prefix        examples
2551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick * bytes */
2651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick/************************  ***********    ******    ****************  ***** */
2751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
2851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define SIZE_T size_t
2951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
3051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef char CHAR8;   /* c       CHAR8    c_name     1   */
3151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef char* pCHAR8; /* pc      pCHAR8   pc_nmae    1   */
3251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
3351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed char WORD8;   /* b       WORD8    b_name     1   */
3451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed char* pWORD8; /* pb      pWORD8   pb_nmae    1   */
3551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
3651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned char
374908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD8; /*  ub      UWORD8   ub_count   1   */
3851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned char*
394908247643e9e97852e847c00bfe7c4259279538Ray Essick    pUWORD8; /* pub     pUWORD8  pub_count  1   */
4051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
4151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed short WORD16;   /* s       WORD16   s_count    2   */
4251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed short* pWORD16; /* ps      pWORD16  ps_count   2   */
4351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned short
444908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD16; /* us      UWORD16  us_count   2   */
4551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned short*
464908247643e9e97852e847c00bfe7c4259279538Ray Essick    pUWORD16; /*    pus     pUWORD16 pus_count  2   */
4751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
4851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int WORD24;   /* k       WORD24   k_count    3   */
4951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int* pWORD24; /* pk      pWORD24  pk_count   3   */
5051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned int
514908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD24; /* uk      UWORD24  uk_count   3   */
5251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned int*
534908247643e9e97852e847c00bfe7c4259279538Ray Essick    pUWORD24; /*    puk     pUWORD24 puk_count  3   */
5451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
5551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int WORD32;   /* i       WORD32   i_count    4   */
5651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int* pWORD32; /* pi      pWORD32  pi_count   4   */
5751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned int
584908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD32; /* ui      UWORD32  ui_count   4   */
5951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned int*
604908247643e9e97852e847c00bfe7c4259279538Ray Essick    pUWORD32; /*    pui     pUWORD32 pui_count  4   */
6151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
6251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed long long
634908247643e9e97852e847c00bfe7c4259279538Ray Essick    WORD40; /*  m       WORD40   m_count    5   */
6451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed long long*
654908247643e9e97852e847c00bfe7c4259279538Ray Essick    pWORD40; /* pm      pWORD40  pm_count   5   */
6651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned long long
674908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD40; /* um      UWORD40  um_count   5   */
6851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned long long*
694908247643e9e97852e847c00bfe7c4259279538Ray Essick    pUWORD40; /*    pum     pUWORD40 pum_count  5   */
7051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
7151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed long long
724908247643e9e97852e847c00bfe7c4259279538Ray Essick    WORD64; /*  h       WORD64   h_count    8   */
7351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed long long*
744908247643e9e97852e847c00bfe7c4259279538Ray Essick    pWORD64; /* ph      pWORD64  ph_count   8   */
7551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned long long
764908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD64; /* uh      UWORD64  uh_count   8   */
7751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned long long*
784908247643e9e97852e847c00bfe7c4259279538Ray Essick    pUWORD64; /*    puh     pUWORD64 puh_count  8   */
7951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
804908247643e9e97852e847c00bfe7c4259279538Ray Essicktypedef float FLOAT32;    /*    f       FLOAT32  f_count    4
8151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick                             */
8251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef float* pFLOAT32;  /* pf      pFLOAT32 pf_count   4   */
834908247643e9e97852e847c00bfe7c4259279538Ray Essicktypedef double FLOAT64;   /*    d       UFLOAT64 d_count    8
8451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick                             */
8551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef double* pFlOAT64; /* pd      pFLOAT64 pd_count   8   */
8651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
874908247643e9e97852e847c00bfe7c4259279538Ray Essicktypedef void VOID;   /* v       VOID     v_flag     4   */
884908247643e9e97852e847c00bfe7c4259279538Ray Essicktypedef void* pVOID; /* pv      pVOID    pv_flag    4   */
8951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
9051aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick/* variable size types: platform optimized implementation */
9151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int BOOL;    /* bool    BOOL     bool_true      */
924908247643e9e97852e847c00bfe7c4259279538Ray Essicktypedef unsigned int UBOOL; /*  ubool   BOOL     ubool_true     */
9351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int FLAG;    /* flag    FLAG     flag_false     */
944908247643e9e97852e847c00bfe7c4259279538Ray Essicktypedef unsigned int UFLAG; /* uflag    FLAG     uflag_false    */
9551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int LOOPIDX; /* lp      LOOPIDX  lp_index       */
9651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned int
974908247643e9e97852e847c00bfe7c4259279538Ray Essick    ULOOPIDX;            /* ulp     SLOOPIDX ulp_index      */
9851aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef signed int WORD; /* lp      LOOPIDX  lp_index       */
9951aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef unsigned int
1004908247643e9e97852e847c00bfe7c4259279538Ray Essick    UWORD; /*   ulp     SLOOPIDX ulp_index      */
10151aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
10251aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef LOOPIDX LOOPINDEX;   /* lp    LOOPIDX  lp_index       */
10351aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essicktypedef ULOOPIDX ULOOPINDEX; /* ulp   SLOOPIDX ulp_index      */
10451aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
10551aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#define PLATFORM_INLINE __inline
10651aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick
10751aa06e124ba688ca810b25ee0b5bb66678aac14Ray Essick#endif /* IXHEAACD_TYPE_DEF_H */
108