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

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

?? set.c

?? 圖象壓縮程序
?? C
字號:
/***************************************************************************** * set: h264 encoder (SPS and SPS init and write) ***************************************************************************** * Copyright (C) 2003 Laurent Aimar * $Id: set.c,v 1.3 2004/03/28 09:21:44 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. *****************************************************************************/#include <stdlib.h>#include <stdio.h>#include <string.h>#include <stdint.h>#include "../x264.h"#include "../core/bs.h"#include "../core/set.h"void x264_sps_init( x264_sps_t *sps, int i_id, x264_param_t *param ){    sps->i_id               = i_id;    sps->i_profile_idc      = PROFILE_EXTENTED;    sps->i_level_idc        = 21;               /* FIXME ? */    sps->b_constraint_set0  = 0;    sps->b_constraint_set1  = 0;    sps->b_constraint_set2  = 0;    sps->i_log2_max_frame_num = 8;    sps->i_poc_type = 0;    if( sps->i_poc_type == 0 )    {        sps->i_log2_max_poc_lsb = 8;    }    else if( sps->i_poc_type == 1 )    {        int i;        /* FIXME */        sps->b_delta_pic_order_always_zero = 1;        sps->i_offset_for_non_ref_pic = 0;        sps->i_offset_for_top_to_bottom_field = 0;        sps->i_num_ref_frames_in_poc_cycle = 0;        for( i = 0; i < sps->i_num_ref_frames_in_poc_cycle; i++ )        {            sps->i_offset_for_ref_frame[i] = 0;        }    }    sps->i_num_ref_frames = param->i_frame_reference + 1; /* +1 for 2 ref in B */    sps->b_gaps_in_frame_num_value_allowed = 0;    sps->i_mb_width = ( param->i_width + 15 ) / 16;    sps->i_mb_height= ( param->i_height + 15 )/ 16;    sps->b_frame_mbs_only = 1;    sps->b_mb_adaptive_frame_field = 0;    sps->b_direct8x8_inference = 0;    if( sps->b_frame_mbs_only == 0 )    {        sps->b_direct8x8_inference = 1;    }    if( param->i_width % 16 != 0 || param->i_height % 16 != 0 )    {        sps->b_crop = 1;        sps->crop.i_left    = 0;        sps->crop.i_right   = ( 16 - param->i_width % 16)/2;        sps->crop.i_top     = 0;        sps->crop.i_bottom  = ( 16 - param->i_height % 16)/2;    }    else    {        sps->b_crop = 0;        sps->crop.i_left    = 0;        sps->crop.i_right   = 0;        sps->crop.i_top     = 0;        sps->crop.i_bottom  = 0;    }    if( param->vui.i_sar_width > 0 && param->vui.i_sar_height > 0 )    {        int w = param->vui.i_sar_width;        int h = param->vui.i_sar_height;        int a = w, b = h;        while( b != 0 )        {            int t = a;            a = b;            b = t % b;        }        w /= a;        h /= a;        while( w > 65535 || h > 65535 )        {            w /= 2;            h /= 2;        }        if( w == 0 || h == 0 )        {            fprintf( stderr, "x264: cannot create valid sample aspect ratio\n" );            sps->b_vui = 0;        }        else if( w == h )        {            fprintf( stderr, "x264: no need for a SAR\n" );            sps->b_vui = 0;        }        else        {            fprintf( stderr, "x264: using SAR=%d/%d\n", w, h );            sps->b_vui = 1;            sps->vui.i_sar_width = w;            sps->vui.i_sar_height= h;        }    }    else    {        sps->b_vui = 0;    }}void x264_sps_write( bs_t *s, x264_sps_t *sps ){    bs_write( s, 8, sps->i_profile_idc );    bs_write( s, 1, sps->b_constraint_set0 );    bs_write( s, 1, sps->b_constraint_set1 );    bs_write( s, 1, sps->b_constraint_set2 );    bs_write( s, 5, 0 );    /* reserved */    bs_write( s, 8, sps->i_level_idc );    bs_write_ue( s, sps->i_id );    bs_write_ue( s, sps->i_log2_max_frame_num - 4 );    bs_write_ue( s, sps->i_poc_type );    if( sps->i_poc_type == 0 )    {        bs_write_ue( s, sps->i_log2_max_poc_lsb - 4 );    }    else if( sps->i_poc_type == 1 )    {        int i;        bs_write( s, 1, sps->b_delta_pic_order_always_zero );        bs_write_se( s, sps->i_offset_for_non_ref_pic );        bs_write_se( s, sps->i_offset_for_top_to_bottom_field );        bs_write_ue( s, sps->i_num_ref_frames_in_poc_cycle );        for( i = 0; i < sps->i_num_ref_frames_in_poc_cycle; i++ )        {            bs_write_se( s, sps->i_offset_for_ref_frame[i] );        }    }    bs_write_ue( s, sps->i_num_ref_frames );    bs_write( s, 1, sps->b_gaps_in_frame_num_value_allowed );    bs_write_ue( s, sps->i_mb_width - 1 );    bs_write_ue( s, sps->i_mb_height - 1);    bs_write( s, 1, sps->b_frame_mbs_only );    if( !sps->b_frame_mbs_only )    {        bs_write( s, 1, sps->b_mb_adaptive_frame_field );    }    bs_write( s, 1, sps->b_direct8x8_inference );    bs_write( s, 1, sps->b_crop );    if( sps->b_crop )    {        bs_write_ue( s, sps->crop.i_left );        bs_write_ue( s, sps->crop.i_right );        bs_write_ue( s, sps->crop.i_top );        bs_write_ue( s, sps->crop.i_bottom );    }    bs_write( s, 1, sps->b_vui );    if( sps->b_vui )    {        int i;        static const struct { int w, h; int sar; } sar[] =        {            { 1,   1, 1 }, { 12, 11, 2 }, { 10, 11, 3 }, { 16, 11, 4 },            { 40, 33, 5 }, { 24, 11, 6 }, { 20, 11, 7 }, { 32, 11, 8 },            { 80, 33, 9 }, { 18, 11, 10}, { 15, 11, 11}, { 64, 33, 12},            { 160,99, 13}, { 0, 0, -1 }        };        bs_write1( s, 1 );      /* aspect_ratio_info_present_flag */        for( i = 0; sar[i].sar != -1; i++ )        {            if( sar[i].w == sps->vui.i_sar_width && sar[i].h == sps->vui.i_sar_height )                break;        }        if( sar[i].sar != -1 )        {            bs_write( s, 8, sar[i].sar );        }        else        {            bs_write( s, 8, 255);   /* aspect_ration_idc (extented) */            bs_write( s, 16, sps->vui.i_sar_width );            bs_write( s, 16, sps->vui.i_sar_height );        }        bs_write1( s, 0 );      /* overscan_info_present_flag */        bs_write1( s, 0 );      /* video_signal_type_present_flag */#if 0        bs_write( s, 3, 5 );    /* unspecified video format */        bs_write1( s, 1 );      /* video full range flag */        bs_write1( s, 0 );      /* colour description present flag */#endif        bs_write1( s, 0 );      /* chroma_loc_info_present_flag */        bs_write1( s, 0 );      /* timing_info_present_flag */        bs_write1( s, 0 );      /* nal_hrd_parameters_present_flag */        bs_write1( s, 0 );      /* vcl_hrd_parameters_present_flag */        bs_write1( s, 0 );      /* pic_struct_present_flag */        bs_write1( s, 0 );      /* bitstream_restriction_flag */    }    bs_rbsp_trailing( s );}void x264_pps_init( x264_pps_t *pps, int i_id, x264_param_t *param, x264_sps_t *sps ){    pps->i_id = i_id;    pps->i_sps_id = sps->i_id;    pps->b_cabac = param->b_cabac;    pps->b_pic_order = 0;    pps->i_num_slice_groups = 1;    if( pps->i_num_slice_groups > 1 )    {        int i;        pps->i_slice_group_map_type = 0;        if( pps->i_slice_group_map_type == 0 )        {            for( i = 0; i < pps->i_num_slice_groups; i++ )            {                pps->i_run_length[i] = 1;            }        }        else if( pps->i_slice_group_map_type == 2 )        {            for( i = 0; i < pps->i_num_slice_groups; i++ )            {                pps->i_top_left[i] = 0;                pps->i_bottom_right[i] = 0;            }        }        else if( pps->i_slice_group_map_type >= 3 &&                 pps->i_slice_group_map_type <= 5 )        {            pps->b_slice_group_change_direction = 0;            pps->i_slice_group_change_rate = 0;        }        else if( pps->i_slice_group_map_type == 6 )        {            pps->i_pic_size_in_map_units = 1;            for( i = 0; i < pps->i_pic_size_in_map_units; i++ )            {                pps->i_slice_group_id[i] = 0;            }        }    }    pps->i_num_ref_idx_l0_active = 1;    pps->i_num_ref_idx_l1_active = 1;    pps->b_weighted_pred = 0;    pps->b_weighted_bipred = 0;    pps->i_pic_init_qp = 26;    pps->i_pic_init_qs = 26;    pps->i_chroma_qp_index_offset = 0;#if 0    if( !param->b_deblocking_filter )    {        pps->b_deblocking_filter_control = 1;    }    else    {        pps->b_deblocking_filter_control = 1;    }#endif    pps->b_deblocking_filter_control = 1;    pps->b_constrained_intra_pred = 0;    pps->b_redundant_pic_cnt = 0;}void x264_pps_write( bs_t *s, x264_pps_t *pps ){    bs_write_ue( s, pps->i_id );    bs_write_ue( s, pps->i_sps_id );    bs_write( s, 1, pps->b_cabac );    bs_write( s, 1, pps->b_pic_order );    bs_write_ue( s, pps->i_num_slice_groups - 1 );    if( pps->i_num_slice_groups > 1 )    {        int i;        bs_write_ue( s, pps->i_slice_group_map_type );        if( pps->i_slice_group_map_type == 0 )        {            for( i = 0; i < pps->i_num_slice_groups; i++ )            {                bs_write_ue( s, pps->i_run_length[i] - 1 );            }        }        else if( pps->i_slice_group_map_type == 2 )        {            for( i = 0; i < pps->i_num_slice_groups; i++ )            {                bs_write_ue( s, pps->i_top_left[i] );                bs_write_ue( s, pps->i_bottom_right[i] );            }        }        else if( pps->i_slice_group_map_type >= 3 &&                 pps->i_slice_group_map_type <= 5 )        {            bs_write( s, 1, pps->b_slice_group_change_direction );            bs_write_ue( s, pps->b_slice_group_change_direction - 1 );        }        else if( pps->i_slice_group_map_type == 6 )        {            bs_write_ue( s, pps->i_pic_size_in_map_units - 1 );            for( i = 0; i < pps->i_pic_size_in_map_units; i++ )            {                /* FIXME */                /* bs_write( s, ceil( log2( pps->i_pic_size_in_map_units +1 ) ),                 *              pps->i_slice_group_id[i] );                 */            }        }    }    bs_write_ue( s, pps->i_num_ref_idx_l0_active - 1 );    bs_write_ue( s, pps->i_num_ref_idx_l1_active - 1 );    bs_write( s, 1, pps->b_weighted_pred );    bs_write( s, 2, pps->b_weighted_bipred );    bs_write_se( s, pps->i_pic_init_qp - 26 );    bs_write_se( s, pps->i_pic_init_qs - 26 );    bs_write_se( s, pps->i_chroma_qp_index_offset );    bs_write( s, 1, pps->b_deblocking_filter_control );    bs_write( s, 1, pps->b_constrained_intra_pred );    bs_write( s, 1, pps->b_redundant_pic_cnt );    bs_rbsp_trailing( s );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频国内一区二区| 日韩福利视频导航| 亚洲在线一区二区三区| 日产欧产美韩系列久久99| 美腿丝袜一区二区三区| 岛国av在线一区| 91国偷自产一区二区三区观看| 欧美一区二区三区四区久久| 国产午夜精品一区二区三区嫩草| 亚洲另类春色校园小说| 免费在线观看一区| caoporn国产精品| 制服丝袜成人动漫| 欧美激情一区三区| 日韩成人av影视| 国产999精品久久久久久绿帽| 欧美午夜在线观看| 国产视频一区在线播放| 午夜一区二区三区视频| 国产不卡免费视频| 欧美一区二区精美| 亚洲欧美在线视频观看| 激情五月激情综合网| 在线观看亚洲专区| 久久免费美女视频| 亚洲动漫第一页| 成人久久18免费网站麻豆| 欧美男男青年gay1069videost| 国产欧美一区二区精品忘忧草 | 国产成人精品影院| 欧美久久久一区| 亚洲国产成人一区二区三区| 欧美aaa在线| 色婷婷av一区二区| 国产喂奶挤奶一区二区三区| 日韩专区一卡二卡| 99国产精品国产精品久久| 亚洲精品一区二区在线观看| 亚洲成人av免费| 91亚洲男人天堂| 国产性做久久久久久| 麻豆专区一区二区三区四区五区| 在线免费av一区| 国产精品久久网站| 国产激情91久久精品导航| 日韩精品在线网站| 三级久久三级久久| 欧美日韩一区不卡| 亚洲乱码一区二区三区在线观看| 国产乱码精品一区二区三区忘忧草 | 精品国产一二三区| 天天综合色天天综合色h| 91在线国产福利| 日本一区免费视频| 国产激情91久久精品导航| 日韩欧美国产wwwww| 午夜欧美电影在线观看| 欧洲精品视频在线观看| 亚洲人成影院在线观看| 成人免费高清在线观看| 国产欧美日韩三区| 国产精品一区二区久久不卡| 精品国产伦理网| 久久精品久久精品| 日韩三级免费观看| 老司机午夜精品99久久| 精品少妇一区二区三区在线视频| 男男视频亚洲欧美| 欧美成人免费网站| 久久成人18免费观看| 精品国产乱码久久久久久1区2区| 强制捆绑调教一区二区| 欧美一区二区三区成人| 日韩av不卡一区二区| 欧美一区二区视频免费观看| 蜜桃久久久久久| 色域天天综合网| 免费观看成人鲁鲁鲁鲁鲁视频| 在线欧美日韩精品| 亚洲综合清纯丝袜自拍| 91国产免费观看| 亚洲线精品一区二区三区| 在线观看视频一区二区欧美日韩| 亚洲精品成人在线| 欧美日韩在线一区二区| 日韩av在线发布| www国产精品av| 国产91色综合久久免费分享| 日韩一区中文字幕| 欧美四级电影网| 日日骚欧美日韩| 精品久久久久一区二区国产| 国产精品911| 国产精品久久久久久久久免费樱桃| 99热精品国产| 性久久久久久久| 精品精品国产高清a毛片牛牛| 国产一区二区在线视频| 成人免费一区二区三区在线观看| 在线国产电影不卡| 免费看欧美女人艹b| 久久久噜噜噜久久人人看 | 久久久一区二区| 成人av在线播放网址| 一区二区三区.www| 337p亚洲精品色噜噜狠狠| 中文字幕在线一区免费| 99久久久国产精品免费蜜臀| 亚洲国产欧美在线| 欧美精品一区二区三区一线天视频 | 国内成人自拍视频| 国产欧美久久久精品影院| 91亚洲国产成人精品一区二区三| 日日嗨av一区二区三区四区| 国产日韩欧美a| 欧美色精品在线视频| 国产一区二区成人久久免费影院| 国产精品福利一区| 67194成人在线观看| 成人中文字幕电影| 三级一区在线视频先锋| 国产精品视频免费| 欧美午夜寂寞影院| 国产成人精品亚洲午夜麻豆| 亚洲一二三区在线观看| 国产亚洲欧洲997久久综合 | 日日摸夜夜添夜夜添亚洲女人| 精品一区二区三区视频| 中文字幕亚洲不卡| 久久国产人妖系列| 国产调教视频一区| 欧美嫩在线观看| 国产.欧美.日韩| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕人成不卡一区| 欧美一区二区在线视频| 91蜜桃免费观看视频| 国模套图日韩精品一区二区| 亚洲一区在线视频| 日本一二三不卡| 精品精品国产高清一毛片一天堂| 91黄色激情网站| 成人精品小蝌蚪| 久久精品国产一区二区三区免费看 | 美女性感视频久久| 亚洲精品视频观看| 国产午夜亚洲精品不卡| 日韩一区二区三| 在线精品视频免费播放| eeuss鲁片一区二区三区| 激情成人午夜视频| 丝袜美腿成人在线| 亚洲精品高清在线观看| 国产精品区一区二区三| 久久久精品黄色| 日韩欧美一区二区视频| 欧美精品成人一区二区三区四区| 一本色道久久综合精品竹菊| 成人黄色小视频| 国产尤物一区二区在线| 免费久久99精品国产| 亚洲成人免费视频| 一个色妞综合视频在线观看| 中文字幕一区二区三区在线播放 | 日韩激情视频网站| 亚洲与欧洲av电影| 亚洲欧美日本韩国| 中文字幕字幕中文在线中不卡视频| 久久色视频免费观看| 精品国产乱码久久久久久1区2区| 欧美一区三区四区| 欧美精品18+| 欧美精品色一区二区三区| 欧美亚洲日本一区| 欧美性生活一区| 91国产福利在线| 欧美伊人精品成人久久综合97| 色哟哟亚洲精品| 在线观看av一区| 欧美三日本三级三级在线播放| 在线欧美日韩精品| 欧美色图激情小说| 欧洲av一区二区嗯嗯嗯啊| 色999日韩国产欧美一区二区| 色八戒一区二区三区| 91电影在线观看| 欧美日韩亚洲高清一区二区| 欧美日韩三级视频| 337p亚洲精品色噜噜噜| 日韩一区二区免费视频| 日韩手机在线导航| 久久蜜桃av一区精品变态类天堂| www成人在线观看| 中文字幕免费在线观看视频一区| 国产精品三级久久久久三级| 亚洲免费观看高清在线观看| 一区二区三区欧美在线观看| 香蕉乱码成人久久天堂爱免费| 青青草97国产精品免费观看无弹窗版 | 99亚偷拍自图区亚洲|