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

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

?? global.h

?? MPEG2解編碼程序源代碼
?? H
字號:
/* global.h, global variables, function prototypes                          */

/* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. */

/*
 * Disclaimer of Warranty
 *
 * These software programs are available to the user without any license fee or
 * royalty on an "as is" basis.  The MPEG Software Simulation Group disclaims
 * any and all warranties, whether express, implied, or statuary, including any
 * implied warranties or merchantability or of fitness for a particular
 * purpose.  In no event shall the copyright-holder be liable for any
 * incidental, punitive, or consequential damages of any kind whatsoever
 * arising from the use of these programs.
 *
 * This disclaimer of warranty extends to the user of these programs and user's
 * customers, employees, agents, transferees, successors, and assigns.
 *
 * The MPEG Software Simulation Group does not represent or warrant that the
 * programs furnished hereunder are free of infringement of any third-party
 * patents.
 *
 * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware,
 * are subject to royalty fees to patent holders.  Many of these patents are
 * general enough such that they are unavoidable regardless of implementation
 * design.
 *
 */

#include "mpeg2enc.h"

/* choose between declaration (GLOBAL undefined)
 * and definition (GLOBAL defined)
 * GLOBAL is defined in exactly one file (mpeg2enc.c)
 */

#ifndef GLOBAL
#define EXTERN extern
#else
#define EXTERN
#endif

/* prototypes of global functions */

/* conform.c */
void range_checks _ANSI_ARGS_((void));
void profile_and_level_checks _ANSI_ARGS_(());

/* fdctref.c */
void init_fdct _ANSI_ARGS_((void));
void fdct _ANSI_ARGS_((short *block));

/* idct.c */
void idct _ANSI_ARGS_((short *block));
void init_idct _ANSI_ARGS_((void));

/* motion.c */
void motion_estimation _ANSI_ARGS_((unsigned char *oldorg, unsigned char *neworg,
  unsigned char *oldref, unsigned char *newref, unsigned char *cur,
  unsigned char *curref, int sxf, int syf, int sxb, int syb,
  struct mbinfo *mbi, int secondfield, int ipflag));

/* mpeg2enc.c */
void error _ANSI_ARGS_((char *text));

/* predict.c */
void predict _ANSI_ARGS_((unsigned char *reff[], unsigned char *refb[],
  unsigned char *cur[3], int secondfield, struct mbinfo *mbi));

/* putbits.c */
void initbits _ANSI_ARGS_((void));
void putbits _ANSI_ARGS_((int val, int n));
void alignbits _ANSI_ARGS_((void));
int bitcount _ANSI_ARGS_((void));

/* puthdr.c */
void putseqhdr _ANSI_ARGS_((void));
void putseqext _ANSI_ARGS_((void));
void putseqdispext _ANSI_ARGS_((void));
void putuserdata _ANSI_ARGS_((char *userdata));
void putgophdr _ANSI_ARGS_((int frame, int closed_gop));
void putpicthdr _ANSI_ARGS_((void));
void putpictcodext _ANSI_ARGS_((void));
void putseqend _ANSI_ARGS_((void));

/* putmpg.c */
void putintrablk _ANSI_ARGS_((short *blk, int cc));
void putnonintrablk _ANSI_ARGS_((short *blk));
void putmv _ANSI_ARGS_((int dmv, int f_code));

/* putpic.c */
void putpict _ANSI_ARGS_((unsigned char *frame));

/* putseq.c */
void putseq _ANSI_ARGS_((void));

/* putvlc.c */
void putDClum _ANSI_ARGS_((int val));
void putDCchrom _ANSI_ARGS_((int val));
void putACfirst _ANSI_ARGS_((int run, int val));
void putAC _ANSI_ARGS_((int run, int signed_level, int vlcformat));
void putaddrinc _ANSI_ARGS_((int addrinc));
void putmbtype _ANSI_ARGS_((int pict_type, int mb_type));
void putmotioncode _ANSI_ARGS_((int motion_code));
void putdmv _ANSI_ARGS_((int dmv));
void putcbp _ANSI_ARGS_((int cbp));

