SourceCodeSky QQ客服 SourceCodeSky 400电话 客服电话 暂无

coder.cpp ( 文件浏览 )

  • keepall 发布于 2016-08-23 22:16
  • 浏览次数:387
  • 下载次数: 0
  • 下载需 20 积分
  • 侵权举报
////////////////////////////////////////////////////////////////////////////
//
//
//    Project     : VideoNet version 1.1.
//    Description : Peer to Peer Video Conferencing over the LAN.
//      Author      :    Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
//    Date        : 15-6-2004.
//
//    I have converted origional fast h.263 encoder library from C to C++ 
//      so that it can be integrated into any windows application easily.
//      I have removed some of unnecessary codes/files from the
//      fast h263 library.Also moved definitions and declarations
//      in their proper .h and .cpp files.
//
//    File description : 
//    Name    : coder.cpp
//
//
/////////////////////////////////////////////////////////////////////////////


/*************************************************
 * libr263: fast H.263 encoder library
 *
 * Copyright (C) 1996, Roalt Aalmoes, Twente University
 * SPA multimedia group
 *
 * Based on Telenor TMN 1.6 encoder (Copyright (C) 1995, Telenor R&D)
 * created by Karl Lillevold 
 *
 * Author encoder: Roalt Aalmoes, <aalmoes@huygens.nl>
 * 
 * Date: 31-07-96
 **************************************************/

     
/* Modyfied by Roalt Aalmoes with better algorithms and performance
 * objectives
 *
 * Warning: Although I tried to remove all advanced options code,
 * there might still be some artifacts in the code. Please do not
 * blame me for not removing all of it. 
 * Removing all advanced and alternating quantization code was done
 * for performance reasons. I'm sorry these options are not 
 * implemented here, but see the tmn1.7 code for a slow functioning
 * advanced H.263 compression algorithm. 
 *****************************************************************/

/* Notes for clear code: */
/* var. j is used for row indexing of MB in frame */
/* var. i is used for column indexing of MB in frame */

/*  pic is declared global */
/* MV is changed: it is now a real array of MV instead of array of pointers
   to MV. Its range is also equal to MVs encoded, without border MVs 
   Advantages: No more mallocs and frees in the code, disadvantages: ?? */
/* PictImage structure is replaced by int pointer. Drawback: not flexible for
   other format. */

#include"coder.h"
#include "countbit.h"
#include "pred.h"
#include "quant.h"
#include "mot_est.h"
#include "dct.h"

/**********************************************************************
 *
 *    Name:        Clip
 *    Description:    clips recontructed data 0-255
 *    
 *    Input:            pointer to recon. data structure
 *    Side effects:   data structure clipped
 *
 *    Date: 960715     Author: Roalt Aalmoes
 *
 ***********************************************************************/

//__inline__ void Clip(MB_Structure *data) 
void Clip(MB_Structure *data) 
{
  int n;
  int *mb_ptr = (int *) data;
  for (n = 0; n < 256 + 64 + 64; n++) {
    *mb_ptr = mmin(255,mmax(0,*mb_ptr));
    mb_ptr++;
  }
}

/* Encodes one frame intra using params */

[!==More==!]			
...
展开> <收缩

下载源码到电脑,阅读使用更方便

1 积分

快速下载
还剩0行未阅读,继续阅读
免费下载源码
Sponsored links

源码文件列表

