]> granicus.if.org Git - libvpx/commitdiff
Fix assertion error in simple_encode.cc
authorangiebird <angiebird@google.com>
Mon, 8 Jun 2020 23:46:15 +0000 (16:46 -0700)
committerangiebird <angiebird@google.com>
Mon, 8 Jun 2020 23:46:15 +0000 (16:46 -0700)
Change-Id: I271d11cc35d34d5450a8b56fabcedaf2bb7c6565

vp9/simple_encode.cc

index 9d62d26e1d3db2239cb436ea6fcf503c0a0adb25..bce52e28cab13228ad8b233abde6757791d4543e 100644 (file)
@@ -848,10 +848,10 @@ T *GetVectorData(const std::vector<T> &v) {
 
 static GOP_COMMAND GetGopCommand(const std::vector<int> &gop_map,
                                  int start_show_index) {
-  assert(static_cast<size_t>(start_show_index) < gop_map.size());
-  assert((gop_map[start_show_index] & kGopMapFlagStart) != 0);
   GOP_COMMAND gop_command;
   if (gop_map.size() > 0) {
+    assert(static_cast<size_t>(start_show_index) < gop_map.size());
+    assert((gop_map[start_show_index] & kGopMapFlagStart) != 0);
     int end_show_index = start_show_index + 1;
     // gop_map[end_show_index] & kGopMapFlagStart == 0 means this is
     // the start of a gop.
@@ -1099,7 +1099,8 @@ int SimpleEncode::GetCodingFrameNum() const {
 }
 
 std::vector<int> SimpleEncode::ComputeKeyFrameMap() const {
-  assert(impl_ptr_->first_pass_stats.size() == num_frames_);
+  // The last entry of first_pass_stats is the overall stats.
+  assert(impl_ptr_->first_pass_stats.size() == num_frames_ + 1);
   vpx_rational_t frame_rate =
       make_vpx_rational(frame_rate_num_, frame_rate_den_);
   const VP9EncoderConfig oxcf =