Revert of Change type of pid_diff (int16_t -> uint8_t) according to updates in RTP payload profile. (patchset #3 id:40001 of https://codereview.webrtc.org/1427253002/ )
Reason for revert: Breaks bot. Original issue's description: > Change type of pid_diff (int16_t -> uint8_t) according to updates in RTP payload profile. Max p_diff is 8 bits. > > Change type of number of reference pictures (size_t -> uint8_t). Max is 2 bits. > > Size of WebRtcRTPHeader: 4352 -> 1784 bytes. > > BUG=webrtc:5144, chromium:500602 > > Committed: https://crrev.com/81c5c7f8157f767747bd97419eb0a589207354cf > Cr-Commit-Position: refs/heads/master@{#10504} TBR=stefan@webrtc.org,mflodman@webrtc.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:5144, chromium:500602 Review URL: https://codereview.webrtc.org/1423493005 Cr-Commit-Position: refs/heads/master@{#10508}
This commit is contained in:
@ -246,7 +246,7 @@ bool WriteRefIndices(const RTPVideoHeaderVP9& vp9,
|
||||
vp9.num_ref_pics == 0 || vp9.num_ref_pics > kMaxVp9RefPics) {
|
||||
return false;
|
||||
}
|
||||
for (uint8_t i = 0; i < vp9.num_ref_pics; ++i) {
|
||||
for (size_t i = 0; i < vp9.num_ref_pics; ++i) {
|
||||
bool n_bit = !(i == vp9.num_ref_pics - 1);
|
||||
RETURN_FALSE_ON_ERROR(writer->WriteBits(vp9.pid_diff[i], 7));
|
||||
RETURN_FALSE_ON_ERROR(writer->WriteBits(n_bit ? 1 : 0, 1));
|
||||
@ -301,7 +301,7 @@ bool WriteSsData(const RTPVideoHeaderVP9& vp9, rtc::BitBufferWriter* writer) {
|
||||
writer->WriteBits(vp9.gof.temporal_up_switch[i] ? 1 : 0, 1));
|
||||
RETURN_FALSE_ON_ERROR(writer->WriteBits(vp9.gof.num_ref_pics[i], 2));
|
||||
RETURN_FALSE_ON_ERROR(writer->WriteBits(kReservedBitValue0, 2));
|
||||
for (uint8_t r = 0; r < vp9.gof.num_ref_pics[i]; ++r) {
|
||||
for (size_t r = 0; r < vp9.gof.num_ref_pics[i]; ++r) {
|
||||
RETURN_FALSE_ON_ERROR(writer->WriteUInt8(vp9.gof.pid_diff[i][r]));
|
||||
}
|
||||
}
|
||||
@ -466,7 +466,7 @@ bool ParseSsData(rtc::BitBuffer* parser, RTPVideoHeaderVP9* vp9) {
|
||||
vp9->gof.temporal_up_switch[i] = u_bit ? true : false;
|
||||
vp9->gof.num_ref_pics[i] = r;
|
||||
|
||||
for (uint8_t p = 0; p < vp9->gof.num_ref_pics[i]; ++p) {
|
||||
for (size_t p = 0; p < vp9->gof.num_ref_pics[i]; ++p) {
|
||||
uint8_t p_diff;
|
||||
RETURN_FALSE_ON_ERROR(parser->ReadUInt8(&p_diff));
|
||||
vp9->gof.pid_diff[i][p] = p_diff;
|
||||
|
||||
@ -55,7 +55,7 @@ void VerifyHeader(const RTPVideoHeaderVP9& expected,
|
||||
actual.gof.temporal_up_switch[i]);
|
||||
EXPECT_EQ(expected.gof.temporal_idx[i], actual.gof.temporal_idx[i]);
|
||||
EXPECT_EQ(expected.gof.num_ref_pics[i], actual.gof.num_ref_pics[i]);
|
||||
for (uint8_t j = 0; j < expected.gof.num_ref_pics[i]; j++) {
|
||||
for (size_t j = 0; j < expected.gof.num_ref_pics[i]; j++) {
|
||||
EXPECT_EQ(expected.gof.pid_diff[i][j], actual.gof.pid_diff[i][j]);
|
||||
}
|
||||
}
|
||||
@ -545,9 +545,9 @@ TEST_F(RtpDepacketizerVp9Test, ParseLayerInfoWithFlexibleMode) {
|
||||
TEST_F(RtpDepacketizerVp9Test, ParseRefIdx) {
|
||||
const uint8_t kHeaderLength = 6;
|
||||
const int16_t kPictureId = 17;
|
||||
const uint8_t kPdiff1 = 17;
|
||||
const uint8_t kPdiff2 = 18;
|
||||
const uint8_t kPdiff3 = 127;
|
||||
const int16_t kPdiff1 = 17;
|
||||
const int16_t kPdiff2 = 18;
|
||||
const int16_t kPdiff3 = 127;
|
||||
uint8_t packet[13] = {0};
|
||||
packet[0] = 0xD8; // I:1 P:1 L:0 F:1 B:1 E:0 V:0 R:0
|
||||
packet[1] = 0x80 | ((kPictureId >> 8) & 0x7F); // Two byte pictureID.
|
||||
@ -577,7 +577,7 @@ TEST_F(RtpDepacketizerVp9Test, ParseRefIdx) {
|
||||
}
|
||||
|
||||
TEST_F(RtpDepacketizerVp9Test, ParseRefIdxFailsWithNoPictureId) {
|
||||
const uint8_t kPdiff = 3;
|
||||
const int16_t kPdiff = 3;
|
||||
uint8_t packet[13] = {0};
|
||||
packet[0] = 0x58; // I:0 P:1 L:0 F:1 B:1 E:0 V:0 R:0
|
||||
packet[1] = (kPdiff << 1); // P,F: P_DIFF:3 N:0
|
||||
@ -587,7 +587,7 @@ TEST_F(RtpDepacketizerVp9Test, ParseRefIdxFailsWithNoPictureId) {
|
||||
}
|
||||
|
||||
TEST_F(RtpDepacketizerVp9Test, ParseRefIdxFailsWithTooManyRefPics) {
|
||||
const uint8_t kPdiff = 3;
|
||||
const int16_t kPdiff = 3;
|
||||
uint8_t packet[13] = {0};
|
||||
packet[0] = 0xD8; // I:1 P:1 L:0 F:1 B:1 E:0 V:0 R:0
|
||||
packet[1] = kMaxOneBytePictureId; // I: PICTURE ID:127
|
||||
|
||||
Reference in New Issue
Block a user