⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adaptive_quantization.h

📁 JM 11.0 KTA 2.1 Source Code
💻 H
字号:
/*!
************************************************************************
* \file adaptive_quantization.h
*
* \brief
*    adaptive quantization matrix selection routines
*
* \author
*  Akiyuki Tanizawa       <akiyuki.tanizawa@toshiba.co.jp>           \n
*  Takeshi Chujoh         <takeshi.chujoh@toshiba.co.jp>             \n
*
* This software may be used for research purposes only.
* TOSHIBA would also appreciate that any technical report, conference or
* journal paper which uses the software includes one of the following references:
*    - A. Tanizawa, T. Chujoh, "Adaptive Quantization Matrix Selection",
*                              VCEG contribution D.266, Geneva, November 2006.
*    - A. Tanizawa, T. Chujoh, "Simulation results of AQMS on KTA software",
*                              VCEG contribution VCEG-AC07, Klagenfurt, July 2006.
*    - A. Tanizawa, T. Chujoh, "Adaptive Quantization Matrix Selection on KTA software",
*                              VCEG contribution VCEG-AD06, Hangzhou, Oct. 2006.
*    - A. Tanizawa, T. Chujoh, "Simulation results of AQMS on KTA software version 1.3",
*                              VCEG contribution VCEG-AF08, San Jose, April 2007.
*    - A. Tanizawa, T. Chujoh, T. Yamakage, 
*                              "Encoding complexity reduction of AQMS",
*                              VCEG contribution C.403, Geneve, April 2008.
*    - A. Tanizawa, T. Chujoh, T. Yamakage, 
*                              "Improvement of Adaptive Quantization Matrix Selection",
*                              VCEG contribution VCEG-AI19, Berlin, July 2008.
************************************************************************
*/

/*
* CONFIGURATION:
*
* Configuration of the .Cfg file:
* In section KTA STUFF:
*
* // AQMS command:
* UseAdaptiveQuantMatrix    = 0 (0:disable, 1:enable (IAQMS))
*
* NOTE:
* IAQMS can perform on VCEG-AA10 conditions.
*    - TK. Tan, G. Sullivan, T. Wedi, "Recommended Simulation Common Conditions for Coding Efficiency Experiments",
*                              VCEG contribution VCEG-AA10, Nice, Oct. 2005.
*    - TK. Tan, G. Sullivan, T. Wedi, "Recommended Simulation Common Conditions for Coding Efficiency Experiments",
*                              VCEG contribution VCEG-AE10r1, Marrakech, Jan. 2007.
********************
* KNOWN LIMITATIONS
********************
* Not compatible with:                
*  - interlace coding
*  - RdOpt != 1   
*  - RateControl
*
********************
* VERSIONS
********************
* 1.0 KTA version 1.2  - First Implementation for AQMS
* 1.1 KTA version 1.3  - Modification of Compatibility with AIF, APEC, 
* 1.2 KTA version 1.9  - Addition of Fast AQMS and Modification of Compatibility with RDOQ, 
* 1.3 KTA version 2.1  - Replacement of IAQMS (Improved AQMS) and Deletion of Adaptive QP
*
*/

#ifndef _ADAPTIVE_QUANTIZATION_H_
#define _ADAPTIVE_QUANTIZATION_H_

#include "global.h"
#include "mbuffer.h"

#ifdef ADAPTIVE_QUANTIZATION

void CalculateLambdaForMatrix(RD_PARAMS   *enc_mb);

//------ for image.c
typedef struct
{
  int default_me_modeflag;
  int default_ChromaIntraDisable;
  int default_SelectiveIntraEnable;
  int default_EarlySkipEnable;
  int default_IAQMS_flag;
#ifdef ADAPTIVE_FD_SD_CODING
  int default_APEC_in_FD_and_SD;
#endif
#ifdef MV_COMPETITION
  int default_MVCompetition;
#endif
} sDefaultInputParam_t;

extern void ReGenerateParameterSets (int best_pic_id);
void SaveInputParam(int AQMS_Skip_flag, sDefaultInputParam_t *defInputParam);
void LoadInputParam(sDefaultInputParam_t *defInputParam);
int  ChooseBestPicture(int rd_qp);

int best_rd_pass;
StorablePicture *enc_frame_picture_aqms;
//------ for q_matrix.c
void InitScalingListParam (void);

#ifdef MV_COMPETITION
void ReEncodeMVCompetition(int rd_pass);
#endif

#define RES_SKIP_SIZE 1350
int  rdPictureCodingForIAQMS(int FAQ_Skip_flag, sDefaultInputParam_t *defInputParam, int *mincost_flg, int rd_qp);
void SetAutoScalingListDataForIAQMS();
void CreateScalingList4x4ForIAQMS(int Gradient, int ListIdx);
void CreateScalingList8x8ForIAQMS(int Gradient, int ListIdx);
void SetFastEncodingForIAQMS(sDefaultInputParam_t *defInputParam);
void InitScalingList();
void SetModeAvalability(RD_PARAMS *enc_mb);
void SetAutoScalingListDataForMQM();
void CreateScalingList4x4ForMQM(int pA, int pB);
void CreateScalingList8x8ForMQM(int pA, int pB);
#endif

#endif //_ADAPTIVE_QUANTIZATION_H_

⌨️ 快捷键说明

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