quantchroma.c

来自「H.264编码实现」· C语言 代码 · 共 68 行

C
68
字号

/*!
 *************************************************************************************
 * \file quantChroma.c
 *
 * \brief
 *    Quantization initialization function for Chroma blocks
 *
 * \author
 *    Main contributors (see contributors.h for copyright, address and affiliation details)
 *    - Alexis Michael Tourapis                  <alexismt@ieee.org>
 *
 *************************************************************************************
 */

#include "contributors.h"

#include "global.h"
#include "quant4x4.h"
#include "quantChroma.h"

/*!
************************************************************************
* \brief
*    Quantization initialization function
*
************************************************************************
*/
void init_quant_Chroma(InputParameters *params, ImageParameters *img, Slice *currSlice)
{
  if (params->UseRDOQuant == 1 && params->RDOQ_CR == 1)
  {
    quant_ac4x4cr = quant_ac4x4_trellis;
    if ( currSlice->symbol_mode == CABAC )
    {
      if (params->yuv_format == YUV422)
        quant_dc_cr   = quant_dc4x2_trellis;
      else
        quant_dc_cr   = quant_dc2x2_trellis;
    }
    else
    {
      if (params->yuv_format == YUV422)
        quant_dc_cr   = quant_dc4x2_normal;
      else
        quant_dc_cr   = quant_dc2x2_normal;
    }
  }
  else if (params->UseRDOQuant == 1 || (!img->AdaptiveRounding))
  {
    quant_ac4x4cr = quant_ac4x4_normal;
    if (params->yuv_format == YUV422)
      quant_dc_cr   = quant_dc4x2_normal;
    else
      quant_dc_cr   = quant_dc2x2_normal;
  }
  else
  {
    quant_ac4x4cr = quant_ac4x4_around;
    if (params->yuv_format == YUV422)
      quant_dc_cr   = quant_dc4x2_around;
    else
      quant_dc_cr   = quant_dc2x2_around;
  }
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?