From 0c469431777a8a9d929d6502cef5eed1c5004f28 Mon Sep 17 00:00:00 2001 From: KongQun Yang Date: Mon, 21 Mar 2016 17:39:22 -0700 Subject: [PATCH] Improve handling of unescaped NAL units in byte stream The new algorithm will parse NAL unit header and only starts a new NAL unit if it is valid, otherwise it will be considered part of the previous NAL unit. Closes #96 Change-Id: I45f2a0f37d51841ee8345d6d0d38fcda57e0a009 --- .../bear-640x360-hevc-v-cenc-golden.mp4 | Bin 92793 -> 92793 bytes ..._unit_to_byte_stream_converter_unittest.cc | 24 ++-- packager/media/filters/nalu_reader.cc | 116 ++++++++++++++++-- packager/media/filters/nalu_reader.h | 21 ++++ .../media/filters/nalu_reader_unittest.cc | 86 +++++++++---- .../formats/mp4/encrypting_fragmenter.cc | 14 ++- .../media/formats/mp4/encrypting_fragmenter.h | 1 + 7 files changed, 205 insertions(+), 57 deletions(-) diff --git a/packager/app/test/testdata/bear-640x360-hevc-v-cenc-golden.mp4 b/packager/app/test/testdata/bear-640x360-hevc-v-cenc-golden.mp4 index fef674ed99cf6e6bbe0176c84ece2bbc02797042..2ebeb9d96ac80769c307cee08af1577ff6fdf0da 100644 GIT binary patch delta 62216 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ΜR?`Z8jTTxi2^!_*iW$0W`L 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�*EeD4lt>&=dozdKu;zNXOmp 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 + #include "packager/base/logging.h" #include "packager/media/base/buffer_reader.h" #include "packager/media/filters/h264_parser.h" @@ -29,31 +31,66 @@ Nalu::Nalu() type_(0), is_video_slice_(false) {} +// ITU-T H.264 (02/2014) 7.4.1 NAL unit semantics bool Nalu::InitializeFromH264(const uint8_t* data, uint64_t size) { DCHECK(data); if (size == 0) return false; - uint8_t header = data[0]; - if ((header & 0x80) != 0) + const uint8_t header = data[0]; + if ((header & 0x80) != 0) { + LOG(WARNING) << "forbidden_zero_bit shall be equal to 0 (header 0x" + << std::hex << static_cast(header) << ")."; return false; + } data_ = data; header_size_ = 1; payload_size_ = size - header_size_; ref_idc_ = (header >> 5) & 0x3; type_ = header & 0x1F; + + // Reserved NAL units are not treated as valid NAL units here. + if (type_ == Nalu::H264_Unspecified || type_ == Nalu::H264_Reserved17 || + type_ == Nalu::H264_Reserved18 || type_ >= Nalu::H264_Reserved22) { + LOG(WARNING) << "Unspecified or reserved nal_unit_type " << type_ + << " (header 0x" << std::hex << static_cast(header) + << ")."; + return false; + } else if (type_ == Nalu::H264_IDRSlice || type_ == Nalu::H264_SPS || + type_ == Nalu::H264_SPSExtension || type_ == Nalu::H264_SubsetSPS || + type_ == Nalu::H264_PPS) { + if (ref_idc_ == 0) { + LOG(WARNING) << "nal_ref_idc shall not be equal to 0 for nalu type " + << type_ << " (header 0x" << std::hex + << static_cast(header) << ")."; + return false; + } + } else if (type_ == Nalu::H264_SEIMessage || + (type_ >= Nalu::H264_AUD && type_ <= Nalu::H264_FillerData)) { + if (ref_idc_ != 0) { + LOG(WARNING) << "nal_ref_idc shall be equal to 0 for nalu type " << type_ + << " (header 0x" << std::hex << static_cast(header) + << ")."; + return false; + } + } + is_video_slice_ = (type_ >= Nalu::H264_NonIDRSlice && type_ <= Nalu::H264_IDRSlice); return true; } +// ITU-T H.265 (04/2015) 7.4.2.2 NAL unit header semantics bool Nalu::InitializeFromH265(const uint8_t* data, uint64_t size) { DCHECK(data); if (size < 2) return false; - uint16_t header = (data[0] << 8) | data[1]; - if ((header & 0x8000) != 0) + const uint16_t header = (data[0] << 8) | data[1]; + if ((header & 0x8000) != 0) { + LOG(WARNING) << "forbidden_zero_bit shall be equal to 0 (header 0x" + << std::hex << header << ")."; return false; + } data_ = data; header_size_ = 2; @@ -61,12 +98,47 @@ bool Nalu::InitializeFromH265(const uint8_t* data, uint64_t size) { type_ = (header >> 9) & 0x3F; nuh_layer_id_ = (header >> 3) & 0x3F; - nuh_temporal_id_ = (header & 0x7) - 1; + const int nuh_temporal_id_plus1 = header & 0x7; + if (nuh_temporal_id_plus1 == 0) { + LOG(WARNING) << "nul_temporal_id_plus1 shall not be equal to 0 (header 0x" + << std::hex << header << ")."; + return false; + } + nuh_temporal_id_ = nuh_temporal_id_plus1 - 1; - // Don't treat reserved VCL types as video slices since we cannot parse them. - is_video_slice_ = - (type_ >= Nalu::H265_TRAIL_N && type_ <= Nalu::H265_RASL_R) || - (type_ >= Nalu::H265_BLA_W_LP && type_ <= Nalu::H265_CRA_NUT); + if (type_ == Nalu::H265_EOB && nuh_layer_id_ != 0) { + LOG(WARNING) << "nuh_layer_id shall be equal to 0 for nalu type " << type_ + << " (header 0x" << std::hex << header << ")."; + return false; + } + + // Reserved NAL units are not treated as valid NAL units here. + if ((type_ >= Nalu::H265_RSV_VCL_N10 && type_ <= Nalu::H265_RSV_VCL_R15) || + (type_ >= Nalu::H265_RSV_IRAP_VCL22 && type_ < Nalu::H265_RSV_VCL31) || + (type_ >= Nalu::H265_RSV_NVCL41)) { + LOG(WARNING) << "Unspecified or reserved nal_unit_type " << type_ + << " (header 0x" << std::hex << header << ")."; + return false; + } else if ((type_ >= Nalu::H265_BLA_W_LP && + type_ <= Nalu::H265_RSV_IRAP_VCL23) || + type_ == Nalu::H265_VPS || type_ == Nalu::H265_SPS || + type_ == Nalu::H265_EOS || type_ == Nalu::H265_EOB) { + if (nuh_temporal_id_ != 0) { + LOG(WARNING) << "TemporalId shall be equal to 0 for nalu type " << type_ + << " (header 0x" << std::hex << header << ")."; + return false; + } + } else if (type_ == Nalu::H265_TSA_N || type_ == Nalu::H265_TSA_R || + (nuh_layer_id_ == 0 && + (type_ == Nalu::H265_STSA_N || type_ == Nalu::H265_STSA_R))) { + if (nuh_temporal_id_ == 0) { + LOG(WARNING) << "TemporalId shall not be equal to 0 for nalu type " + << type_ << " (header 0x" << std::hex << header << ")."; + return false; + } + } + + is_video_slice_ = type_ >= Nalu::H265_TRAIL_N && type_ <= Nalu::H265_CRA_NUT; return true; } @@ -218,11 +290,29 @@ bool NaluReader::LocateNaluByStartCode(uint64_t* nalu_size, // belong to the current NALU. uint64_t nalu_size_without_start_code = 0; uint8_t next_start_code_size = 0; - if (!FindStartCode(nalu_data, max_nalu_data_size, - &nalu_size_without_start_code, &next_start_code_size)) { - nalu_size_without_start_code = max_nalu_data_size; + while (true) { + if (!FindStartCode(nalu_data, max_nalu_data_size, + &nalu_size_without_start_code, &next_start_code_size)) { + nalu_data += max_nalu_data_size; + break; + } + + nalu_data += nalu_size_without_start_code + next_start_code_size; + max_nalu_data_size -= nalu_size_without_start_code + next_start_code_size; + // If it is not a valid NAL unit, we will continue searching. This is to + // handle the case where emulation prevention are not applied. + Nalu nalu; + if (nalu_type_ == kH264 + ? nalu.InitializeFromH264(nalu_data, max_nalu_data_size) + : nalu.InitializeFromH265(nalu_data, max_nalu_data_size)) { + nalu_data -= next_start_code_size; + break; + } + LOG(WARNING) << "Seeing invalid NAL unit. Emulation prevention may not " + "have been applied properly. Assuming it is part of the " + "previous NAL unit."; } - *nalu_size = nalu_size_without_start_code + annexb_start_code_size; + *nalu_size = nalu_data - stream_; *start_code_size = annexb_start_code_size; return true; } diff --git a/packager/media/filters/nalu_reader.h b/packager/media/filters/nalu_reader.h index 58125a3416..9f526544f2 100644 --- a/packager/media/filters/nalu_reader.h +++ b/packager/media/filters/nalu_reader.h @@ -34,22 +34,43 @@ class Nalu { H264_PPS = 8, H264_AUD = 9, H264_EOSeq = 10, + H264_FillerData = 12, + H264_SPSExtension = 13, + H264_SubsetSPS = 15, + H264_Reserved17 = 17, + H264_Reserved18 = 18, H264_CodedSliceExtension = 20, + H264_Reserved22 = 22, }; enum H265NaluType { H265_TRAIL_N = 0, + H265_TSA_N = 2, + H265_TSA_R = 3, + H265_STSA_N = 4, + H265_STSA_R = 5, H265_RASL_R = 9, + H265_RSV_VCL_N10 = 10, + H265_RSV_VCL_R15 = 15, + H265_BLA_W_LP = 16, H265_IDR_W_RADL = 19, H265_IDR_N_LP = 20, H265_CRA_NUT = 21, + + H265_RSV_IRAP_VCL22 = 22, H265_RSV_IRAP_VCL23 = 23, + H265_RSV_VCL31 = 31, H265_VPS = 32, H265_SPS = 33, H265_PPS = 34, H265_AUD = 35, + + H265_EOS = 36, + H265_EOB = 37, + + H265_RSV_NVCL41 = 41, }; Nalu(); diff --git a/packager/media/filters/nalu_reader_unittest.cc b/packager/media/filters/nalu_reader_unittest.cc index 0e70f3f20a..c48762f33f 100644 --- a/packager/media/filters/nalu_reader_unittest.cc +++ b/packager/media/filters/nalu_reader_unittest.cc @@ -13,11 +13,11 @@ namespace media { TEST(NaluReaderTest, StartCodeSearch) { const uint8_t kNaluData[] = { - 0x01, 0x00, 0x00, 0x04, 0x23, 0x56, - // First NALU - 0x00, 0x00, 0x01, 0x12, 0x34, 0x56, 0x78, - // Second NALU - 0x00, 0x00, 0x00, 0x01, 0x67, 0xbb, 0xcc, 0xdd + 0x01, 0x00, 0x00, 0x04, 0x23, 0x56, + // First NALU + 0x00, 0x00, 0x01, 0x14, 0x34, 0x56, 0x78, + // Second NALU + 0x00, 0x00, 0x00, 0x01, 0x67, 0xbb, 0xcc, 0xdd, }; NaluReader reader(NaluReader::kH264, kIsAnnexbByteStream, kNaluData, @@ -29,7 +29,7 @@ TEST(NaluReaderTest, StartCodeSearch) { EXPECT_EQ(3u, nalu.payload_size()); EXPECT_EQ(1u, nalu.header_size()); EXPECT_EQ(0, nalu.ref_idc()); - EXPECT_EQ(0x12, nalu.type()); + EXPECT_EQ(0x14, nalu.type()); ASSERT_EQ(NaluReader::kOk, reader.Advance(&nalu)); EXPECT_EQ(kNaluData + 17, nalu.data()); @@ -41,12 +41,46 @@ TEST(NaluReaderTest, StartCodeSearch) { EXPECT_EQ(NaluReader::kEOStream, reader.Advance(&nalu)); } +TEST(NaluReaderTest, StartCodeSearchWithStartCodeInsideNalUnit) { + const uint8_t kNaluData[] = { + 0x01, 0x00, 0x00, 0x04, 0x23, 0x56, + // First NALU + 0x00, 0x00, 0x01, 0x14, 0x34, 0x56, 0x78, + // This is part of the first NALU as it is not a valid NALU. + 0x00, 0x00, 0x00, 0x01, 0x07, 0xbb, 0xcc, 0xdd, + // Second NALU + 0x00, 0x00, 0x01, 0x67, 0x03, 0x04, + // This is part of the second NALU. + 0x00, 0x00, 0x01, + }; + + NaluReader reader(NaluReader::kH264, kIsAnnexbByteStream, kNaluData, + arraysize(kNaluData)); + + Nalu nalu; + ASSERT_EQ(NaluReader::kOk, reader.Advance(&nalu)); + EXPECT_EQ(kNaluData + 9, nalu.data()); + EXPECT_EQ(11u, nalu.payload_size()); + EXPECT_EQ(1u, nalu.header_size()); + EXPECT_EQ(0, nalu.ref_idc()); + EXPECT_EQ(0x14, nalu.type()); + + ASSERT_EQ(NaluReader::kOk, reader.Advance(&nalu)); + EXPECT_EQ(kNaluData + 24, nalu.data()); + EXPECT_EQ(5u, nalu.payload_size()); + EXPECT_EQ(1u, nalu.header_size()); + EXPECT_EQ(3, nalu.ref_idc()); + EXPECT_EQ(7, nalu.type()); + + EXPECT_EQ(NaluReader::kEOStream, reader.Advance(&nalu)); +} + TEST(NaluReaderTest, OneByteNaluLength) { const uint8_t kNaluData[] = { - // First NALU - 0x05, 0x08, 0x01, 0x02, 0x03, 0x04, - // Second NALU - 0x06, 0x67, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e + // First NALU + 0x05, 0x06, 0x01, 0x02, 0x03, 0x04, + // Second NALU + 0x06, 0x67, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, }; NaluReader reader(NaluReader::kH264, 1, kNaluData, arraysize(kNaluData)); @@ -57,7 +91,7 @@ TEST(NaluReaderTest, OneByteNaluLength) { EXPECT_EQ(4u, nalu.payload_size()); EXPECT_EQ(1u, nalu.header_size()); EXPECT_EQ(0, nalu.ref_idc()); - EXPECT_EQ(8, nalu.type()); + EXPECT_EQ(6, nalu.type()); ASSERT_EQ(NaluReader::kOk, reader.Advance(&nalu)); EXPECT_EQ(kNaluData + 7, nalu.data()); @@ -71,10 +105,10 @@ TEST(NaluReaderTest, OneByteNaluLength) { TEST(NaluReaderTest, FourByteNaluLength) { const uint8_t kNaluData[] = { - // First NALU - 0x00, 0x00, 0x00, 0x07, 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, - // Second NALU - 0x00, 0x00, 0x00, 0x03, 0x67, 0x0a, 0x0b + // First NALU + 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + // Second NALU + 0x00, 0x00, 0x00, 0x03, 0x67, 0x0a, 0x0b, }; NaluReader reader(NaluReader::kH264, 4, kNaluData, arraysize(kNaluData)); @@ -85,7 +119,7 @@ TEST(NaluReaderTest, FourByteNaluLength) { EXPECT_EQ(6u, nalu.payload_size()); EXPECT_EQ(1u, nalu.header_size()); EXPECT_EQ(0, nalu.ref_idc()); - EXPECT_EQ(8, nalu.type()); + EXPECT_EQ(6, nalu.type()); ASSERT_EQ(NaluReader::kOk, reader.Advance(&nalu)); EXPECT_EQ(kNaluData + 15, nalu.data()); @@ -99,8 +133,8 @@ TEST(NaluReaderTest, FourByteNaluLength) { TEST(NaluReaderTest, ErrorForNotEnoughForNaluLength) { const uint8_t kNaluData[] = { - // First NALU - 0x00 + // First NALU + 0x00, }; NaluReader reader(NaluReader::kH264, 3, kNaluData, arraysize(kNaluData)); @@ -111,8 +145,8 @@ TEST(NaluReaderTest, ErrorForNotEnoughForNaluLength) { TEST(NaluReaderTest, ErrorForNaluLengthExceedsRemainingData) { const uint8_t kNaluData[] = { - // First NALU - 0xFF, 0x08, 0x00 + // First NALU + 0xFF, 0x08, 0x00, }; NaluReader reader(NaluReader::kH264, 1, kNaluData, arraysize(kNaluData)); @@ -122,8 +156,8 @@ TEST(NaluReaderTest, ErrorForNaluLengthExceedsRemainingData) { // Another test for off by one. const uint8_t kNaluData2[] = { - // First NALU - 0x04, 0x08, 0x00, 0x00 + // First NALU + 0x04, 0x08, 0x00, 0x00, }; NaluReader reader2(NaluReader::kH264, 1, kNaluData2, arraysize(kNaluData2)); @@ -132,8 +166,8 @@ TEST(NaluReaderTest, ErrorForNaluLengthExceedsRemainingData) { TEST(NaluReaderTest, ErrorForForbiddenBitSet) { const uint8_t kNaluData[] = { - // First NALU - 0x03, 0x80, 0x00, 0x00 + // First NALU + 0x03, 0x80, 0x00, 0x00, }; NaluReader reader(NaluReader::kH264, 1, kNaluData, arraysize(kNaluData)); @@ -144,8 +178,8 @@ TEST(NaluReaderTest, ErrorForForbiddenBitSet) { TEST(NaluReaderTest, ErrorForZeroSize) { const uint8_t kNaluData[] = { - // First NALU - 0x03, 0x80, 0x00, 0x00 + // First NALU + 0x03, 0x80, 0x00, 0x00, }; Nalu nalu; diff --git a/packager/media/formats/mp4/encrypting_fragmenter.cc b/packager/media/formats/mp4/encrypting_fragmenter.cc index 007d200110..efc522cd76 100644 --- a/packager/media/formats/mp4/encrypting_fragmenter.cc +++ b/packager/media/formats/mp4/encrypting_fragmenter.cc @@ -70,15 +70,15 @@ EncryptingFragmenter::EncryptingFragmenter( info_(info), encryption_key_(encryption_key.Pass()), nalu_length_size_(GetNaluLengthSize(*info)), + video_codec_(GetVideoCodec(*info)), clear_time_(clear_time), encryption_mode_(encryption_mode) { DCHECK(encryption_key_); - VideoCodec video_codec = GetVideoCodec(*info); - if (video_codec == kCodecVP8) { + if (video_codec_ == kCodecVP8) { vpx_parser_.reset(new VP8Parser); - } else if (video_codec == kCodecVP9) { + } else if (video_codec_ == kCodecVP9) { vpx_parser_.reset(new VP9Parser); - } else if (video_codec == kCodecH264) { + } else if (video_codec_ == kCodecH264) { header_parser_.reset(new H264VideoSliceHeaderParser); } // TODO(modmaker): Support H.265. @@ -231,8 +231,10 @@ Status EncryptingFragmenter::EncryptSample(scoped_refptr sample) { data += frame.frame_size; } } else { - // TODO(modmaker): Support H.265. - const NaluReader::NaluType nalu_type = NaluReader::kH264; + const NaluReader::NaluType nalu_type = + (video_codec_ == kCodecHVC1 || video_codec_ == kCodecHEV1) + ? NaluReader::kH265 + : NaluReader::kH264; NaluReader reader(nalu_type, nalu_length_size_, data, sample->data_size()); diff --git a/packager/media/formats/mp4/encrypting_fragmenter.h b/packager/media/formats/mp4/encrypting_fragmenter.h index 50291416ca..bb2cc22a05 100644 --- a/packager/media/formats/mp4/encrypting_fragmenter.h +++ b/packager/media/formats/mp4/encrypting_fragmenter.h @@ -78,6 +78,7 @@ class EncryptingFragmenter : public Fragmenter { // and type of NAL units remain unencrypted. This function returns the size of // the size field in bytes. Can be 1, 2 or 4 bytes. const uint8_t nalu_length_size_; + const VideoCodec video_codec_; int64_t clear_time_; EncryptionMode encryption_mode_;