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

Audio

开发平台:

Visual C++

  1. /*!
  2.  ************************************************************************
  3.  * file  memalloc.h
  4.  *
  5.  * brief
  6.  *    Memory allocation and free helper funtions
  7.  *
  8.  * author
  9.  *    Main contributors (see contributors.h for copyright, address and affiliation details)
  10.  *     - Karsten S黨ring                 <suehring@hhi.de> 
  11.  *     - Alexis Michael Tourapis         <alexismt@ieee.org> 
  12.  *
  13.  ************************************************************************
  14.  */
  15. #ifndef _MEMALLOC_H_
  16. #define _MEMALLOC_H_
  17. int  get_mem2Dlm (LambdaParams ***array2D, int dim0, int dim1);
  18. int  get_mem2Dolm(LambdaParams ***array2D, int dim0, int dim1, int offset);
  19. int  get_mem2Dmp(PicMotionParams2 ***array2D, int dim0, int dim1);
  20. int  get_mem3Dmp(PicMotionParams2 ****array3D, int dim0, int dim1, int dim2);
  21. int  get_mem2Dmv(MotionVector ***array2D, int dim0, int dim1);
  22. int  get_mem3Dmv(MotionVector ****array3D, int dim0, int dim1, int dim2);
  23. int  get_mem4Dmv(MotionVector *****array4D, int dim0, int dim1, int dim2, int dim3);
  24. int  get_mem5Dmv(MotionVector ******array5D, int dim0, int dim1, int dim2, int dim3, int dim4);
  25. int  get_mem2D(byte ***array2D, int rows, int columns);
  26. int  get_mem3D(byte ****array2D, int frames, int rows, int columns);
  27. int  get_mem2Dint(int ***array2D, int rows, int columns);
  28. int  get_mem3Dint(int ****array3D, int frames, int rows, int columns);
  29. int  get_mem4Dint(int *****array4D, int idx, int frames, int rows, int columns );
  30. int  get_mem5Dint(int ******array5D, int refs, int blocktype, int rows, int columns, int component);
  31. int  get_mem2Dint64(int64 ***array2D, int rows, int columns);
  32. int  get_mem3Dint64(int64 ****array3D, int frames, int rows, int columns);
  33. int  get_mem2Dshort(short ***array2D, int dim0, int dim1);
  34. int  get_mem3Dshort(short ****array3D, int dim0, int dim1, int dim2);
  35. int  get_mem4Dshort(short *****array4D, int dim0, int dim1, int dim2, int dim3);
  36. int  get_mem5Dshort(short ******array5D, int dim0, int dim1, int dim2, int dim3, int dim4);
  37. int  get_mem6Dshort(short *******array6D, int dim0, int dim1, int dim2, int dim3, int dim4, int dim5);
  38. int  get_mem7Dshort(short ********array7D, int dim0, int dim1, int dim2, int dim3, int dim4, int dim5, int dim6);
  39. int  get_mem2Dpel(imgpel ***array2D, int rows, int columns);
  40. int  get_mem3Dpel(imgpel ****array3D, int frames, int rows, int columns);
  41. int  get_mem4Dpel(imgpel *****array4D, int sub_x, int sub_y, int rows, int columns);
  42. int  get_mem5Dpel(imgpel ******array5D, int dims, int sub_x, int sub_y, int rows, int columns);
  43. int  get_mem2Ddouble (double ***array2D, int rows, int columns);
  44. int  get_mem2Dodouble(double ***array2D, int rows, int columns, int offset);
  45. int  get_mem3Dodouble(double ****array2D, int rows, int columns, int pels, int offset);
  46. int  get_mem2Doint (int ***array2D, int rows, int columns, int offset);
  47. int  get_mem3Doint (int ****array3D, int rows, int columns, int pels, int offset);
  48. int  get_offset_mem2Dshort(short ***array2D, int rows, int columns, int offset_y, int offset_x);
  49. void free_offset_mem2Dshort(short **array2D, int columns, int offset_x, int offset_y);
  50. void free_mem2Dlm   (LambdaParams **array2D);
  51. void free_mem2Dolm  (LambdaParams **array2D, int offset);
  52. void free_mem2Dmp   (PicMotionParams2    **array2D);
  53. void free_mem3Dmp   (PicMotionParams2   ***array2D);
  54. void free_mem2Dmv   (MotionVector    **array2D);
  55. void free_mem3Dmv   (MotionVector   ***array2D);
  56. void free_mem4Dmv   (MotionVector  ****array2D);
  57. void free_mem5Dmv   (MotionVector *****array2D);
  58. void free_mem2D     (byte      **array2D);
  59. void free_mem3D     (byte     ***array2D);
  60. void free_mem2Dint  (int       **array2D);
  61. void free_mem3Dint  (int      ***array3D);
  62. void free_mem4Dint  (int     ****array4D);
  63. void free_mem5Dint  (int    *****array5D);
  64. void free_mem2Dint64(int64     **array2D);
  65. void free_mem3Dint64(int64    ***array3D);
  66. void free_mem2Dshort(short      **array2D);
  67. void free_mem3Dshort(short     ***array3D);
  68. void free_mem4Dshort(short    ****array4D);
  69. void free_mem5Dshort(short   *****array5D);
  70. void free_mem6Dshort(short  ******array6D);
  71. void free_mem7Dshort(short *******array7D);
  72. void free_mem2Dpel  (imgpel    **array2D);
  73. void free_mem3Dpel  (imgpel   ***array3D);
  74. void free_mem4Dpel  (imgpel  ****array4D);
  75. void free_mem5Dpel  (imgpel *****array5D);
  76. void free_mem2Ddouble(double **array2D);
  77. void free_mem2Dodouble(double **array2D, int offset);
  78. void free_mem3Dodouble(double ***array3D, int rows, int columns, int offset);
  79. void free_mem2Doint   (int **array2D, int offset);
  80. void free_mem3Doint   (int ***array3D, int rows, int columns, int offset);
  81. int init_top_bot_planes(imgpel **imgFrame, int rows, int columns, imgpel ***imgTopField, imgpel ***imgBotField);
  82. void free_top_bot_planes(imgpel **imgTopField, imgpel **imgBotField);
  83. void no_mem_exit(char *where);
  84. #endif