/* quantize.c */
int quant_intra _ANSI_ARGS_((short *src, short *dst, int dc_prec,
  unsigned char *quant_mat, int mquant));
int quant_non_intra _ANSI_ARGS_((short *src, short *dst,
  unsigned char *quant_mat, int mquant));
void iquant_intra _ANSI_ARGS_((short *src, short *dst, int dc_prec,
  unsigned char *quant_mat, int mquant));
void iquant_non_intra _ANSI_ARGS_((short *src, short *dst,
  unsigned char *quant_mat, int mquant));

/* ratectl.c */
void rc_init_seq _ANSI_ARGS_((void));
void rc_init_GOP _ANSI_ARGS_((int np, int nb));
void rc_init_pict _ANSI_ARGS_((unsigned char *frame));
void rc_update_pict _ANSI_ARGS_((void));
int rc_start_mb _ANSI_ARGS_((void));
int rc_calc_mquant _ANSI_ARGS_((int j));
void vbv_end_of_picture _ANSI_ARGS_((void));
void calc_vbv_delay _ANSI_ARGS_((void));

/* readpic.c */
void readframe _ANSI_ARGS_((char *fname, unsigned char *frame[]));

/* stats.c */
void calcSNR _ANSI_ARGS_((unsigned char *org[3], unsigned char *rec[3]));
void stats _ANSI_ARGS_((void));

/* transfrm.c */
void transform _ANSI_ARGS_((unsigned char *pred[], unsigned char *cur[],
  struct mbinfo *mbi, short blocks[][64]));
void itransform _ANSI_ARGS_((unsigned char *pred[], unsigned char *cur[],
  struct mbinfo *mbi, short blocks[][64]));
void dct_type_estimation _ANSI_ARGS_((unsigned char *pred, unsigned char *cur,
  struct mbinfo *mbi));

/* writepic.c */
void writeframe _ANSI_ARGS_((char *fname, unsigned char *frame[]));


/* global variables */

EXTERN char version[]
#ifdef GLOBAL
  ="mpeg2encode V1.2, 96/07/19"
#endif
;

EXTERN char author[]
#ifdef GLOBAL
  ="(C) 1996, MPEG Software Simulation Group"
#endif
;

/* zig-zag scan */
EXTERN unsigned char zig_zag_scan[64]
#ifdef GLOBAL
=
{
  0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,
  12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,
  35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,
  58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63
}
#endif
;

/* alternate scan */
EXTERN unsigned char alternate_scan[64]
#ifdef GLOBAL
=
{
  0,8,16,24,1,9,2,10,17,25,32,40,48,56,57,49,
  41,33,26,18,3,11,4,12,19,27,34,42,50,58,35,43,
  51,59,20,28,5,13,6,14,21,29,36,44,52,60,37,45,
  53,61,22,30,7,15,23,31,38,46,54,62,39,47,55,63
}
#endif
;

/* default intra quantization matrix */
EXTERN unsigned char default_intra_quantizer_matrix[64]
#ifdef GLOBAL
=
{
   8, 16, 19, 22, 26, 27, 29, 34,
  16, 16, 22, 24, 27, 29, 34, 37,
  19, 22, 26, 27, 29, 34, 34, 38,
  22, 22, 26, 27, 29, 34, 37, 40,
  22, 26, 27, 29, 32, 35, 40, 48,
  26, 27, 29, 32, 35, 40, 48, 58,
  26, 27, 29, 34, 38, 46, 56, 69,
  27, 29, 35, 38, 46, 56, 69, 83
}
#endif
;

/* non-linear quantization coefficient table */
EXTERN unsigned char non_linear_mquant_table[32]
#ifdef GLOBAL
=
{
   0, 1, 2, 3, 4, 5, 6, 7,
   8,10,12,14,16,18,20,22,
  24,28,32,36,40,44,48,52,
  56,64,72,80,88,96,104,112
}
#endif
;