温馨提示: 点击源码文件名可预览文件内容哦 ^_^
...
名称 大小 修改日期
/res/ 0 Bytes 2002-05-04 09:55:30
/encoder/ 0 Bytes 2002-05-06 16:43:08
/decoder/ 0 Bytes 2002-05-06 16:43:08
/videonet.ico 9.90 KB 2002-05-07 02:29:12
/VideoNet.aps 48.61 KB 2002-05-07 15:47:08
/ConnectDlg.h 1.29 KB 2002-05-07 14:19:06
/DSocket.h 1.74 KB 2002-05-07 16:11:08
/Mixer.h 1.27 KB 2002-05-07 03:26:40
/PlaySound.h 1.86 KB 2002-05-07 04:12:28
/RecordSound.h 1.67 KB 2002-05-08 14:19:28
/RequestDlg.h 1.38 KB 2002-05-07 14:20:42
/resource.h 1.89 KB 2002-05-07 03:11:50
/StdAfx.h 1.02 KB 2002-05-04 09:55:30
/VideoCapture.h 1.94 KB 2002-05-07 01:48:42
/VideoNet.h 1.18 KB 2002-05-04 09:55:30
/VideoNetDlg.h 2.77 KB 2002-05-07 15:47:04
/Volume.h 1.11 KB 2002-05-07 03:31:24
/ConnectDlg.cpp 1.83 KB 2002-05-07 20:46:54
/DSocket.cpp 7.00 KB 2002-05-07 16:11:08
/Mixer.cpp 4.25 KB 2002-05-07 03:24:10
/PlaySound.cpp 5.86 KB 2002-05-08 14:33:12
/RecordSound.cpp 5.94 KB 2002-05-08 14:18:32
/RequestDlg.cpp 2.52 KB 2002-05-07 14:25:18
/StdAfx.cpp 494 Bytes 2002-05-07 13:23:34
/VideoCapture.cpp 5.80 KB 2002-05-07 02:55:28
/VideoNet.cpp 1.75 KB 2002-05-07 13:26:16
/VideoNetDlg.cpp 19.47 KB 2002-05-08 19:40:58
/Volume.cpp 1.78 KB 2002-05-07 03:25:30
/VideoNet.clw 3.09 KB 2002-05-08 19:43:40
/VideoNet.opt 51.50 KB 2002-05-08 19:52:46
/VideoNet.dsp 12.69 KB 2002-05-08 19:52:08
/VideoNet.dsw 539 Bytes 2002-05-04 09:55:32
/VideoNet.rc 9.84 KB 2002-05-07 15:47:08
/decoder/decdef.h 2.70 KB 2002-05-07 03:51:06
/decoder/decstruct.h 1.56 KB 2002-05-07 03:55:10
/decoder/DGlobal.h 3.61 KB 2002-05-07 03:52:28
/decoder/GetBits.h 1.59 KB 2002-05-07 03:55:10
/decoder/GetBlk.h 1.69 KB 2002-05-07 03:55:10
/decoder/GetHdr.h 1.49 KB 2002-05-07 03:55:10
/decoder/GetPic.h 2.21 KB 2002-05-07 03:54:40
/decoder/GetVlc.h 1.66 KB 2002-05-07 03:55:10
/decoder/Idct.h 1.88 KB 2002-05-07 04:03:40
/decoder/Idctref.h 1.40 KB 2002-05-07 04:03:40
/decoder/Indices.h 1.74 KB 2002-05-07 04:03:40
/decoder/Recon.h 2.70 KB 2002-05-07 04:03:40
/decoder/Sac.h 1.50 KB 2002-05-07 04:03:40
/decoder/Sactbls.h 2.04 KB 2002-05-07 04:03:40
/decoder/Tmndec.h 3.94 KB 2002-05-07 04:03:14
/decoder/DGlobal.cpp 7.52 KB 2002-05-07 03:55:08
/decoder/GetBits.cpp 5.88 KB 2002-05-07 03:55:08
/decoder/GetBlk.cpp 10.31 KB 2002-05-07 03:55:10
/decoder/GetHdr.cpp 5.32 KB 2002-05-07 03:55:10
/decoder/GetPic.cpp 31.76 KB 2002-05-07 03:55:10
/decoder/GetVlc.cpp 10.92 KB 2002-05-07 03:55:10
/decoder/Idct.cpp 6.65 KB 2002-05-07 04:03:40
/decoder/Idctref.cpp 4.32 KB 2002-05-07 04:03:40
/decoder/Indices.cpp 4.21 KB 2002-05-07 04:03:40
/decoder/main.cpp 2.11 KB 2002-05-06 00:27:46
/decoder/Recon.cpp 21.69 KB 2002-05-07 04:03:40
/decoder/Sac.cpp 6.86 KB 2002-05-07 04:03:40
/decoder/Sactbls.cpp 12.36 KB 2002-05-07 04:03:40
/decoder/Tmndec.cpp 8.59 KB 2002-05-08 16:28:10
/decoder/YuvToRgb.cpp 5.42 KB 2002-05-06 02:58:48
/decoder/h263 2.08 KB 2002-05-05 14:38:24
/decoder/convert.h 936 Bytes 2002-05-07 03:41:52
/decoder/convert.cpp 5.07 KB 2002-05-07 03:41:34
/encoder/quant.cpp 2.98 KB 2002-05-07 03:38:50
/encoder/config.h 5.60 KB 2002-05-07 03:37:30
/encoder/countbit.h 1.69 KB 2002-05-07 03:34:20
/encoder/ctables.h 3.63 KB 2002-05-07 03:34:32
/encoder/dct.h 929 Bytes 2002-05-07 03:34:56
/encoder/def.h 4.66 KB 2002-05-07 03:37:30
/encoder/Global.h 1.76 KB 2002-05-07 03:37:30
/encoder/huffman.h 1.51 KB 2002-05-07 03:37:30
/encoder/libr263.h 2.27 KB 2002-05-07 03:37:30
/encoder/mot_est.h 1.38 KB 2002-05-07 03:38:00
/encoder/owntypes.h 1.17 KB 2002-05-07 03:38:22
/encoder/pred.h 1.73 KB 2002-05-07 03:38:40
/encoder/quant.h 974 Bytes 2002-05-07 03:38:58
/encoder/rlib.h 1.91 KB 2002-05-07 03:55:08
/encoder/stream.h 890 Bytes 2002-05-07 03:40:02
/encoder/struct.h 5.19 KB 2002-05-07 03:40:12
/encoder/coder.cpp 30.84 KB 2002-05-08 16:28:10
/encoder/countbit.cpp 17.74 KB 2002-05-07 03:34:12
/encoder/dct.cpp 23.50 KB 2002-05-07 03:37:30
/encoder/Global.cpp 1.32 KB 2002-05-07 03:35:20
/encoder/huffman.cpp 6.06 KB 2002-05-07 03:35:56
/encoder/libr263.cpp 8.04 KB 2002-05-08 19:46:38
/encoder/mot_est.cpp 12.30 KB 2002-05-07 03:55:08
/encoder/pred.cpp 12.27 KB 2002-05-07 03:38:32
/encoder/coder.h 1.81 KB 2002-05-07 03:37:30
/encoder/rlib.cpp 3.02 KB 2002-05-07 03:39:34
/encoder/stream.cpp 4.41 KB 2002-05-08 16:28:10
/res/VideoNet.rc2 400 Bytes 2002-05-04 09:55:30
/res/VideoNet.ico 1.05 KB 2002-05-04 09:55:30
Sponsored links
正在加载中……

Switch to the English version?

Yes
SourceCodeSky 英文版
No
SourceCodeSky 中文版

完善个人资料,获价值¥30元积分奖励!