Showing the changes to test (4 of 10 files). Show all
Unified · Split
| @@ -0,0 +1,36 @@ | ||
| 1 | +#include <memory> | |
| 2 | +#include <vector> | |
| 3 | +#include "third_party/googletest/src/include/gtest/gtest.h" | |
| 4 | +#include "vp9/simple_encode.h" | |
| 5 | + | |
| 6 | +namespace { | |
| 7 | + | |
| 8 | +TEST(SimpleEncode, ComputeFirstPassStats) { | |
| 9 | + int w = 352; | |
| 10 | + int h = 288; | |
| 11 | + int frame_rate_num = 30; | |
| 12 | + int frame_rate_den = 1; | |
| 13 | + int target_bitrate = 200; | |
| 14 | + int num_frames = 17; | |
| 15 | + // TODO(angiebird): Figure out how to upload test video to our codebase | |
| 16 | + FILE *file = fopen("bus_352x288_420_f20_b8.yuv", "r"); | |
| 17 | + SimpleEncode simple_encode(w, h, frame_rate_num, frame_rate_den, | |
| 18 | + target_bitrate, num_frames, file); | |
| 19 | + simple_encode.ComputeFirstPassStats(); | |
| 20 | + std::vector<std::vector<double>> frame_stats = | |
| 21 | + simple_encode.ObserveFirstPassStats(); | |
| 22 | + EXPECT_EQ(frame_stats.size(), static_cast<size_t>(num_frames)); | |
| 23 | + size_t data_num = frame_stats[0].size(); | |
| 24 | + // Read ObserveFirstPassStats before changing FIRSTPASS_STATS. | |
| 25 | + EXPECT_EQ(data_num, static_cast<size_t>(25)); | |
| 26 | + for (size_t i = 0; i < frame_stats.size(); ++i) { | |
| 27 | + EXPECT_EQ(frame_stats[i].size(), data_num); | |
| 28 | + // FIRSTPASS_STATS's first element is frame | |
| 29 | + EXPECT_EQ(frame_stats[i][0], i); | |
| 30 | + // FIRSTPASS_STATS's last element is count, and the count is 1 for single | |
| 31 | + // frame stats | |
| 32 | + EXPECT_EQ(frame_stats[i][data_num - 1], 1); | |
| 33 | + } | |
| 34 | +} | |
| 35 | + | |
| 36 | +} // namespace | |
| @@ -26,6 +26,7 @@ LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += noisy_clip_640_360.y4m · 25 unmodified lines | ||
| 26 | 26 | LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += rush_hour_444.y4m |
| 27 | 27 | LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += screendata.y4m |
| 28 | 28 | LIBVPX_TEST_DATA-$(CONFIG_VP9_ENCODER) += niklas_640_480_30.yuv |
| 29 | +LIBVPX_TEST_DATA-$(CONFIG_RATE_CTRL) += bus_352x288_420_f20_b8.yuv | |
| 29 | 30 | |
| 30 | 31 | # Test vectors |
| 31 | 32 | LIBVPX_TEST_DATA-$(CONFIG_VP8_DECODER) += vp80-00-comprehensive-001.ivf |
| @@ -1,3 +1,4 @@ | ||
| 1 | +3eaf216d9fc8b4b9bb8c3956311f49a85974806c *bus_352x288_420_f20_b8.yuv | |
| 1 | 2 | d5dfb0151c9051f8c85999255645d7a23916d3c0 *hantro_collage_w352h288.yuv |
| 2 | 3 | b87815bf86020c592ccc7a846ba2e28ec8043902 *hantro_odd.yuv |
| 3 | 4 | 76024eb753cdac6a5e5703aaea189d35c3c30ac7 *invalid-vp90-2-00-quantizer-00.webm.ivf.s5861_r01-05_b6-.v2.ivf |
| @@ -58,6 +58,7 @@ LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_test.cc · 57 unmodified lines | ||
| 58 | 58 | LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_test.h |
| 59 | 59 | LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_end_to_end_test.cc |
| 60 | 60 | LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += timestamp_test.cc |
| 61 | +LIBVPX_TEST_SRCS-$(CONFIG_RATE_CTRL) += simple_encode_test.cc | |
| 61 | 62 | |
| 62 | 63 | LIBVPX_TEST_SRCS-yes += decode_test_driver.cc |
| 63 | 64 | LIBVPX_TEST_SRCS-yes += decode_test_driver.h |