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

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

?? common.h

?? 絕對好的源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************************************
 * common.h: h264 encoder
 *****************************************************************************
 * Copyright (C) 2003 Laurent Aimar
 * $Id: common.h,v 1.1 2004/06/03 19:27:06 fenrir Exp $
 *
 * Authors: Laurent Aimar <fenrir@via.ecp.fr>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
 *****************************************************************************/

#ifndef _COMMON_H
#define _COMMON_H 1

#ifdef HAVE_STDINT_H
#include <stdint.h>
#else
#include <inttypes.h>
#endif
#include <stdarg.h>
#include <stdlib.h>

#ifdef _MSC_VER
#define snprintf _snprintf
#define X264_VERSION "" // no configure script for msvc
#endif

/* threads */
#ifdef __WIN32__
#include <windows.h>
#define pthread_t               HANDLE
#define pthread_create(t,u,f,d) *(t)=CreateThread(NULL,0,f,d,0,NULL)
#define pthread_join(t,s)       { WaitForSingleObject(t,INFINITE); \
                                  CloseHandle(t); } 
#define HAVE_PTHREAD 1

#elif defined(SYS_BEOS)
#include <kernel/OS.h>
#define pthread_t               thread_id
#define pthread_create(t,u,f,d) { *(t)=spawn_thread(f,"",10,d); \
                                  resume_thread(*(t)); }
#define pthread_join(t,s)       { long tmp; \
                                  wait_for_thread(t,(s)?(long*)(s):&tmp); }
#define HAVE_PTHREAD 1

#elif defined(HAVE_PTHREAD)
#include <pthread.h>
#endif

/****************************************************************************
 * Macros
 ****************************************************************************/
#define X264_MIN(a,b) ( (a)<(b) ? (a) : (b) )
#define X264_MAX(a,b) ( (a)>(b) ? (a) : (b) )
#define X264_MIN3(a,b,c) X264_MIN((a),X264_MIN((b),(c)))
#define X264_MAX3(a,b,c) X264_MAX((a),X264_MAX((b),(c)))
#define X264_MIN4(a,b,c,d) X264_MIN((a),X264_MIN3((b),(c),(d)))
#define X264_MAX4(a,b,c,d) X264_MAX((a),X264_MAX3((b),(c),(d)))
#define XCHG(type,a,b) { type t = a; a = b; b = t; }
#define FIX8(f) ((int)(f*(1<<8)+.5))

#if defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0)
#define UNUSED __attribute__((unused))
#else
#define UNUSED
#endif

#define CHECKED_MALLOC( var, size )\
{\
    var = x264_malloc( size );\
    if( !var )\
    {\
        x264_log( h, X264_LOG_ERROR, "malloc failed\n" );\
        goto fail;\
    }\
}

#define X264_BFRAME_MAX 16
#define X264_SLICE_MAX 4
#define X264_NAL_MAX (4 + X264_SLICE_MAX)

/****************************************************************************
 * Includes
 ****************************************************************************/
#include "x264.h"
#include "bs.h"
#include "set.h"
#include "predict.h"
#include "pixel.h"
#include "mc.h"
#include "frame.h"
#include "dct.h"
#include "cabac.h"
#include "csp.h"
#include "quant.h"

/****************************************************************************
 * Generals functions
 ****************************************************************************/
/* x264_malloc : will do or emulate a memalign
 * XXX you HAVE TO use x264_free for buffer allocated
 * with x264_malloc
 */
void *x264_malloc( int );
void *x264_realloc( void *p, int i_size );
void  x264_free( void * );

/* x264_slurp_file: malloc space for the whole file and read it */
char *x264_slurp_file( const char *filename );

/* mdate: return the current date in microsecond */
int64_t x264_mdate( void );

/* x264_param2string: return a (malloced) string containing most of
 * the encoding options */
char *x264_param2string( x264_param_t *p, int b_res );

/* log */
void x264_log( x264_t *h, int i_level, const char *psz_fmt, ... );

void x264_reduce_fraction( int *n, int *d );

static inline int x264_clip3( int v, int i_min, int i_max )
{
    return ( (v < i_min) ? i_min : (v > i_max) ? i_max : v );
}

static inline float x264_clip3f( float v, float f_min, float f_max )
{
    return ( (v < f_min) ? f_min : (v > f_max) ? f_max : v );
}

static inline int x264_median( int a, int b, int c )
{
    int min = a, max =a;
    if( b < min )
        min = b;
    else
        max = b;    /* no need to do 'b > max' (more consuming than always doing affectation) */

    if( c < min )
        min = c;
    else if( c > max )
        max = c;

    return a + b + c - min - max;
}


/****************************************************************************
 *
 ****************************************************************************/
enum slice_type_e
{
    SLICE_TYPE_P  = 0,
    SLICE_TYPE_B  = 1,
    SLICE_TYPE_I  = 2,
    SLICE_TYPE_SP = 3,
    SLICE_TYPE_SI = 4
};

static const char slice_type_to_char[] = { 'P', 'B', 'I', 'S', 'S' };