/* non-linear mquant table for mapping from scale to code
 * since reconstruction levels are not bijective with the index map,
 * it is up to the designer to determine most of the quantization levels
 */

EXTERN unsigned char map_non_linear_mquant[113] 
#ifdef GLOBAL
=
{
0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,
16,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,
22,22,23,23,23,23,24,24,24,24,24,24,24,25,25,25,25,25,25,25,26,26,
26,26,26,26,26,26,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,29,
29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,31,31,31,31,31
}
#endif
;

/* picture data arrays */

/* reconstructed frames */
EXTERN unsigned char *newrefframe[3], *oldrefframe[3], *auxframe[3];
/* original frames */
EXTERN unsigned char *neworgframe[3], *oldorgframe[3], *auxorgframe[3];
/* prediction of current frame */
EXTERN unsigned char *predframe[3];
/* 8*8 block data */
EXTERN short (*blocks)[64];
/* intra / non_intra quantization matrices */
EXTERN unsigned char intra_q[64], inter_q[64];
EXTERN unsigned char chrom_intra_q[64],chrom_inter_q[64];
/* prediction values for DCT coefficient (0,0) */
EXTERN int dc_dct_pred[3];
/* macroblock side information array */
EXTERN struct mbinfo *mbinfo;
/* motion estimation parameters */
EXTERN struct motion_data *motion_data;
/* clipping (=saturation) table */
EXTERN unsigned char *clp;

/* name strings */
EXTERN char id_string[256], tplorg[256], tplref[256];
EXTERN char iqname[256], niqname[256];
EXTERN char statname[256];
EXTERN char errortext[256];

EXTERN FILE *outfile, *statfile, * matlab_file; /* file descriptors */
EXTERN int inputtype; /* format of input frames */

EXTERN int quiet; /* suppress warnings */


/* coding model parameters */

EXTERN int N; /* number of frames in Group of Pictures */
EXTERN int M; /* distance between I/P frames */
EXTERN int P; /* intra slice refresh interval */
EXTERN int nframes; /* total number of frames to encode */
EXTERN int frame0, tc0; /* number and timecode of first frame */
EXTERN int mpeg1; /* ISO/IEC IS 11172-2 sequence */
EXTERN int fieldpic; /* use field pictures */

/* sequence specific data (sequence header) */

EXTERN int horizontal_size, vertical_size; /* frame size (pels) */
EXTERN int width, height; /* encoded frame size (pels) multiples of 16 or 32 */
EXTERN int chrom_width,chrom_height,block_count;
EXTERN int mb_width, mb_height; /* frame size (macroblocks) */
EXTERN int width2, height2, mb_height2, chrom_width2; /* picture size */
EXTERN int aspectratio; /* aspect ratio information (pel or display) */
EXTERN int frame_rate_code; /* coded value of frame rate */
EXTERN double frame_rate; /* frames per second */
EXTERN double bit_rate; /* bits per second */
EXTERN int vbv_buffer_size; /* size of VBV buffer (* 16 kbit) */
EXTERN int constrparms; /* constrained parameters flag (MPEG-1 only) */
EXTERN int load_iquant, load_niquant; /* use non-default quant. matrices */
EXTERN int load_ciquant,load_cniquant;


/* sequence specific data (sequence extension) */

EXTERN int profile, level; /* syntax / parameter constraints */
EXTERN int prog_seq; /* progressive sequence */
EXTERN int chroma_format;
EXTERN int low_delay; /* no B pictures, skipped pictures */


/* sequence specific data (sequence display extension) */

EXTERN int video_format; /* component, PAL, NTSC, SECAM or MAC */
EXTERN int color_primaries; /* source primary chromaticity coordinates */
EXTERN int transfer_characteristics; /* opto-electronic transfer char. (gamma) */
EXTERN int matrix_coefficients; /* Eg,Eb,Er / Y,Cb,Cr matrix coefficients */
EXTERN int display_horizontal_size, display_vertical_size; /* display size */


/* picture specific data (picture header) */

