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

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. /*!
  16.  *************************************************************************************
  17.  * brief
  18.  *    Allocates memory for a NALU
  19.  *
  20.  * param buffersize
  21.  *     size of NALU buffer
  22.  *
  23.  * return
  24.  *    pointer to a NALU
  25.  *************************************************************************************
  26.  */
  27. NALU_t *AllocNALU(int buffersize)
  28. {
  29.   NALU_t *n;
  30.   if ((n = (NALU_t*)calloc (1, sizeof (NALU_t))) == NULL)
  31.     no_mem_exit ("AllocNALU: n");
  32.   n->max_size=buffersize;
  33.   if ((n->buf = (byte*)calloc (buffersize, sizeof (byte))) == NULL)
  34.   {
  35.     free (n);
  36.     no_mem_exit ("AllocNALU: n->buf");
  37.   }
  38.   return n;
  39. }
  40. /*!
  41.  *************************************************************************************
  42.  * brief
  43.  *    Frees a NALU
  44.  *
  45.  * param n
  46.  *    NALU to be freed
  47.  *
  48.  *************************************************************************************
  49.  */
  50. void FreeNALU(NALU_t *n)
  51. {
  52.   if (n)
  53.   {
  54.     if (n->buf)
  55.     {
  56.       free(n->buf);
  57.       n->buf=NULL;
  58.     }
  59.     free (n);
  60.   }
  61. }