Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24397
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-28 18:06
文章分类
文章存档

2017年(2)

2016年(5)

2015年(6)

2014年(1)

我的朋友

分类: LINUX

2016-11-24 10:40:02

原文地址:x264_sps_t 结构 作者:n73man001


在x264_sps_t 结构中的 结构vui ,每个变量表示什么????大虾 指导下

typedef struct
{
    int i_id;                /*本序列参数集的id号*/

    int i_profile_idc;        /*指明所用的profile*/
    int i_level_idc;                /*指明所用的level*/

    int b_constraint_set0;        /*其值等于时,表示必须遵从附录A.2.1所指明的所有约束条件*/
    int b_constraint_set1;        /*其值等于时,表示必须遵从附录A.2.2所指明的所有约束条件*/
    int b_constraint_set2;        /*其值等于时,表示必须遵从附录A.2.3所指明的所有约束条件*/

    int i_log2_max_frame_num;        /*这个句法元素只要是为读取frame_num服务的*/

    int i_poc_type;                /*指明poc的编码方法,poc标识图像的播放顺序*/
    /* poc 0 */
    int i_log2_max_poc_lsb;        /*指明了变量i_poc_lsb的max值*/
    /* poc 1 */
    int b_delta_pic_order_always_zero;/*其值为时,i_delta_poc[0]和i_delta_poc[1]不在片头出现,并且*/
                                                                        /*它们的默认值为;当本句法元素为时,上述两个句法元素将在片头出现*/
    int i_offset_for_non_ref_pic;                /*用于计算非参考帧或场的poc*/
    int i_offset_for_top_to_bottom_field;/*用于计算帧的底场的poc*/
    int i_num_ref_frames_in_poc_cycle;/*被用来解码poc*/
    int i_offset_for_ref_frame[256];
/*当i_poc_type=时用于解码poc,本句法元素对循环i_num_ref_frames_in_poc_cycle中的每一个元素指定一个偏移*/
    int i_num_ref_frames;
/*指定参考帧队列可能达到的最大长度,解码器根据这个句法元素的值开辟存储区,这个存储区用于存放已解码的参考帧*/
    int b_gaps_in_frame_num_value_allowed;
/*这个句法元素等于时,表示允许句法元素frame_num可以不连续;当传输信道堵塞时,允许丢弃若干帧*/
    int i_mb_width;                /*图像的宽度,以宏块为单位*/
    int i_mb_height;                /*图像的高度,以宏块为单位*/
    int b_frame_mbs_only;/*本句法元素等于时,表示本序列中所有的图像编码模式都是帧,没有其他编码模式*/
                                                /*存在;当为时,表示本序列中图像的编码模式可能是帧,也可能是场或帧场自适应*/
    int b_mb_adaptive_frame_field;        /*指明本序列是否属于帧场自适应模式*/
    int b_direct8x8_inference;                        /*指明b片的直接和skip模式下运动矢量的预测方法*/

    int b_crop;/*指明解码器是否要将图像裁剪后输出,如果是的话,后面紧跟的四个句法元素分别指出左、右、上、下裁剪的宽度*/
    struct
    {
        int i_left;
        int i_right;
        int i_top;
        int i_bottom;
    } crop;

    int b_vui;                /*指明vui子结构是否出现在码流中*/
    struct
    {
        int b_aspect_ratio_info_present;
        int i_sar_width;
        int i_sar_height;

        int b_overscan_info_present;
        int b_overscan_info;

        int b_signal_type_present;
        int i_vidformat;
        int b_fullrange;
        int b_color_description_present;
        int i_colorprim;
        int i_transfer;
        int i_colmatrix;

        int b_chroma_loc_info_present;
        int i_chroma_loc_top;
        int i_chroma_loc_bottom;

        int b_timing_info_present;
        int i_num_units_in_tick;
        int i_time_scale;
        int b_fixed_frame_rate;

        int b_bitstream_restriction;
        int b_motion_vectors_over_pic_boundaries;
        int i_max_bytes_per_pic_denom;
        int i_max_bits_per_mb_denom;
        int i_log2_max_mv_length_horizontal;[color=Red][/color]
        int i_log2_max_mv_length_vertical;
        int i_num_reorder_frames;
        int i_max_dec_frame_buffering;

        /* FIXME to complete */} vui;

    int b_qpprime_y_zero_transform_bypass;

} x264_sps_t;
阅读(655) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~