• 大小: 17.57MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-08
  • 语言: C/C++
  • 标签: Visual  

资源简介

Visual C++视频会议开发技术与实例.rar Visual C++视频会议开发技术与实例.rar

资源截图

代码片段和文件信息

#include“sim.h“
#include “global_e.h“
#include “TMConfig.h“


void CodeOneOrTwo(PictImage *curr PictImage *B_image PictImage *prev 
          PictImage *pr int QP int frameskip Bits *bits
          Pict *pic PictImage *B_recon PictImage *recon)
{
  unsigned char *prev_ipol*pi_edge=NULL*pi*orig_lum;
  PictImage *prev_recon=NULL *pr_edge=NULL;
  MotionVector *MV[6][MBR+1][MBC+2];
  MotionVector ZERO = {00000};
  MB_Structure *recon_data_P; 
  MB_Structure *recon_data_B=NULL; 
  MB_Structure *diff; 
  short int *qcoeff_P;
  short int *qcoeff_B=NULL;

  int ModeB;  
  int CBP CBPB=0;
  int bquant[] = {5678};
  int QP_B;
  int newgob;

  int ijk;

  /* buffer control vars */
  float QP_cumulative = (float)0.0;
  int abs_mb_num = 0 QuantChangePostponed = 0;
  int QP_new QP_prev dquant QP_xmitted=QP;

  ZeroBits(bits);

  /* interpolate image */
  
  pi = InterpolateImage_MY(pr->lumpelslines);
  prev_ipol = pi;
  prev_recon = pr;
  orig_lum = prev->lum;

  /* mark PMV‘s outside the frame */
  for (i = 1; i < (pels>>4)+1; i++) 
  {
    for (k = 0; k < 6; k++) 
{
      MV[k][0][i] = (MotionVector *)malloc(sizeof(MotionVector));
      MarkVec(MV[k][0][i]);
    }
    MV[0][0][i]->Mode = MODE_INTRA;
  }
  /* zero out PMV‘s outside the frame */
  for (i = 0; i < (lines>>4)+1; i++) 
  {
    for (k = 0; k < 6; k++) 
{
      MV[k][i][0] = (MotionVector *)malloc(sizeof(MotionVector));
      ZeroVec(MV[k][i][0]);
      MV[k][i][(pels>>4)+1] = (MotionVector *)malloc(sizeof(MotionVector));
      ZeroVec(MV[k][i][(pels>>4)+1]);
    }
    MV[0][i][0]->Mode = MODE_INTRA;
    MV[0][i][(pels>>4)+1]->Mode = MODE_INTRA;
  }

  MotionEstimatePicture(curr->lumprev_recon->lumprev_ipolpic->seek_distMV pic->use_gobsync);

#ifndef OFFLINE_RATE_CONTROL
  if (pic->bit_rate != 0) 
  {
    /* Initialization routine for Rate Control */
    QP_new = InitializeQuantizer(PCT_INTER (float)pic->bit_rate 
               (pic->PB ? pic->target_frame_rate/2 : pic->target_frame_rate)
               pic->QP_mean);
    QP_xmitted = QP_prev = QP_new; 
  }
  else 
  {
    QP_new = QP_xmitted = QP_prev = QP; /* Copy the passed value of QP */
  }
#else
    QP_new = QP_xmitted = QP_prev = QP; /* Copy the passed value of QP */
#endif
  dquant = 0; 

  for ( j = 0; j < lines/MB_SIZE; j++) 
  {

#ifndef OFFLINE_RATE_CONTROL
    if (pic->bit_rate != 0) 
{
      /* QP updated at the beginning of each row */
      AddBitsPicture(bits);
      
      QP_new =  UpdateQuantizer(abs_mb_num pic->QP_mean PCT_INTER 
                        (float)pic->bit_rate pels/MB_SIZE lines/MB_SIZE  bits->total);
    }
#endif

    newgob = 0;

    if (j == 0)
{
      pic->QUANT = QP_new;
      bits->header += CountBitsPicture(pic);
      QP_xmitted = QP_prev = QP_new;
    }
    else if (pic->use_gobsync && j%pic->use_gobsync == 0) 
{
      bits->header += CountBitsSlice(jQP_new); /* insert gob sync */
      QP_xmitted = QP_prev = QP_new;
      newgob = 1;
    }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      23344  2004-01-08 15:15  Visual C++视频会议开发技术与实例\03\H263编码\coder.c

     文件       6125  2003-07-18 09:03  Visual C++视频会议开发技术与实例\03\H263编码\config_e.h

     文件      15246  2004-01-08 15:32  Visual C++视频会议开发技术与实例\03\H263编码\countbit.c

     文件      42182  2004-01-08 16:46  Visual C++视频会议开发技术与实例\03\H263编码\dct.c

     文件        123  2004-01-09 13:00  Visual C++视频会议开发技术与实例\03\H263编码\global_e.h

     文件       4646  2004-01-08 15:26  Visual C++视频会议开发技术与实例\03\H263编码\indices_e.h

     文件       1747  2004-01-07 17:20  Visual C++视频会议开发技术与实例\03\H263编码\io.c

     文件       1916  2003-07-18 09:03  Visual C++视频会议开发技术与实例\03\H263编码\macros.h

     文件      30416  2004-02-03 16:26  Visual C++视频会议开发技术与实例\03\H263编码\main.c

     文件        129  2004-01-07 17:47  Visual C++视频会议开发技术与实例\03\H263编码\make.bat

     文件      12058  2004-02-06 11:04  Visual C++视频会议开发技术与实例\03\H263编码\mot_est.c

     文件      24303  2004-01-08 15:15  Visual C++视频会议开发技术与实例\03\H263编码\pred.c

     文件       1403  2003-10-27 21:32  Visual C++视频会议开发技术与实例\03\H263编码\putbits.c

     文件       1996  2003-10-27 21:33  Visual C++视频会议开发技术与实例\03\H263编码\putvlc.c

     文件       1646  2003-07-18 09:03  Visual C++视频会议开发技术与实例\03\H263编码\putvlc.h

     文件       3215  2004-01-08 15:15  Visual C++视频会议开发技术与实例\03\H263编码\quant.c

     文件       3553  2004-01-07 17:44  Visual C++视频会议开发技术与实例\03\H263编码\ratectrl.c

     文件      13280  2003-07-18 09:03  Visual C++视频会议开发技术与实例\03\H263编码\sactbls_e.h

     文件       1899  2004-01-08 17:07  Visual C++视频会议开发技术与实例\03\H263编码\sac_e.c

     文件      10767  2004-01-08 15:14  Visual C++视频会议开发技术与实例\03\H263编码\sim.h

     文件        266  2003-08-19 07:04  Visual C++视频会议开发技术与实例\03\H263编码\TMConfig.h

     文件       6136  2003-07-18 09:03  Visual C++视频会议开发技术与实例\03\H263编码\vlc.h

     文件        405  2003-06-11 07:10  Visual C++视频会议开发技术与实例\03\H263解码\CONFIG.H

     文件      12879  2003-06-11 07:10  Visual C++视频会议开发技术与实例\03\H263解码\Display.c

     文件       5118  2003-06-11 07:10  Visual C++视频会议开发技术与实例\03\H263解码\Dither.c

     文件       2324  2003-11-26 18:28  Visual C++视频会议开发技术与实例\03\H263解码\GETBITS.C

     文件       7769  2003-11-26 14:36  Visual C++视频会议开发技术与实例\03\H263解码\Getblk.c

     文件       3596  2003-11-26 20:48  Visual C++视频会议开发技术与实例\03\H263解码\GETHDR.C

     文件      26672  2004-01-08 17:50  Visual C++视频会议开发技术与实例\03\H263解码\GETPIC.C

     文件       2318  2003-11-26 14:33  Visual C++视频会议开发技术与实例\03\H263解码\GETVLC.C

............此处省略1098个文件信息

评论

共有 条评论