美文网首页
一. 结构体介绍

一. 结构体介绍

作者: 对着天说晚安 | 来源:发表于2018-12-08 16:14 被阅读0次
  1. x264_nal_t结构体
typedef struct x264_nal_t
{
    int i_ref_idc;  /* nal_priority_e */
    int i_type;     /* nal_unit_type_e */
    int b_long_startcode;
    int i_first_mb; /* If this NAL is a slice, the index of the first MB in the slice. */
    int i_last_mb;  /* If this NAL is a slice, the index of the last MB in the slice. */

    /* Size of payload (including any padding) in bytes. */
    int     i_payload;
    /* If param->b_annexb is set, Annex-B bytestream with startcode.
     * Otherwise, startcode is replaced with a 4-byte size.
     * This size is the size used in mp4/similar muxing; it is equal to i_payload-4 */
    uint8_t *p_payload;

    /* Size of padding in bytes. */
    int i_padding;
} x264_nal_t;

i_ref_idc:nal_t的优先级。其包含的几个优先级的定义如下:

enum nal_priority_e
{
    NAL_PRIORITY_DISPOSABLE = 0,  // 00
    NAL_PRIORITY_LOW        = 1,  // 01
    NAL_PRIORITY_HIGH       = 2,  // 10
    NAL_PRIORITY_HIGHEST    = 3,  // 11
};

i_type:nal_t的类型。包括SPS,PPS,SS等信息,其类型信息的定义如下:

enum nal_unit_type_e
{
    NAL_UNKNOWN     = 0,                        // 00000
    NAL_SLICE       = 1,                        // 00001
    NAL_SLICE_DPA   = 2,                        // 00010
    NAL_SLICE_DPB   = 3,                        // 00011
    NAL_SLICE_DPC   = 4,                        // 00100
    NAL_SLICE_IDR   = 5,    /* ref_idc != 0 */  // 00101
    NAL_SEI         = 6,    /* ref_idc == 0 */  // 00110
    NAL_SPS         = 7,                        // 00111
    NAL_PPS         = 8,                        // 01000
    NAL_AUD         = 9,                        // 01001
    NAL_FILLER      = 12,                       // 01100
    /* ref_idc == 0 for 6,9,10,11,12 */
};

b_long_startcode:最长的开始编码,有可能是3或者4,这是由于nal的首部是以000001或者00000001开始的,包含3字节或者两个字节。
i_payload,p_payload,i_padding:待观察其使用。

相关文章

  • 一. 结构体介绍

    x264_nal_t结构体 i_ref_idc:nal_t的优先级。其包含的几个优先级的定义如下: i_type:...

  • 结构体

    结构体的介绍 格式 结构体的使用 结构体定义构造方法 注意点 例子 注意点

  • 16.Swift学习之结构体

    结构体的介绍 概念介绍结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合结构体是值类型结构...

  • 9.Swift结构体

    结构体的介绍 概念介绍结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合结构体(struc...

  • Swift中结构体的使用详解(2.2版本)(篇章十四)

    结构体的介绍 概念介绍结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合结构体(struc...

  • 14 Swift 结构体

    结构体的介绍 概念介绍结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合结构体(struc...

  • 11 结构体

    1. 结构体的介绍 概念介绍结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合结构体(st...

  • Swift 结构体

    结构体的介绍 结构体是由一系列具有相同类型或者不同类型的数据结构构成的数据集合 结构体是一种数据结构 结构体是数值...

  • Swift:结构体、类与闭包

    目录一,结构体二,类三,闭包 一,结构体 1,介绍 Bool、Int、String、Array、Dictionar...

  • C语言——变长数据包pdu(协议数据单元protocol dat

    变长结构体 首先写介绍下变长结构体: structVar_Len_Struct { intnsize; charb...

网友评论

      本文标题:一. 结构体介绍

      本文链接:https://www.haomeiwen.com/subject/kysqhqtx.html