typedef struct
{
    x264_sps_t *sps;
    x264_pps_t *pps;

    int i_type;
    int i_first_mb;
    int i_last_mb;

    int i_pps_id;

    int i_frame_num;

    int b_field_pic;
    int b_bottom_field;

    int i_idr_pic_id;   /* -1 if nal_type != 5 */

    int i_poc_lsb;
    int i_delta_poc_bottom;

    int i_delta_poc[2];
    int i_redundant_pic_cnt;

    int b_direct_spatial_mv_pred;

    int b_num_ref_idx_override;
    int i_num_ref_idx_l0_active;
    int i_num_ref_idx_l1_active;

    int b_ref_pic_list_reordering_l0;
    int b_ref_pic_list_reordering_l1;
    struct {
        int idc;
        int arg;
    } ref_pic_list_order[2][16];

    int i_cabac_init_idc;

    int i_qp;
    int i_qp_delta;
    int b_sp_for_swidth;
    int i_qs_delta;

    /* deblocking filter */
    int i_disable_deblocking_filter_idc;
    int i_alpha_c0_offset;
    int i_beta_offset;

} x264_slice_header_t;

/* From ffmpeg
 */
#define X264_SCAN8_SIZE (6*8)
#define X264_SCAN8_0 (4+1*8)

static const int x264_scan8[16+2*4] =
{
    /* Luma */
    4+1*8, 5+1*8, 4+2*8, 5+2*8,
    6+1*8, 7+1*8, 6+2*8, 7+2*8,
    4+3*8, 5+3*8, 4+4*8, 5+4*8,
    6+3*8, 7+3*8, 6+4*8, 7+4*8,

    /* Cb */
    1+1*8, 2+1*8,
    1+2*8, 2+2*8,

    /* Cr */
    1+4*8, 2+4*8,
    1+5*8, 2+5*8,
};
/*
   0 1 2 3 4 5 6 7
 0
 1   B B   L L L L
 2   B B   L L L L
 3         L L L L
 4   R R   L L L L
 5   R R
*/

typedef struct x264_ratecontrol_t   x264_ratecontrol_t;
typedef struct x264_vlc_table_t     x264_vlc_table_t;

struct x264_t
{
    /* encoder parameters */
    x264_param_t    param;

    x264_t *thread[X264_SLICE_MAX];

    /* bitstream output */
    struct
    {
        int         i_nal;
        x264_nal_t  nal[X264_NAL_MAX];
        int         i_bitstream;    /* size of p_bitstream */
        uint8_t     *p_bitstream;   /* will hold data for all nal */
        bs_t        bs;
    } out;

    /* frame number/poc */
    int             i_frame;

    int             i_frame_offset; /* decoding only */
    int             i_frame_num;    /* decoding only */
    int             i_poc_msb;      /* decoding only */
    int             i_poc_lsb;      /* decoding only */
    int             i_poc;          /* decoding only */

    int             i_thread_num;   /* threads only */
    int             i_nal_type;     /* threads only */
    int             i_nal_ref_idc;  /* threads only */

