Move bit_buffer.h to webrtc namespace
Bug: webrtc:42232595
Change-Id: Idf97f90e7011976f214c0f84bc1040227ce0dfd5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/380400
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44074}
diff --git a/common_video/h264/pps_parser_unittest.cc b/common_video/h264/pps_parser_unittest.cc
index ea8c8ed..ad3c9e1 100644
--- a/common_video/h264/pps_parser_unittest.cc
+++ b/common_video/h264/pps_parser_unittest.cc
@@ -38,7 +38,7 @@
int pic_size_in_map_units,
rtc::Buffer* out_buffer) {
uint8_t data[kPpsBufferMaxSize] = {0};
- rtc::BitBufferWriter bit_buffer(data, kPpsBufferMaxSize);
+ BitBufferWriter bit_buffer(data, kPpsBufferMaxSize);
// pic_parameter_set_id: ue(v)
bit_buffer.WriteExponentialGolomb(pps.id);
diff --git a/common_video/h264/sps_parser_unittest.cc b/common_video/h264/sps_parser_unittest.cc
index 6904e8e..0e8f27b 100644
--- a/common_video/h264/sps_parser_unittest.cc
+++ b/common_video/h264/sps_parser_unittest.cc
@@ -47,7 +47,7 @@
uint32_t log2_max_pic_order_cnt_lsb_minus4,
rtc::Buffer* out_buffer) {
uint8_t rbsp[kSpsBufferMaxSize] = {0};
- rtc::BitBufferWriter writer(rbsp, kSpsBufferMaxSize);
+ BitBufferWriter writer(rbsp, kSpsBufferMaxSize);
// Profile byte.
writer.WriteUInt8(0);
// Constraint sets and reserved zero bits.
diff --git a/common_video/h264/sps_vui_rewriter.cc b/common_video/h264/sps_vui_rewriter.cc
index 236ecb8..14f28f1 100644
--- a/common_video/h264/sps_vui_rewriter.cc
+++ b/common_video/h264/sps_vui_rewriter.cc
@@ -54,7 +54,7 @@
} \
} while (0)
-uint8_t CopyUInt8(BitstreamReader& source, rtc::BitBufferWriter& destination) {
+uint8_t CopyUInt8(BitstreamReader& source, BitBufferWriter& destination) {
uint8_t tmp = source.Read<uint8_t>();
if (!destination.WriteUInt8(tmp)) {
source.Invalidate();
@@ -62,8 +62,7 @@
return tmp;
}
-uint32_t CopyExpGolomb(BitstreamReader& source,
- rtc::BitBufferWriter& destination) {
+uint32_t CopyExpGolomb(BitstreamReader& source, BitBufferWriter& destination) {
uint32_t tmp = source.ReadExponentialGolomb();
if (!destination.WriteExponentialGolomb(tmp)) {
source.Invalidate();
@@ -73,7 +72,7 @@
uint32_t CopyBits(int bits,
BitstreamReader& source,
- rtc::BitBufferWriter& destination) {
+ BitBufferWriter& destination) {
RTC_DCHECK_GT(bits, 0);
RTC_DCHECK_LE(bits, 32);
uint64_t tmp = source.ReadBits(bits);
@@ -85,24 +84,22 @@
bool CopyAndRewriteVui(const SpsParser::SpsState& sps,
BitstreamReader& source,
- rtc::BitBufferWriter& destination,
+ BitBufferWriter& destination,
const webrtc::ColorSpace* color_space,
SpsVuiRewriter::ParseResult& out_vui_rewritten);
-void CopyHrdParameters(BitstreamReader& source,
- rtc::BitBufferWriter& destination);
-bool AddBitstreamRestriction(rtc::BitBufferWriter* destination,
+void CopyHrdParameters(BitstreamReader& source, BitBufferWriter& destination);
+bool AddBitstreamRestriction(BitBufferWriter* destination,
uint32_t max_num_ref_frames);
bool IsDefaultColorSpace(const ColorSpace& color_space);
-bool AddVideoSignalTypeInfo(rtc::BitBufferWriter& destination,
+bool AddVideoSignalTypeInfo(BitBufferWriter& destination,
const ColorSpace& color_space);
bool CopyOrRewriteVideoSignalTypeInfo(
BitstreamReader& source,
- rtc::BitBufferWriter& destination,
+ BitBufferWriter& destination,
const ColorSpace* color_space,
SpsVuiRewriter::ParseResult& out_vui_rewritten);
-bool CopyRemainingBits(BitstreamReader& source,
- rtc::BitBufferWriter& destination);
+bool CopyRemainingBits(BitstreamReader& source, BitBufferWriter& destination);
} // namespace
void SpsVuiRewriter::UpdateStats(ParseResult result, Direction direction) {
@@ -153,7 +150,7 @@
// We're going to completely muck up alignment, so we need a BitBufferWriter
// to write with.
rtc::Buffer out_buffer(buffer.size() + kMaxVuiSpsIncrease);
- rtc::BitBufferWriter sps_writer(out_buffer.data(), out_buffer.size());
+ BitBufferWriter sps_writer(out_buffer.data(), out_buffer.size());
// Check how far the SpsParser has read, and copy that data in bulk.
RTC_DCHECK(source_buffer.Ok());
@@ -283,7 +280,7 @@
namespace {
bool CopyAndRewriteVui(const SpsParser::SpsState& sps,
BitstreamReader& source,
- rtc::BitBufferWriter& destination,
+ BitBufferWriter& destination,
const webrtc::ColorSpace* color_space,
SpsVuiRewriter::ParseResult& out_vui_rewritten) {
out_vui_rewritten = SpsVuiRewriter::ParseResult::kVuiOk;
@@ -416,8 +413,7 @@
}
// Copies a VUI HRD parameters segment.
-void CopyHrdParameters(BitstreamReader& source,
- rtc::BitBufferWriter& destination) {
+void CopyHrdParameters(BitstreamReader& source, BitBufferWriter& destination) {
// cbp_cnt_minus1: ue(v)
uint32_t cbp_cnt_minus1 = CopyExpGolomb(source, destination);
// bit_rate_scale and cbp_size_scale: u(4) each
@@ -441,7 +437,7 @@
// http://www.itu.int/rec/T-REC-H.264
// Adds a bitstream restriction VUI segment.
-bool AddBitstreamRestriction(rtc::BitBufferWriter* destination,
+bool AddBitstreamRestriction(BitBufferWriter* destination,
uint32_t max_num_ref_frames) {
// motion_vectors_over_pic_boundaries_flag: u(1)
// Default is 1 when not present.
@@ -473,7 +469,7 @@
color_space.matrix() == ColorSpace::MatrixID::kUnspecified;
}
-bool AddVideoSignalTypeInfo(rtc::BitBufferWriter& destination,
+bool AddVideoSignalTypeInfo(BitBufferWriter& destination,
const ColorSpace& color_space) {
// video_format: u(3).
RETURN_FALSE_ON_FAIL(destination.WriteBits(5, 3)); // 5 = Unspecified
@@ -496,7 +492,7 @@
bool CopyOrRewriteVideoSignalTypeInfo(
BitstreamReader& source,
- rtc::BitBufferWriter& destination,
+ BitBufferWriter& destination,
const ColorSpace* color_space,
SpsVuiRewriter::ParseResult& out_vui_rewritten) {
// Read.
@@ -589,8 +585,7 @@
return true;
}
-bool CopyRemainingBits(BitstreamReader& source,
- rtc::BitBufferWriter& destination) {
+bool CopyRemainingBits(BitstreamReader& source, BitBufferWriter& destination) {
// Try to get at least the destination aligned.
if (source.RemainingBitCount() > 0 && source.RemainingBitCount() % 8 != 0) {
size_t misaligned_bits = source.RemainingBitCount() % 8;
diff --git a/common_video/h264/sps_vui_rewriter_unittest.cc b/common_video/h264/sps_vui_rewriter_unittest.cc
index 4fbfdfe..f0f7b4d 100644
--- a/common_video/h264/sps_vui_rewriter_unittest.cc
+++ b/common_video/h264/sps_vui_rewriter_unittest.cc
@@ -195,7 +195,7 @@
// level_idc, to make sure the parser doesn't eat all 0x3 bytes.
void GenerateFakeSps(const VuiHeader& vui, rtc::Buffer* out_buffer) {
uint8_t rbsp[kSpsBufferMaxSize] = {0};
- rtc::BitBufferWriter writer(rbsp, kSpsBufferMaxSize);
+ BitBufferWriter writer(rbsp, kSpsBufferMaxSize);
// Profile byte.
writer.WriteUInt8(0);
// Constraint sets and reserved zero bits.
diff --git a/common_video/h265/h265_pps_parser_unittest.cc b/common_video/h265/h265_pps_parser_unittest.cc
index 61cf0a5..d725e570 100644
--- a/common_video/h265/h265_pps_parser_unittest.cc
+++ b/common_video/h265/h265_pps_parser_unittest.cc
@@ -37,7 +37,7 @@
bool scaling_list_pred_mode_flag,
rtc::Buffer* out_buffer) {
uint8_t data[kPpsBufferMaxSize] = {0};
- rtc::BitBufferWriter bit_buffer(data, kPpsBufferMaxSize);
+ BitBufferWriter bit_buffer(data, kPpsBufferMaxSize);
// pic_parameter_set_id: ue(v)
bit_buffer.WriteExponentialGolomb(pps.pps_id);
diff --git a/common_video/h265/h265_sps_parser_unittest.cc b/common_video/h265/h265_sps_parser_unittest.cc
index 1c8537b..53890e9 100644
--- a/common_video/h265/h265_sps_parser_unittest.cc
+++ b/common_video/h265/h265_sps_parser_unittest.cc
@@ -36,7 +36,7 @@
bool long_term_ref_pics_present_flag,
rtc::Buffer* out_buffer) {
uint8_t rbsp[kSpsBufferMaxSize] = {0};
- rtc::BitBufferWriter writer(rbsp, kSpsBufferMaxSize);
+ BitBufferWriter writer(rbsp, kSpsBufferMaxSize);
// sps_video_parameter_set_id
writer.WriteBits(0, 4);
// sps_max_sub_layers_minus1
diff --git a/logging/rtc_event_log/encoder/bit_writer.h b/logging/rtc_event_log/encoder/bit_writer.h
index a40b7dc..449c07f 100644
--- a/logging/rtc_event_log/encoder/bit_writer.h
+++ b/logging/rtc_event_log/encoder/bit_writer.h
@@ -47,7 +47,7 @@
private:
std::string buffer_;
- rtc::BitBufferWriter bit_writer_;
+ BitBufferWriter bit_writer_;
// Note: Counting bits instead of bytes wraps around earlier than it has to,
// which means the maximum length is lower than it could be. We don't expect
// to go anywhere near the limit, though, so this is good enough.
diff --git a/logging/rtc_event_log/encoder/optional_blob_encoding.cc b/logging/rtc_event_log/encoder/optional_blob_encoding.cc
index f93d3ad..3d225ba 100644
--- a/logging/rtc_event_log/encoder/optional_blob_encoding.cc
+++ b/logging/rtc_event_log/encoder/optional_blob_encoding.cc
@@ -35,7 +35,7 @@
if (blob.has_value()) {
++num_blobs_present;
reserve_size_bits +=
- (rtc::BitBufferWriter::kMaxLeb128Length.bytes() + blob->size()) * 8;
+ (BitBufferWriter::kMaxLeb128Length.bytes() + blob->size()) * 8;
}
}
@@ -49,7 +49,7 @@
}
std::vector<uint8_t> buffer((reserve_size_bits + 7) / 8);
- rtc::BitBufferWriter writer(buffer.data(), buffer.size());
+ BitBufferWriter writer(buffer.data(), buffer.size());
// Write present bits if all blobs are not present.
writer.WriteBits(all_blobs_present, 1);
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.cc b/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.cc
index 59a327a..5e9feb1 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.cc
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.cc
@@ -125,12 +125,12 @@
for (const FrameDependencyTemplate& frame_template : structure_.templates) {
bits += 5 * frame_template.frame_diffs.size();
}
- bits += rtc::BitBufferWriter::SizeNonSymmetricBits(
+ bits += BitBufferWriter::SizeNonSymmetricBits(
structure_.num_chains, structure_.num_decode_targets + 1);
if (structure_.num_chains > 0) {
for (int protected_by : structure_.decode_target_protected_by_chain) {
- bits += rtc::BitBufferWriter::SizeNonSymmetricBits(protected_by,
- structure_.num_chains);
+ bits += BitBufferWriter::SizeNonSymmetricBits(protected_by,
+ structure_.num_chains);
}
bits += 4 * structure_.templates.size() * structure_.num_chains;
}
diff --git a/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.h b/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.h
index 568e0a8..3a8f3bb 100644
--- a/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.h
+++ b/modules/rtp_rtcp/source/rtp_dependency_descriptor_writer.h
@@ -80,7 +80,7 @@
const DependencyDescriptor& descriptor_;
const FrameDependencyStructure& structure_;
std::bitset<32> active_chains_;
- rtc::BitBufferWriter bit_writer_;
+ BitBufferWriter bit_writer_;
TemplateMatch best_template_;
};
diff --git a/modules/rtp_rtcp/source/rtp_format_vp9.cc b/modules/rtp_rtcp/source/rtp_format_vp9.cc
index 5e03785..653feba 100644
--- a/modules/rtp_rtcp/source/rtp_format_vp9.cc
+++ b/modules/rtp_rtcp/source/rtp_format_vp9.cc
@@ -155,8 +155,7 @@
// M: | EXTENDED PID |
// +-+-+-+-+-+-+-+-+
//
-bool WritePictureId(const RTPVideoHeaderVP9& vp9,
- rtc::BitBufferWriter* writer) {
+bool WritePictureId(const RTPVideoHeaderVP9& vp9, BitBufferWriter* writer) {
bool m_bit = (PictureIdLength(vp9) == 2);
RETURN_FALSE_ON_ERROR(writer->WriteBits(m_bit ? 1 : 0, 1));
RETURN_FALSE_ON_ERROR(writer->WriteBits(vp9.picture_id, m_bit ? 15 : 7));
@@ -172,7 +171,7 @@
// +-+-+-+-+-+-+-+-+
//
bool WriteLayerInfoCommon(const RTPVideoHeaderVP9& vp9,
- rtc::BitBufferWriter* writer) {
+ BitBufferWriter* writer) {
RETURN_FALSE_ON_ERROR(writer->WriteBits(TemporalIdxField(vp9, 0), 3));
RETURN_FALSE_ON_ERROR(writer->WriteBits(vp9.temporal_up_switch ? 1 : 0, 1));
RETURN_FALSE_ON_ERROR(writer->WriteBits(SpatialIdxField(vp9, 0), 3));
@@ -190,13 +189,12 @@
// +-+-+-+-+-+-+-+-+
//
bool WriteLayerInfoNonFlexibleMode(const RTPVideoHeaderVP9& vp9,
- rtc::BitBufferWriter* writer) {
+ BitBufferWriter* writer) {
RETURN_FALSE_ON_ERROR(writer->WriteUInt8(Tl0PicIdxField(vp9, 0)));
return true;
}
-bool WriteLayerInfo(const RTPVideoHeaderVP9& vp9,
- rtc::BitBufferWriter* writer) {
+bool WriteLayerInfo(const RTPVideoHeaderVP9& vp9, BitBufferWriter* writer) {
if (!WriteLayerInfoCommon(vp9, writer))
return false;
@@ -213,8 +211,7 @@
// +-+-+-+-+-+-+-+-+ N=1: An additional P_DIFF follows
// current P_DIFF.
//
-bool WriteRefIndices(const RTPVideoHeaderVP9& vp9,
- rtc::BitBufferWriter* writer) {
+bool WriteRefIndices(const RTPVideoHeaderVP9& vp9, BitBufferWriter* writer) {
if (!PictureIdPresent(vp9) || vp9.num_ref_pics == 0 ||
vp9.num_ref_pics > kMaxVp9RefPics) {
return false;
@@ -247,7 +244,7 @@
// | P_DIFF | (OPTIONAL) . R times .
// +-+-+-+-+-+-+-+-+ -| -|
//
-bool WriteSsData(const RTPVideoHeaderVP9& vp9, rtc::BitBufferWriter* writer) {
+bool WriteSsData(const RTPVideoHeaderVP9& vp9, BitBufferWriter* writer) {
RTC_CHECK_GT(vp9.num_spatial_layers, 0U);
RTC_CHECK_LE(vp9.num_spatial_layers, kMaxVp9NumberOfSpatialLayers);
RTC_CHECK_LE(vp9.gof.num_frames_in_gof, kMaxVp9FramesInGof);
@@ -415,7 +412,7 @@
bool v_bit = hdr_.ss_data_available && b_bit;
bool z_bit = hdr_.non_ref_for_inter_layer_pred;
- rtc::BitBufferWriter writer(buffer.data(), buffer.size());
+ BitBufferWriter writer(buffer.data(), buffer.size());
RETURN_FALSE_ON_ERROR(writer.WriteBits(i_bit ? 1 : 0, 1));
RETURN_FALSE_ON_ERROR(writer.WriteBits(p_bit ? 1 : 0, 1));
RETURN_FALSE_ON_ERROR(writer.WriteBits(l_bit ? 1 : 0, 1));
diff --git a/rtc_base/bit_buffer.cc b/rtc_base/bit_buffer.cc
index fd57e13..e94a3c0 100644
--- a/rtc_base/bit_buffer.cc
+++ b/rtc_base/bit_buffer.cc
@@ -48,7 +48,7 @@
} // namespace
-namespace rtc {
+namespace webrtc {
BitBufferWriter::BitBufferWriter(uint8_t* bytes, size_t byte_count)
: writable_bytes_(bytes),
@@ -227,4 +227,4 @@
return success;
}
-} // namespace rtc
+} // namespace webrtc
diff --git a/rtc_base/bit_buffer.h b/rtc_base/bit_buffer.h
index fe50b2b..736093e 100644
--- a/rtc_base/bit_buffer.h
+++ b/rtc_base/bit_buffer.h
@@ -17,7 +17,7 @@
#include "absl/strings/string_view.h"
#include "api/units/data_size.h"
-namespace rtc {
+namespace webrtc {
// A BitBuffer API for write operations. Supports symmetric write APIs to the
// reading APIs of BitstreamReader.
@@ -25,8 +25,7 @@
// Byte order is assumed big-endian/network.
class BitBufferWriter {
public:
- static constexpr webrtc::DataSize kMaxLeb128Length =
- webrtc::DataSize::Bytes(10);
+ static constexpr DataSize kMaxLeb128Length = webrtc::DataSize::Bytes(10);
// Constructs a bit buffer for the writable buffer of `bytes`.
BitBufferWriter(uint8_t* bytes, size_t byte_count);
@@ -95,6 +94,12 @@
size_t bit_offset_;
};
+} // namespace webrtc
+
+// Re-export symbols from the webrtc namespace for backwards compatibility.
+// TODO(bugs.webrtc.org/4222596): Remove once all references are updated.
+namespace rtc {
+using ::webrtc::BitBufferWriter;
} // namespace rtc
#endif // RTC_BASE_BIT_BUFFER_H_
diff --git a/rtc_base/bit_buffer_unittest.cc b/rtc_base/bit_buffer_unittest.cc
index 7dfe0c8..ec65cae 100644
--- a/rtc_base/bit_buffer_unittest.cc
+++ b/rtc_base/bit_buffer_unittest.cc
@@ -19,7 +19,7 @@
#include "test/gmock.h"
#include "test/gtest.h"
-namespace rtc {
+namespace webrtc {
using ::testing::ElementsAre;
using ::webrtc::BitstreamReader;
@@ -253,4 +253,4 @@
EXPECT_FALSE(writer.WriteString("abc"));
}
-} // namespace rtc
+} // namespace webrtc