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

Audio

开发平台:

Visual C++

  1. /*!
  2.  *************************************************************************************
  3.  * file quantChroma.c
  4.  *
  5.  * brief
  6.  *    Quantization initialization function for Chroma blocks
  7.  *
  8.  * author
  9.  *    Main contributors (see contributors.h for copyright, address and affiliation details)
  10.  *    - Alexis Michael Tourapis                  <alexismt@ieee.org>
  11.  *
  12.  *************************************************************************************
  13.  */
  14. #include "contributors.h"
  15. #include "global.h"
  16. #include "quant4x4.h"
  17. #include "quantChroma.h"
  18. /*!
  19. ************************************************************************
  20. * brief
  21. *    Quantization initialization function
  22. *
  23. ************************************************************************
  24. */
  25. void init_quant_Chroma(InputParameters *params, ImageParameters *img, Slice *currSlice)
  26. {
  27.   if (params->UseRDOQuant == 1 && params->RDOQ_CR == 1)
  28.   {
  29.     quant_ac4x4cr = quant_ac4x4_trellis;
  30.     if ( currSlice->symbol_mode == CABAC )
  31.     {
  32.       if (params->yuv_format == YUV422)
  33.         quant_dc_cr   = quant_dc4x2_trellis;
  34.       else
  35.         quant_dc_cr   = quant_dc2x2_trellis;
  36.     }
  37.     else
  38.     {
  39.       if (params->yuv_format == YUV422)
  40.         quant_dc_cr   = quant_dc4x2_normal;
  41.       else
  42.         quant_dc_cr   = quant_dc2x2_normal;
  43.     }
  44.   }
  45.   else if (params->UseRDOQuant == 1 || (!img->AdaptiveRounding))
  46.   {
  47.     quant_ac4x4cr = quant_ac4x4_normal;
  48.     if (params->yuv_format == YUV422)
  49.       quant_dc_cr   = quant_dc4x2_normal;
  50.     else
  51.       quant_dc_cr   = quant_dc2x2_normal;
  52.   }
  53.   else
  54.   {
  55.     quant_ac4x4cr = quant_ac4x4_around;
  56.     if (params->yuv_format == YUV422)
  57.       quant_dc_cr   = quant_dc4x2_around;
  58.     else
  59.       quant_dc_cr   = quant_dc2x2_around;
  60.   }
  61. }