EXTERN int temp_ref; /* temporal reference */
EXTERN int pict_type; /* picture coding type (I, P or B) */
EXTERN int vbv_delay; /* video buffering verifier delay (1/90000 seconds) */


/* picture specific data (picture coding extension) */

EXTERN int forw_hor_f_code, forw_vert_f_code;
EXTERN int back_hor_f_code, back_vert_f_code; /* motion vector ranges */
EXTERN int dc_prec; /* DC coefficient precision for intra coded blocks */
EXTERN int pict_struct; /* picture structure (frame, top / bottom field) */
EXTERN int topfirst; /* display top field first */
/* use only frame prediction and frame DCT (I,P,B,current) */
EXTERN int frame_pred_dct_tab[3], frame_pred_dct;
EXTERN int conceal_tab[3]; /* use concealment motion vectors (I,P,B) */
EXTERN int qscale_tab[3], q_scale_type; /* linear/non-linear quantizaton table */
EXTERN int intravlc_tab[3], intravlc; /* intra vlc format (I,P,B,current) */
EXTERN int altscan_tab[3], altscan; /* alternate scan (I,P,B,current) */
EXTERN int repeatfirst; /* repeat first field after second field */
EXTERN int prog_frame; /* progressive frame */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品www牛牛影视| 美女脱光内衣内裤视频久久影院| 国产精品视频一二三区| 久久成人av少妇免费| 中文字幕av一区二区三区| 午夜精品福利一区二区蜜股av| 99久久99久久精品免费看蜜桃| 国产亚洲欧美激情| 国产在线国偷精品免费看| 亚洲精品一区二区三区精华液| 青青草国产精品97视觉盛宴| 3atv一区二区三区| 日韩精品欧美精品| 91精品国产综合久久久久久漫画 | 狠狠色丁香久久婷婷综| 欧美一卡二卡在线| 五月天国产精品| 欧美日韩国产乱码电影| 日本视频免费一区| 欧美一区二区三区四区高清| 奇米影视7777精品一区二区| 欧美一级片在线看| 国产综合色在线视频区| 欧美mv和日韩mv的网站| 欧美成人vps| 懂色av中文字幕一区二区三区| 成人av在线资源网站| 国产亚洲精品aa| 国产成人鲁色资源国产91色综| 日韩欧美一区二区视频| 久久九九影视网| 福利电影一区二区三区| 日韩精品一区二区三区视频在线观看| 麻豆精品一二三| 国产亚洲美州欧州综合国| yourporn久久国产精品| 国产精品福利av| 在线观看网站黄不卡| 爽爽淫人综合网网站| 精品国产乱码久久久久久免费| 国产高清成人在线| 亚洲精品成人悠悠色影视| 欧美三级电影一区| 久久成人免费电影| 国产精品久久综合| 欧美日韩在线一区二区| 美女视频一区二区三区| 中文字幕不卡一区| 一本一本大道香蕉久在线精品 | 亚洲欧洲在线观看av| 在线免费观看成人短视频| 日韩av一二三| 一区二区高清视频在线观看| 久久精品亚洲麻豆av一区二区 | 国产三级久久久| 91丨九色丨蝌蚪富婆spa| 午夜精品在线看| 精品福利一区二区三区免费视频| 成人av网址在线| 午夜精品久久久久| 国产亚洲精品免费| 欧美色欧美亚洲另类二区| 久久草av在线| 亚洲精选视频免费看| 日韩一区二区视频| 91在线porny国产在线看| 日韩有码一区二区三区| 国产农村妇女精品| 欧美日韩mp4| 成人免费毛片片v| 石原莉奈在线亚洲二区| 国产精品入口麻豆九色| 欧美日本在线播放| 北条麻妃一区二区三区| 日本成人中文字幕| 成人免费在线播放视频| 日韩欧美美女一区二区三区| 亚洲欧美另类综合偷拍| 日本高清成人免费播放| 亚洲国产精品欧美一二99| 精品不卡在线视频| 欧美三级电影在线观看| 国产日产欧美一区二区视频| 亚洲国产成人av网| 欧美性xxxxx极品少妇| 国产一区二区三区精品欧美日韩一区二区三区 | 久久久久久久久久久99999| 91精品1区2区| 国产91高潮流白浆在线麻豆| 三级影片在线观看欧美日韩一区二区 | 久久久久久一二三区| 欧美精品乱人伦久久久久久| av亚洲精华国产精华| 美女国产一区二区三区| 亚洲午夜电影网| 国产精品麻豆一区二区| 精品国产91九色蝌蚪| 欧美日韩精品高清| 日本道色综合久久| 成人免费看黄yyy456| 国产资源精品在线观看| 日韩成人伦理电影在线观看| 一区二区三区四区亚洲| **欧美大码日韩| 欧美国产综合色视频| 日韩一区二区三区视频在线 | va亚洲va日韩不卡在线观看| 成人高清伦理免费影院在线观看| 五月天激情小说综合| 尤物在线观看一区| 国产精品久久久久久久久免费桃花| 日韩欧美卡一卡二| 欧美一区二区视频观看视频| 欧美视频在线不卡| 91麻豆国产福利精品| 成人丝袜高跟foot| 国产精品99久久久| 国产麻豆91精品| 黄网站免费久久| 久久国产精品99精品国产| 日韩电影在线观看一区| 午夜av电影一区| 午夜精品久久久久影视| 亚洲国产视频直播| 一区二区三区视频在线观看| 亚洲精品成人悠悠色影视| 日本va欧美va欧美va精品| 日本aⅴ免费视频一区二区三区| 中文字幕第一页久久| 国产日韩欧美高清在线| 国产亚洲一区字幕| 久久久精品免费观看| 久久亚洲精品国产精品紫薇| 日韩精品一区在线| 日韩精品一区在线观看| 26uuu亚洲| 久久看人人爽人人| 国产日韩欧美电影| 国产精品伦一区二区三级视频| 亚洲国产精品成人久久综合一区| 国产丝袜欧美中文另类| 国产精品私人自拍| 中文字幕一区二区三区乱码在线 | 亚洲一区二区视频在线观看| 欧美狂野另类xxxxoooo| 欧美狂野另类xxxxoooo| 91精品久久久久久久91蜜桃 | 555www色欧美视频| 日韩欧美区一区二| 久久久精品影视| 国产精品伦理一区二区| 亚洲精品免费视频| 天天av天天翘天天综合网| 日韩av一区二区三区| 激情久久五月天| 懂色一区二区三区免费观看| 91丨porny丨户外露出| 欧美视频一二三区| 欧美变态tickling挠脚心| 久久久亚洲午夜电影| 国产精品乱码一区二区三区软件 | 国产真实精品久久二三区| 久久66热偷产精品| 国产成人免费xxxxxxxx| 色综合久久久久网| 欧美人成免费网站| 精品不卡在线视频| 中文字幕在线不卡视频| 亚洲一区二区高清| 久久99精品国产麻豆婷婷| 成人h动漫精品一区二区| 欧美午夜在线观看| 日韩免费观看高清完整版| 成人免费在线观看入口| 国产拍欧美日韩视频二区| 97久久精品人人做人人爽| 亚洲a一区二区| 欧美一区二区三区免费| 久久蜜桃av一区二区天堂| 国产精品成人免费精品自在线观看| 日韩精品一区二区在线观看| 中文字幕不卡一区| 性做久久久久久免费观看欧美| 国内精品伊人久久久久av影院 | 99在线热播精品免费| 欧美群妇大交群中文字幕| 久久精品亚洲精品国产欧美| 亚洲精选免费视频| 麻豆一区二区三区| 99久久伊人精品| 日韩欧美久久久| 亚洲精品中文在线| 美女免费视频一区二区| 91麻豆免费看| 欧美电视剧在线看免费| 亚洲女人****多毛耸耸8| 国内精品久久久久影院薰衣草 | 久久久www成人免费毛片麻豆| 亚洲人成在线播放网站岛国| 另类小说欧美激情|