nalucommon.c
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:2k
源码类别:

Audio

开发平台:

Visual C++

  1. /*!
  2.  ************************************************************************
  3.  * file  nalucommon.c
  4.  *
  5.  * brief
  6.  *    Common NALU support functions
  7.  *
  8.  * author
  9.  *    Main contributors (see contributors.h for copyright, address and affiliation details)
  10.  *    - Stephan Wenger   <stewe@cs.tu-berlin.de>
  11.  ************************************************************************
  12.  */
  13. #include "global.h"
  14. #include "nalu.h"
  15. #include "memalloc.h"
  16. /*!
  17.  *************************************************************************************
  18.  * brief
  19.  *    Allocates memory for a NALU
  20.  *
  21.  * param buffersize
  22.  *     size of NALU buffer
  23.  *
  24.  * return
  25.  *    pointer to a NALU
  26.  *************************************************************************************
  27.  */
  28. NALU_t *AllocNALU(int buffersize)
  29. {
  30.   NALU_t *n;
  31.   if ((n = (NALU_t*)calloc (1, sizeof (NALU_t))) == NULL)
  32.     no_mem_exit ("AllocNALU: n");
  33.   n->max_size=buffersize;
  34.   if ((n->buf = (byte*)calloc (buffersize, sizeof (byte))) == NULL)
  35.   {
  36.     free (n);
  37.     no_mem_exit ("AllocNALU: n->buf");
  38.   }
  39.   return n;
  40. }
  41. /*!
  42.  *************************************************************************************
  43.  * brief
  44.  *    Frees a NALU
  45.  *
  46.  * param n
  47.  *    NALU to be freed
  48.  *
  49.  *************************************************************************************
  50.  */
  51. void FreeNALU(NALU_t *n)
  52. {
  53.   if (n)
  54.   {
  55.     if (n->buf)
  56.     {
  57.       free(n->buf);
  58.       n->buf=NULL;
  59.     }
  60.     free (n);
  61.   }
  62. }