亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? manual.tex

?? h.263 c編碼源碼。目錄下有input。qcif原始未壓縮文件
?? TEX
字號:
\documentclass{article}\usepackage{epsf}\usepackage{utf}\title{libr263 video compression library}\author{Roalt Aalmoes}\date{draft of \today}\begin{document}\bibliographystyle{refalpha}\maketitle\begin{abstract} \label{abstract}   This paper describes the usage of the libr263 library, a fast  implementation of an H.263 encoder. The implementations does not  feature the advantaged options, as they are currently too  computational expensive for real-time compression. However, the  encoder includes variable-sized frames encoding and an  implementation of a logarithmic search algorithm.  The encoder  itself is optimized for 64-bit processors, although it also works on  32-bit processors. The encoder has the ability to encode only parts  of the picture by supplying an array of booleans for each  macroblock.\end{abstract}\section{Introduction}The implementation of the encoder is derived from the telenor TMN 1.6implementation. Where the telenor implementation is focussed onfunctionality of all (advanced) options, this implementation is aimedat real-time compression. This results in a slim implementation withno \emph{processing time}-consuming advanced features. The mostsignificant difference with an H.261 encoder is the use of half-pixelprediction which reduces bitrate significantly.This library function is currently in beta-testing. Please feel freeto send any comments to aalmoes@huygens.nl. There is nota decoder, as the TMN 1.7 implementation from telenor is fast anduseful.I would especially like to thank Karl Lillevold for making theoriginal source freely available.\section{How to use the encoder}\subsection{Initialization}To use the encoder, a number of variables must be declared:\begin{verbatim}  /* Variables to be declared */                         CParam cparams;  Bits bits;\end{verbatim}The cparams variable will hold parameter information forthe encoder. The \texttt{CParam} structure is shown below:\begin{verbatim}typedef struct compression_parameters {/* Contains all the parameters that are needed for    encoding plus all the status between two encodings */  int half_pixel_searchwindow; /* size of search window in half pixels                                  if this value is 0, no search is performed                                */  int format;                     int pels;                     /* Only used when format == CPARAM_OTHER */  int lines;                    /* Only used when format == CPARAM_OTHER */  int inter;                    /* TRUE of INTER frame encoded frames,                                   FALSE for INTRA frames */  int search_method;            /* DEF_EXHAUSTIVE or DEF_LOGARITHMIC */  int advanced_method;          /* TRUE : Use array to determine                                           macroblocks in INTER frame                                          mode to be encoded */  int Q_inter;                  /* Quantization factor for INTER frames */  int Q_intra;                  /* Quantization factor for INTRA frames */  unsinged int *data;              /* source data  */  unsigned int *interpolated_lum;  /* intepolated reconstructed                                      luminance part (internal) */  unsigned int *recon;             /* Reconstructed copy of compressed frame */  int *EncodeThisBlock;                                 /* Array of mbr*mbc when advanced_method                                    is used */} CParam;\end{verbatim}The following constants are also defined:\begin{verbatim}/* Compression parameter structure */#define CPARAM_INTER TRUE#define CPARAM_INTRA FALSE#define CPARAM_EXHAUSTIVE TRUE#define CPARAM_LOGARITHMIC FALSE#define CPARAM_ADVANCED TRUE#define CPARAM_NOADVANCED FALSE#define CPARAM_QCIF 0#define CPARAM_CIF 1#define CPARAM_4CIF 2#define CPARAM_16CIF 3#define CPARAM_SQCIF 4#define CPARAM_OTHER 99#define CPARAM_DEFAULT_INTER_Q 8#define CPARAM_DEFAULT_INTRA_Q 8#define CPARAM_DEFAULT_SEARCHWINDOW 3#define CPARAM_DEFAULT_INTER = CPARAM_INTRA#define CPARAM_DEFAULT_SEARCH_METHOD = CPARAM_LOGARITHMIC#define CPARAM_DEFAULT_ADVANCED_METHOD = CPARAM_NOADVANCED\end{verbatim}The CPARAM\_DEFAULT\_ defines give the default values afterinitialization. The initialization of the cparams structure is doneas follows:\begin{verbatim}/* Initialisation */cparams.format = CPARAM_QCIF; /* For quarter-CIF sized frames */InitCompress(&cparams);  /* Use standard compression parameters */WriteByteFunction = OwnWriteFunction;\end{verbatim}The first assignment determines the size of the video frames that arecompressed. To use the $176 \times 144$ QCIF format, assign here {\tt  CPARAM\_QCIF} to {\tt format}. To use the $352 \times 288$ CIFformat, define here {\tt CPARAM\_CIF} to {\tt format}. Other formatthat may be used are {\tt CPARAM\_SQCIF}, {\tt CPARAM\_4CIF} and {\tt  CPARAM\_16CIF} (see the file {\tt libr263.h}). To use analternative format, assign {\tt CPARAM\_OTHER} to {\tt format} and alsoassign the pixels per line to {\tt pels} and the number of lines to{\tt lines}. In any format, the size of the two chrominancecomponents is half the {lines} and {pels} size. For example, the QCIFformat has a chrominance size of $88 \times 72$, which means that thetotal number of integers a frame consists of is $176 \times 144 + 88\times 72 + 88 \times 72 = 38016$. The {\tt InitCompress} function allocates some local memory andinitializes some structures.  It also fills in the defaults values inthe cparam structure. The only value that must be initialized\emph{before} the {\tt InitCompress} call is {\tt format}. Beware thatyou overrule the default values {\emph after\/} the InitCompressfunction.  The WriteByteFunction has the following type:\begin{verbatim}typedef void (*WriteByte) (int);/* Global variable */WriteByte WriteByteFunction;\end{verbatim}In order to use the output data of the compression, you should assignthis value to your own function with the same type. An exampleWriteByteFunction is given below:\begin{verbatim}void OwnWriteFunction(int byte){  putc(byte, outputstream);  return;} \end{verbatim}\texttt{byte} is the byte to be written and \texttt{outputstream} is a file pointer defined by yourself. \subsection{Intra encoding}After these function are defined, a frame can be INTRAencoded. Remember that the first frame must always be an INTRA frame:\begin{verbatim}  /* Parameters to encode INTRA */  cparams.inter = CPARAM_INTRA;    cparams.data = (unsinged int *) &qcif_frame;   /* struct qcif qcif_frame holds QCIF frame */  CompressToH263(&cparams, &bits);\end{verbatim}The \texttt{data} field holds the frame. The structure of this framefor the QCIF format is as follows:\begin{verbatim}#define QCIF_YWIDTH 176#define QCIF_YHEIGHT 144#define QCIF_UWIDTH 88#define QCIF_UHEIGHT 72#define QCIF_VWIDTH 88#define QCIF_VHEIGHT 72struct qcif {  unsigned int Y[QCIF_YHEIGHT][QCIF_YWIDTH];  unsigned int U[QCIF_UHEIGHT][QCIF_UWIDTH];  unsigned int V[QCIF_VHEIGHT][QCIF_VWIDTH];};\end{verbatim}Other parameters that can be set for INTRA encoding is thequantization factor \texttt{Q\_intra}. Other parameters do not effect intraencoding.\subsection{inter encoding}To encode a frame INTER, the following parameters must be set:\begin{verbatim}  /* Parameters to encode INTER */  cparams.inter = CPARAM_INTER;  CompressToH263(&cparams, &bits); \end{verbatim}These are the minimal parameters to be set. Other parameter that maybe used are the quantization factor \texttt{Q\_inter},\texttt{half\_pixel\_search\_window}, \texttt{advanced\_method}combined with the \texttt{EncodeThisBlock} array, and the\texttt{search\_method}.\subsection{Quantization setting}To set the quantization for INTRA frames, fill in a value into the{\tt Q\_intra} field. To set the quantization for INTER frames, fillin a value into the {\tt Q\_inter} field. Quantization determinesdirectly the quality: the lower the quantization, the higher thequality but the larger the output bitstream. Although the quantizationmay have any values equal or higher than 1, useful values are between4 and 16. The encoder is optimized for quantization of 8 and uses thisas default.\subsection{Search method}In the {\tt search\_method} field, two available algorithms cancurrently be used. {\tt CPARAM\_EXHAUSTIVE} determines a fullexhaustive search, while {\tt CPARAM\_LOGARITHMIC} determines alogarithmic search. Exhaustive search creates smaller bitstreams, butfor large movement videos performes significant worse than logarithmicsearch. See also the next section.\subsection{Half pixel search window}This field gives the size of the half pixel search window, expressedin half pixel sizes from the center of the search. A value of 1 meansthe search area is $[-0.5..+0.5]$ in both horizontal as verticaldirections. With EXHAUSTIVE search, all possible places within thearea are examined, and with LOGARITHMIC, only some of them (evenlydistributed across the area) are examined. The value that may be used here is between 0 and 30, both numbersincluded. With EXHAUSTIVE search, using a value greater than 2 heremay increase computation time significantly. With LOGARITHMIC search,performance for using larger search window areas is much better.\section{Information from the encoder}The encoder delivers information to the user in much the same way asthe telenor implementation. It returns a Bits structure that gives adetailed summary of the bits used for different parts:\begin{verbatim}typedef struct bits_counted {  int Y;  int C;  int vec;  int CBPY;  int CBPCM;  int MODB;  int CBPB;  int COD;  int header;  int DQUANT;  int total;  int no_inter;  int no_inter4v;  int no_intra;} Bits;\end{verbatim}In particularly the {\tt total} field might be of interest. Alsoreturned is a reconstructed picture that can be found in the\texttt{recon} field of the {\tt CParam} structure. The encoder usesthis field for Inter frame encoding, so do not alter this field unlessyou know what you are doing.\section{{\tt libr263.h} include file}This section contains the {\tt libr263.h} source file, which must beincluded into the source file where you use the compression library.\begin{verbatim}/************************************************* * 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 **************************************************/#include "rlib.h"#ifndef LIBR263_H#define LIBR263_H/* This should not be changed */#define MB_SIZE 16/* Order of usage of lib263:   1. Assign size of frame type to "format" field and call InitCompress()   2. WriteByteFunction = OwnWriteFunction  (1 and 2 in arbitrary order)   3. Set cparams and do CompressQCIFToH263(cparams) with INTRA encoding   4. Set cparams and do CompressQCIFToH263(cparams) with either INTRA       or INTER encoding   5. redo 4. or to stop do 6   6. CloseCompress() *//* Compression parameter structure */#define CPARAM_INTER TRUE#define CPARAM_INTRA FALSE#define CPARAM_EXHAUSTIVE TRUE#define CPARAM_LOGARITHMIC FALSE#define CPARAM_ADVANCED TRUE#define CPARAM_NOADVANCED FALSE#define CPARAM_QCIF 0#define CPARAM_CIF 1#define CPARAM_4CIF 2#define CPARAM_16CIF 3#define CPARAM_SQCIF 4#define CPARAM_OTHER 99#define CPARAM_DEFAULT_INTER_Q 8#define CPARAM_DEFAULT_INTRA_Q 8#define CPARAM_DEFAULT_SEARCHWINDOW 3#define CPARAM_DEFAULT_INTER CPARAM_INTRA#define CPARAM_DEFAULT_SEARCH_METHOD CPARAM_LOGARITHMIC#define CPARAM_DEFAULT_ADVANCED_METHOD CPARAM_NOADVANCED#define CPARAM_DEFAULT_FORMAT CPARAM_QCIFtypedef struct compression_parameters {/* Contains all the parameters that are needed for    encoding plus all the status between two encodings */  int half_pixel_searchwindow; /* size of search window in half pixels                                  if this value is 0, no search is performed                                */  int format;                   /*  */  int pels;                     /* Only used when format == CPARAM_OTHER */  int lines;                    /* Only used when format == CPARAM_OTHER */  int inter;                    /* TRUE of INTER frame encoded frames,                                   FALSE for INTRA frames */  int search_method;            /* DEF_EXHAUSTIVE or DEF_LOGARITHMIC */  int advanced_method;          /* TRUE : Use array to determine                                           macroblocks in INTER frame                                          mode to be encoded */  int Q_inter;                  /* Quantization factor for INTER frames */  int Q_intra;                  /* Quantization factor for INTRA frames */  unsigned int *data;           /* source data in qcif format */  unsigned int *interpolated_lum;       /* intepolated recon luminance part */  unsigned int *recon;          /* Reconstructed copy of compressed frame */  int *EncodeThisBlock;                                 /* Array when advanced_method is used */} CParam;/* Structure for counted bits */typedef struct bits_counted {  int Y;  int C;  int vec;  int CBPY;  int CBPCM;  int MODB;  int CBPB;  int COD;  int header;  int DQUANT;  int total;  int no_inter;  int no_inter4v;  int no_intra;/* NB: Remember to change AddBits(), ZeroBits() and AddBitsPicture()    when entries are added here */} Bits;typedef void (*WriteByte) (int);/* Global variable */extern WriteByte WriteByteFunction;/* Prototypes */int CompressToH263(CParam *params, Bits *bits);int InitCompress(CParam *params);void CloseCompress(CParam *params);void SkipH263Frames(int frames_to_skip);/* Procedure to detect motion, expects param->EncodeThisBlock is set to   array.    Advised values for threshold: mb_threholds = 2; pixel_threshold = 2 */int FindMotion(CParam *params, int mb_threshold, int pixel_threshold);#endif\end{verbatim}\end{document}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区国产| 免费看黄色91| 国产精品少妇自拍| 中文字幕一区二区三区在线不卡 | 欧美国产丝袜视频| 欧美一三区三区四区免费在线看| 久久女同性恋中文字幕| 中文子幕无线码一区tr| 成人久久18免费网站麻豆| 国产成人亚洲综合a∨婷婷图片| 欧洲一区二区三区在线| 亚洲精品一区二区三区在线观看 | 欧洲色大大久久| xvideos.蜜桃一区二区| 国产精品天干天干在线综合| 色哟哟国产精品免费观看| 欧美精品一区二区久久婷婷| 99vv1com这只有精品| 精品免费视频一区二区| 天天色综合成人网| 欧美精品视频www在线观看| 亚洲欧美一区二区久久| 成人黄色电影在线 | 99精品偷自拍| 极品少妇xxxx精品少妇偷拍| 欧美一级理论性理论a| 午夜日韩在线观看| 亚洲精品国产一区二区精华液| 成人教育av在线| 精品一区二区三区免费视频| 日韩av中文字幕一区二区三区| 在线观看一区不卡| 色琪琪一区二区三区亚洲区| 成人自拍视频在线观看| 风间由美一区二区三区在线观看| 国产精品免费久久久久| 亚洲色图清纯唯美| 91精品中文字幕一区二区三区| 美女久久久精品| 亚洲男女毛片无遮挡| 韩国女主播成人在线| 精品少妇一区二区| 国产乱码精品一区二区三区av| 91精品国产福利| 精品国产污网站| 亚洲欧美精品午睡沙发| 亚洲国产日韩一区二区| 久久精品视频网| 欧美一区二区女人| 精品噜噜噜噜久久久久久久久试看| 欧美大胆一级视频| 欧美三级午夜理伦三级中视频| 成人性生交大片| 欧美图片一区二区三区| 亚洲一区二区三区四区在线免费观看 | 日本不卡高清视频| 国产成人精品免费| 欧美一级艳片视频免费观看| 久久日一线二线三线suv| 亚洲欧美日韩国产手机在线| 久久精品国产成人一区二区三区| 日韩毛片视频在线看| 奇米影视一区二区三区小说| 久久av资源网| 欧美日韩日日骚| 自拍视频在线观看一区二区| 国内精品自线一区二区三区视频| 色悠悠久久综合| 国产精品女主播av| 国产毛片一区二区| 精品成人a区在线观看| 亚洲电影视频在线| 首页亚洲欧美制服丝腿| 日韩综合一区二区| 日韩亚洲欧美高清| 日韩激情一二三区| 欧美v日韩v国产v| 韩国毛片一区二区三区| 精品区一区二区| 国产亚洲欧洲一区高清在线观看| 亚洲欧美激情插| 91成人免费网站| 日韩片之四级片| 亚洲国产精品久久久久婷婷884| 91丨九色丨尤物| 337p日本欧洲亚洲大胆精品| 国产成人av在线影院| 香蕉乱码成人久久天堂爱免费| 99热国产精品| 久久99精品国产.久久久久| 成人激情av网| 蜜桃精品视频在线观看| 国产无人区一区二区三区| 91久久久免费一区二区| 九九热在线视频观看这里只有精品| 久久综合国产精品| 欧美午夜不卡在线观看免费| 极品瑜伽女神91| 亚洲成人综合在线| 国产精品久久久久影院亚瑟| 亚洲精品日韩专区silk| 一区二区三区在线免费播放| 日韩中文字幕一区二区三区| 国产精品日韩精品欧美在线| 日韩一区二区精品葵司在线| 99久久综合国产精品| 精品在线观看免费| 另类调教123区| 午夜精品久久久久久久| 亚洲欧美另类图片小说| 久久久久97国产精华液好用吗| 在线亚洲高清视频| 色综合久久天天| av资源站一区| 成人手机电影网| eeuss鲁片一区二区三区在线看| 精品一区二区三区在线播放| 亚洲成av人在线观看| 精品视频一区二区三区免费| 亚洲黄色小视频| 国产成人av电影免费在线观看| 一区二区三区视频在线观看| 国产精品大尺度| 午夜精品久久久久影视| 亚洲成人免费看| 琪琪久久久久日韩精品| 国产成人精品午夜视频免费| 国产麻豆精品95视频| 99久久综合国产精品| 欧美日韩在线观看一区二区| 欧美精品视频www在线观看| 日韩你懂的在线观看| 成人欧美一区二区三区1314| 亚洲午夜在线视频| 国产福利电影一区二区三区| 99视频精品在线| 日韩一级黄色大片| 最新不卡av在线| 免费美女久久99| 色琪琪一区二区三区亚洲区| www日韩大片| 日韩影院在线观看| 91麻豆国产香蕉久久精品| 日韩精品最新网址| 亚洲国产精品视频| 99在线热播精品免费| 国产婷婷精品av在线| 亚洲图片有声小说| 一本大道久久a久久精二百| 日韩欧美精品三级| 日韩电影免费在线观看网站| 91精品福利视频| 亚洲女人****多毛耸耸8| 成人午夜av影视| 中文字幕一区在线观看| 国产成人免费视频一区| 国产婷婷色一区二区三区四区| 麻豆视频一区二区| 欧美日韩不卡一区| 欧美无砖专区一中文字| 亚洲精品第一国产综合野| 成人福利视频网站| 一区二区三区中文免费| 一本大道久久a久久综合婷婷| 亚洲欧美一区二区三区久本道91| 懂色av噜噜一区二区三区av| 中文一区二区在线观看| 成人免费视频视频在线观看免费| 亚洲国产成人私人影院tom| 成人精品在线视频观看| 亚洲精品成人在线| 欧美一区二区三区思思人| 国产一区二区三区黄视频 | 精品免费一区二区三区| 精品一区二区三区视频| 亚洲男人天堂一区| 日韩一区二区三| 色八戒一区二区三区| 美女被吸乳得到大胸91| 亚洲欧美综合色| 精品久久久久久久一区二区蜜臀| 成+人+亚洲+综合天堂| 亚洲一卡二卡三卡四卡无卡久久| 日韩欧美激情一区| 欧美三级视频在线观看| 成人毛片老司机大片| 日本午夜一区二区| 亚洲动漫第一页| 国产精品乱人伦| 日本一区二区三区高清不卡| 一区二区三区成人| 日本一区二区三区四区| 91精品国产品国语在线不卡| 日本福利一区二区| 91亚洲永久精品| 97se亚洲国产综合在线| 国产凹凸在线观看一区二区| 亚洲图片一区二区| 久久久久久久久99精品| 日韩午夜精品电影|