| @@ -573,6 +573,9 @@ static void SetGroupOfPicture(int first_is_key_frame, int use_alt_ref, · 572 unmodified lines |
| 573 | 573 | } |
| 574 | 574 | } |
| 575 | 575 | |
| 576 | +// Gets group of picture information from VP9's decision, and update |
| 577 | +// |group_of_picture| accordingly. |
| 578 | +// This is called at the starting of encoding of each group of picture. |
| 576 | 579 | static void UpdateGroupOfPicture(const VP9_COMP *cpi, int start_coding_index, |
| 577 | 580 | GroupOfPicture *group_of_picture) { |
| 578 | 581 | int first_is_key_frame; |
| @@ -601,6 +604,7 @@ SimpleEncode::SimpleEncode(int frame_width, int frame_height, · 22 unmodified lines |
| 601 | 604 | num_frames_ = num_frames; |
| 602 | 605 | frame_coding_index_ = 0; |
| 603 | 606 | // TODO(angirbid): Should we keep a file pointer here or keep the file_path? |
| 607 | + assert(infile_path != nullptr); |
| 604 | 608 | in_file_ = fopen(infile_path, "r"); |
| 605 | 609 | if (outfile_path != nullptr) { |
| 606 | 610 | out_file_ = fopen(outfile_path, "w"); |
| @@ -687,6 +691,12 @@ std::vector<std::vector<double>> SimpleEncode::ObserveFirstPassStats() { · 80 unmodified lines |
| 687 | 691 | return output_stats; |
| 688 | 692 | } |
| 689 | 693 | |
| 694 | +void SimpleEncode::SetExternalGroupOfPicture(const bool use_external_arf, |
| 695 | + const int *external_arf_indexes) { |
| 696 | + impl_ptr_->cpi->encode_command.use_external_arf = use_external_arf; |
| 697 | + impl_ptr_->cpi->encode_command.external_arf_indexes = external_arf_indexes; |
| 698 | +} |
| 699 | + |
| 690 | 700 | void SimpleEncode::StartEncode() { |
| 691 | 701 | assert(impl_ptr_->first_pass_stats.size() > 0); |
| 692 | 702 | vpx_rational_t frame_rate = |