Arcen's Blog

アクセスカウンタ

zoom RSS MPEG-4 Part 15 5.2.3 AVC stream

<<   作成日時 : 2011/09/24 02:00   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

MPEG-4 Part15 5.2.3より
AVCのElementary Streamの構造はnal unit。
lengthはビッグエンディアンで保存。
nal_lengthは2が初期値で、MPEG-4 Part15 5.2.4で定義。

class nal_unit {
uint8_t length[nal_length] = sizeof(nal_unit_data);
uint8_t nal_unit_data[length];
} avc_streams[];

H.264 7.3.1より

//table 7-1
enum nal_unit_type {
NAL_SLICE = 1,//slice_layer_without_partitioning_rbsp
NAL_DPA,//slice_data_partition_a_layer_rbsp
NAL_DPB,//slice_data_partition_b_layer_rbsp
NAL_DPC,//slice_data_partition_c_layer_rbsp
NAL_IDR = 5,//slice_layer_without_partitioning_rbsp
//upper VCL, lower NON-VCL
NAL_SEI,//sei_rbsp
NAL_SPS,//seq_parameter_set_rbsp
NAL_PPS,//pic_parameter_set_rbsp
NAL_AUD,//access_unit_delimiter_rbsp
NAL_ESEQ=10,//end_of_seq_rbsp
NAL_ESTR,//end_of_stream_rbsp
NAL_FD,//filler_data_rbsp
NAL_SPSE,//seq_parameter_set_extension_rbsp
NAL_PREFIX,//prefix_nal_unit_rbsp
NAL_SSPS,//subset_seq_parameter_set_rbsp
NAL_AUX=19,//slice_layer_without_partitioning_rbsp
NAL_EXT,// slice_layer_extension_rbsp
};
class nal_unit {
uint8_t zero : 1 = 0;//最上位ビット
uint8_t nal_ref_idc : 3;
uint8_t nal_unit_type : 5;
if (nal_unit_type == NAL_PREFIX || nal_unit_type == NAL_EXT) {
uint1_t svc_extension_flag;
if (svc_extension_flag) {
class nal_unit_header_svc_extension {//Annex G
uint1_t idr_flag;
uint6_t priority_id;
uint1_t no_inter_layer_pred_flag;
uint3_t dependency_id;
uint4_t quality_id;
uint3_t temporal_id;
uint1_t use_ref_base_pic_flag;
uint1_t discardable_flag;
uint1_t output_flag;
uint2_t reserved_three_2bits = 3;
};
} else {
class nal_unit_header_mvc_extension {//Annex H
uint1_t non_idr_flag;
uint6_t priority_id;
uint10_t view_id;
uint3_t temporal_id;
uint1_t anchor_pic_flag;
uint1_t inter_view_flag;
uint1_t reserved_one_bit = 1;
}
}
}
uint8_t rbsp[];//nal_unit_typeによりデータが異なる。
//00,00,0X(X=0〜3)の3byteパターンがある場合には00,00,03,0Xとするエンコードを行う。
//03を取り除いたデータがrbspとなる。
};

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
MPEG-4 Part 15 5.2.3 AVC stream Arcen's Blog/BIGLOBEウェブリブログ
文字サイズ:       閉じる