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

📄 klttce3d.c

📁 spiht for linux this is used to decod and encode vedio i wich all enjoy
💻 C
📖 第 1 页 / 共 5 页
字号:
  QccMatrixFree(p3,subband_num_rows);   QccMatrixFree(p4,subband_num_rows);   return(return_value);}static int QccWAV3DUpdateNZNStatus(int subband_origin_frame,				   int subband_origin_row,				   int subband_origin_col,				   int subband_num_frame,				   int subband_num_row,				   int subband_num_col,				   int frame,				   int row,				   int col,				   char *** significance_map,				   int subband){  //Update neighbors  int current_frame,current_row, current_col;  int shifted_frame,shifted_row, shifted_col;  current_frame=subband_origin_frame+frame;  current_row = subband_origin_row + row;  current_col = subband_origin_col + col;  //previous frame  if (frame>0)    {      if (row > 0)        {           shifted_frame = current_frame - 1;           shifted_row = current_row - 1;          shifted_col = current_col;          if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)            significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;                if (col > 0)            {              shifted_frame = current_frame - 1;              shifted_row = current_row - 1;              shifted_col = current_col - 1;              if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)                significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;               }          if (col < subband_num_col - 1)            {              shifted_frame = current_frame - 1;              shifted_row = current_row - 1;              shifted_col = current_col + 1;              if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)                significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;               }        }      if (row < subband_num_row - 1)        {	  shifted_frame = current_frame - 1;	  shifted_row = current_row + 1;	  shifted_col = current_col;	  if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	    significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      	  if (col > 0)	    {	      shifted_frame = current_frame - 1;	      shifted_row = current_row + 1;	      shifted_col = current_col - 1;	      if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)		significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;  	    }	  if (col < subband_num_col - 1)	    {	      shifted_frame = current_frame - 1;	      shifted_row = current_row + 1;	      shifted_col = current_col + 1;	      if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)		significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;   	    }	}      if (col > 0)	{	  shifted_frame = current_frame - 1;	  shifted_row = current_row;	  shifted_col = current_col - 1;  	  if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	    significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      	}      if (col < subband_num_col - 1)	{	  shifted_frame = current_frame - 1;	  shifted_row = current_row;	  shifted_col = current_col + 1;	  if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	    significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;	}      {	shifted_frame = current_frame - 1;	shifted_row = current_row;	shifted_col = current_col;	if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	  significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      }    }  //next frame  if (frame<subband_num_frame - 1)    {      if (row > 0)        {           shifted_frame = current_frame + 1;           shifted_row = current_row - 1;          shifted_col = current_col;          if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)            significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;                if (col > 0)            {              shifted_frame = current_frame + 1;              shifted_row = current_row - 1;              shifted_col = current_col - 1;              if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)                significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;               }          if (col < subband_num_col - 1)            {              shifted_frame = current_frame + 1;              shifted_row = current_row - 1;              shifted_col = current_col + 1;              if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)                significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;               }        }      if (row < subband_num_row - 1)	{	  shifted_frame = current_frame+ 1;	  shifted_row = current_row + 1;	  shifted_col = current_col;	  if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	    significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      	  if (col > 0)	    {	      shifted_frame = current_frame + 1;	      shifted_row = current_row + 1;	      shifted_col = current_col - 1;	      if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)		significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;  	    }	  if (col < subband_num_col - 1)	    {	      shifted_frame = current_frame + 1;	      shifted_row = current_row + 1;	      shifted_col = current_col + 1;	      if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)		significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;   	    }	}      if (col > 0)	{	  shifted_frame = current_frame + 1;	  shifted_row = current_row;	  shifted_col = current_col - 1;  	  if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	    significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      	}      if (col < subband_num_col - 1)	{	  shifted_frame = current_frame + 1;	  shifted_row = current_row;	  shifted_col = current_col + 1;	  if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	    significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;	}      {	shifted_frame = current_frame + 1;	shifted_row = current_row;	shifted_col = current_col;	if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)	  significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      }    }  //current frame  {    if (row > 0)      {         shifted_frame = current_frame ;         shifted_row = current_row - 1;        shifted_col = current_col;        if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)          significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;              if (col > 0)          {            shifted_frame = current_frame;            shifted_row = current_row - 1;            shifted_col = current_col - 1;            if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)              significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;             }        if (col < subband_num_col - 1)          {            shifted_frame = current_frame ;            shifted_row = current_row - 1;            shifted_col = current_col + 1;            if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)              significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;             }      }    if (row < subband_num_row - 1)      {        shifted_frame = current_frame;        shifted_row = current_row + 1;        shifted_col = current_col;        if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)          significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;              if (col > 0)          {            shifted_frame = current_frame ;            shifted_row = current_row + 1;            shifted_col = current_col - 1;            if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)              significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;            }        if (col < subband_num_col - 1)          {            shifted_frame = current_frame ;            shifted_row = current_row + 1;            shifted_col = current_col + 1;            if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)              significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;             }      }    if (col > 0)      {        shifted_frame = current_frame ;        shifted_row = current_row;        shifted_col = current_col - 1;          if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)          significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;            }    if (col < subband_num_col - 1)      {        shifted_frame = current_frame ;        shifted_row = current_row;        shifted_col = current_col + 1;        if (significance_map[shifted_frame][shifted_row][shifted_col] < QCCWAVKLTTCE3D_S)          significance_map[shifted_frame][shifted_row][shifted_col] = QCCWAVKLTTCE3D_NZN_NEW;      }  }    return(0);}static int QccWAVklttce3DNZNPass(QccWAVSubbandPyramid3D *coefficients,                                     char ***significance_map,                                 char ***sign_array,                                 double threshold,                                 double *subband_significance,                                 QccENTArithmeticModel *model,                                 QccBitBuffer *buffer,                                 int **max_coefficient_bits){   int subband,num_subbands;  int return_value;  int subband_origin_frame;  int subband_origin_row;  int subband_origin_col;  int subband_num_frames;  int subband_num_rows;  int subband_num_cols;  int frame,row, col;  int current_frame,current_row, current_col;  int symbol;  double p = 0.5;  num_subbands =    QccWAVSubbandPyramid3DNumLevelsToNumSubbandsPacket(coefficients->temporal_num_levels,                                                       coefficients->spatial_num_levels);     for (subband = 0; subband < num_subbands; subband++)    {      {         if (QccWAVSubbandPyramid3DSubbandSize(coefficients,                                              subband,                                              &subband_num_frames,                                              &subband_num_rows,                                              &subband_num_cols))          {            QccErrorAddMessage("(QccWAVklttce3DNZNPass): Error calling QccWAVSubbandPyramid3DSubbandSize()");            return(1);          }        if (QccWAVSubbandPyramid3DSubbandOffsets(coefficients,                                                 subband,                                                 &subband_origin_frame,                                                 &subband_origin_row,                                                 &subband_origin_col))          {            QccErrorAddMessage("(QccWAVklttce3DNZNPass): Error calling QccWAVSubbandPyramid3DSubbandOffsets()");            return(1);          }                    for (frame = 0; frame < subband_num_frames; frame++)           {            current_frame = subband_origin_frame + frame;            if ((threshold - 0.000001) <                pow((double)2, (double)(max_coefficient_bits[subband][frame])))              {                for (row = 0; row < subband_num_rows; row++)                  {                    current_row = subband_origin_row + row;                    for (col = 0; col < subband_num_cols; col++)                      {                         current_col = subband_origin_col + col;                        if (significance_map[current_frame][current_row][current_col] == QCCWAVKLTTCE3D_NZN)                          {                            if (QccWAVTce3DUpdateModel(model, p))                              {                                QccErrorAddMessage("(QccWAVklttce3DNZNPass): Error calling QccWAVklttceUpdateModel()");                                return_value = 1;                                return(1);                              }                            if (buffer->type == QCCBITBUFFER_OUTPUT)                              {                                if (coefficients->volume[current_frame][current_row][current_col] >=                                    threshold)                                  {                                    symbol = 1;                                    coefficients->volume[current_frame][current_row][current_col] -=                                      threshold;                                  }                                else                                  symbol = 0;

⌨️ 快捷键说明

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