Register filter loop parameters' start position in VP9 frame header.
This is needed in order to create corruptions (by altering the filter loop params) to test the corruption detection algorithm. Bug: webrtc:358039777 Change-Id: Ib26e9c0187b79c13b9862898625742def4091b91 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360780 Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Emil Vardar (xWF) <vardar@google.com> Cr-Commit-Position: refs/heads/main@{#42890}
This commit is contained in:
parent
427b712a49
commit
2c637aa16f
@ -488,6 +488,8 @@ void Parse(BitstreamReader& br,
|
||||
// Frame context index.
|
||||
frame_info->frame_context_idx = br.ReadBits(2);
|
||||
|
||||
frame_info->loop_filter_params_offset_bits =
|
||||
total_buffer_size_bits - br.RemainingBitCount();
|
||||
Vp9ReadLoopfilter(br);
|
||||
|
||||
// Read base QP.
|
||||
|
||||
@ -106,6 +106,9 @@ struct Vp9UncompressedHeader {
|
||||
size_t tile_cols_log2 = 0; // tile_cols = 1 << tile_cols_log2
|
||||
size_t tile_rows_log2 = 0; // tile_rows = 1 << tile_rows_log2
|
||||
absl::optional<size_t> render_size_offset_bits;
|
||||
// Number of bits from the start of the frame header to where the loop filter
|
||||
// parameters are located.
|
||||
absl::optional<size_t> loop_filter_params_offset_bits;
|
||||
Vp9InterpolationFilter interpolation_filter =
|
||||
Vp9InterpolationFilter::kEightTap;
|
||||
bool allow_high_precision_mv = false;
|
||||
|
||||
@ -56,6 +56,7 @@ TEST(Vp9UncompressedHeaderParserTest, FrameWithSegmentation) {
|
||||
EXPECT_EQ(frame_info->tile_cols_log2, 0u);
|
||||
EXPECT_EQ(frame_info->tile_rows_log2, 0u);
|
||||
EXPECT_EQ(frame_info->render_size_offset_bits, 64u);
|
||||
EXPECT_EQ(frame_info->loop_filter_params_offset_bits, 100u);
|
||||
EXPECT_EQ(frame_info->compressed_header_size, 23u);
|
||||
EXPECT_EQ(frame_info->uncompressed_header_size, 37u);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user