    /* We use only one SPS and one PPS */
    x264_sps_t      sps_array[1];
    x264_sps_t      *sps;
    x264_pps_t      pps_array[1];
    x264_pps_t      *pps;
    int             i_idr_pic_id;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国十次了思思久久精品导航| 亚洲精品一二三四区| 欧美日韩高清一区二区三区| 99国产精品久久久久| aaa亚洲精品一二三区| 91在线免费看| 91影院在线观看| 色哦色哦哦色天天综合| 色狠狠av一区二区三区| 欧美日韩免费在线视频| 欧美一级淫片007| 久久久久9999亚洲精品| 中文字幕中文字幕一区| 樱花影视一区二区| 日韩av一区二区三区四区| 免费av网站大全久久| 国产精品综合一区二区三区| 岛国一区二区在线观看| 欧美在线色视频| 日韩欧美一区二区久久婷婷| 久久免费电影网| 亚洲三级久久久| 免费在线一区观看| 丁香五精品蜜臀久久久久99网站| 91在线精品一区二区| 欧美剧情片在线观看| 久久女同性恋中文字幕| 一区二区三区在线观看欧美| 免费不卡在线观看| av在线不卡网| 精品福利一二区| 一区二区三区高清不卡| 精品影视av免费| 日本高清无吗v一区| 精品粉嫩超白一线天av| 亚洲已满18点击进入久久| 国产一区二区福利视频| 欧美专区亚洲专区| 中文字幕二三区不卡| 视频在线在亚洲| 不卡一区二区三区四区| 欧美一区二区视频网站| 亚洲欧洲精品一区二区精品久久久 | 日韩一区二区三区高清免费看看| 精品国产欧美一区二区| 亚洲国产日日夜夜| 国产a区久久久| 日韩欧美一区电影| 偷拍日韩校园综合在线| 99精品久久久久久| 国产欧美一区二区精品久导航| 亚洲综合成人在线| 99综合电影在线视频| 久久精品欧美日韩精品| 日本午夜一区二区| 欧美日韩视频第一区| 亚洲美女在线国产| 成人福利视频在线看| 精品黑人一区二区三区久久| 午夜激情一区二区| 欧美日韩国产影片| 亚洲一区二区三区爽爽爽爽爽 | 中文av字幕一区| 国产精品一卡二卡在线观看| 日韩精品一区在线| 久久国产成人午夜av影院| 欧美人与性动xxxx| 五月天久久比比资源色| 欧美日韩精品一区二区三区四区| 亚洲欧美偷拍另类a∨色屁股| 成人激情小说乱人伦| 日本一区二区电影| 成人激情电影免费在线观看| 欧美激情中文不卡| 成人美女在线视频| 国产精品久久久久久久久久久免费看| 国产精品综合一区二区| 久久久青草青青国产亚洲免观| 久久丁香综合五月国产三级网站| 精品美女一区二区| 国产一区二区视频在线播放| 久久久高清一区二区三区| 国产福利精品一区二区| 国产精品狼人久久影院观看方式| 99久久久国产精品| 一区二区成人在线视频| 欧美美女网站色| 蜜桃av一区二区在线观看| 精品精品国产高清a毛片牛牛| 精品一区二区在线播放| 中文字幕精品一区二区精品绿巨人| 国产大片一区二区| 一区二区三区四区不卡在线 | 日韩精品一二三| 久久综合九色综合97_久久久| 国产精品一区一区三区| 亚洲码国产岛国毛片在线| 欧美日产国产精品| 国产电影精品久久禁18| 亚洲欧美日韩在线播放| 337p亚洲精品色噜噜| 国产曰批免费观看久久久| 综合久久久久久| 7777精品久久久大香线蕉| 久久精品久久99精品久久| 中文字幕精品一区二区三区精品| 欧美在线制服丝袜| 国产精品自拍av| 亚洲国产日韩精品| 日本一区二区免费在线观看视频 | 国产精品美女视频| 欧美三级乱人伦电影| 国产美女主播视频一区| 亚洲一区二区三区精品在线| 久久久www成人免费毛片麻豆| 在线观看视频一区二区欧美日韩| 狠狠色狠狠色综合系列| 一区二区三区毛片| 国产色一区二区| 欧美高清www午色夜在线视频| 成人一区在线观看| 激情伊人五月天久久综合| 夜夜操天天操亚洲| 国产精品免费网站在线观看| 日韩欧美资源站| 欧美亚一区二区| 色综合久久久久综合体桃花网| 精品亚洲porn| 日日夜夜一区二区| 亚洲影院久久精品| 亚洲欧美日韩国产综合| 欧美极品少妇xxxxⅹ高跟鞋| 欧美不卡一二三| 欧美美女一区二区三区| 欧美午夜精品免费| 91久久国产最好的精华液| 成人av在线影院| 成人动漫一区二区三区| 国产一区二区不卡| 九九九精品视频| 精品一区二区三区在线视频| 午夜精品成人在线| 日日摸夜夜添夜夜添国产精品| 亚洲伦理在线精品| 亚洲日本成人在线观看| 最新国产精品久久精品| 欧美高清在线一区二区| 国产精品国产三级国产aⅴ原创| 久久九九久久九九| 久久综合九色综合97婷婷女人 | 国产精品久久久久桃色tv| 国产视频一区二区在线观看| 国产嫩草影院久久久久| 亚洲国产精品ⅴa在线观看| 欧美极品aⅴ影院| 欧美国产精品一区二区三区| 日本一区二区成人| 亚洲美女一区二区三区| 一区二区三区日本| 午夜久久久影院| 久久国产夜色精品鲁鲁99| 国产伦精品一区二区三区视频青涩| 久久99精品久久久久| 国产91综合一区在线观看| av成人动漫在线观看| 欧美亚洲日本一区| 日韩无一区二区| 久久精品一区二区三区不卡| 国产精品免费丝袜| 亚洲高清中文字幕| 久久精品国产精品青草| 成人午夜电影小说| 在线观看视频一区二区| 精品国产伦一区二区三区免费| 欧美激情艳妇裸体舞| 亚洲精选视频免费看| 日本不卡高清视频| 成人激情免费网站| 欧美日本一道本在线视频| 久久人人爽爽爽人久久久| 亚洲欧美另类小说视频| 五月天亚洲精品| 丰满少妇在线播放bd日韩电影| 色www精品视频在线观看| 欧美videossexotv100| 亚洲欧洲日本在线| 免费在线观看精品| 一本久道中文字幕精品亚洲嫩| 91精品国产麻豆国产自产在线 | 激情五月婷婷综合| 91欧美激情一区二区三区成人| 欧美一级一级性生活免费录像| 国产情人综合久久777777| 亚洲成av人在线观看| 韩国av一区二区三区| 欧美精品电影在线播放| 综合久久一区二区三区| 国产原创一区二区三区| 884aa四虎影成人精品一区| 亚洲视频 欧洲视频|