ref: da3e3ecc7bd8f1a749a9f8b91f321fec055e3153
parent: a6238a1085a6543c8a79bd1c9b9b8456d5e04f4b
author: angiebird <angiebird@google.com>
date: Thu Feb 20 11:35:30 EST 2020
Consistency test for GroupOfPicture Make sure frame_type, show_idx and coding_index in GroupOfPicture match the results in EncodeFrameInfo. Change-Id: I3b477a03b5efd651c2d174e7146a4cd4f5551604
--- a/test/simple_encode_test.cc
+++ b/test/simple_encode_test.cc
@@ -73,25 +73,27 @@
simple_encode.StartEncode();
size_t total_data_bit_size = 0;
int coded_show_frame_count = 0;
- int coded_frame_index = 0;
+ int frame_coding_index = 0;
while (coded_show_frame_count < num_frames) {
const GroupOfPicture group_of_picture =
simple_encode.ObserveGroupOfPicture();
- for (size_t i = 0; i < group_of_picture.encode_frame_list.size(); ++i) {
+ const std::vector<EncodeFrameInfo> &encode_frame_list =
+ group_of_picture.encode_frame_list;
+ for (size_t group_index = 0; group_index < encode_frame_list.size();
+ ++group_index) {
EncodeFrameResult encode_frame_result;
simple_encode.EncodeFrame(&encode_frame_result);
- if (coded_frame_index == 0) {
- EXPECT_EQ(encode_frame_result.show_idx, 0);
- EXPECT_EQ(encode_frame_result.frame_type, kKeyFrame)
- << "The first coding frame should be a key frame";
- }
- EXPECT_GE(encode_frame_result.show_idx, 0);
- EXPECT_LT(encode_frame_result.show_idx, num_frames);
+ EXPECT_EQ(encode_frame_result.show_idx,
+ encode_frame_list[group_index].show_idx);
+ EXPECT_EQ(encode_frame_result.frame_type,
+ encode_frame_list[group_index].frame_type);
+ EXPECT_EQ(encode_frame_list[group_index].coding_index,
+ frame_coding_index);
EXPECT_GE(encode_frame_result.psnr, 34)
<< "The psnr is supposed to be greater than 34 given the "
"target_bitrate 1000 kbps";
total_data_bit_size += encode_frame_result.coding_data_bit_size;
- ++coded_frame_index;
+ ++frame_coding_index;
}
coded_show_frame_count += group_of_picture.show_frame_count;
}