| Index: media/filters/vp9_uncompressed_header_parser.cc
|
| diff --git a/media/filters/vp9_uncompressed_header_parser.cc b/media/filters/vp9_uncompressed_header_parser.cc
|
| index 2e078992057c08d23f76f157e855aa941ebf5996..43e19b98fdab3cf70acb549654ae3bb48854a69b 100644
|
| --- a/media/filters/vp9_uncompressed_header_parser.cc
|
| +++ b/media/filters/vp9_uncompressed_header_parser.cc
|
| @@ -744,7 +744,7 @@ void Vp9UncompressedHeaderParser::SetupPastIndependence(Vp9FrameHeader* fhdr) {
|
| memset(&context_->segmentation, 0, sizeof(context_->segmentation));
|
| ResetLoopfilter();
|
| fhdr->frame_context = kVp9DefaultFrameContext;
|
| - DCHECK(Vp9FrameContextManager::IsValidFrameContext(fhdr->frame_context));
|
| + DCHECK(Vp9FrameContext::IsValid(fhdr->frame_context));
|
| }
|
|
|
| // 6.2.8 Loop filter params syntax
|
| @@ -1035,21 +1035,18 @@ bool Vp9UncompressedHeaderParser::Parse(const uint8_t* stream,
|
| fhdr->frame_parallel_decoding_mode = reader_.ReadBool();
|
| }
|
|
|
| - static_assert(
|
| - arraysize(context_->frame_context_managers) == (1 << 2),
|
| - "bits of frame_context_idx doesn't match size of frame_context_managers");
|
| fhdr->frame_context_idx_to_save_probs = fhdr->frame_context_idx =
|
| - reader_.ReadLiteral(2);
|
| + reader_.ReadLiteral(kVp9NumFrameContextsLog2);
|
|
|
| if (fhdr->IsIntra()) {
|
| SetupPastIndependence(fhdr);
|
| if (fhdr->IsKeyframe() || fhdr->error_resilient_mode ||
|
| fhdr->reset_frame_context == 3) {
|
| - for (auto& frame_context_manage : context_->frame_context_managers)
|
| - frame_context_manage.Update(fhdr->frame_context);
|
| + for (size_t i = 0; i < kVp9NumFrameContexts; ++i)
|
| + context_->UpdateFrameContext(i, fhdr->frame_context);
|
| } else if (fhdr->reset_frame_context == 2) {
|
| - context_->frame_context_managers[fhdr->frame_context_idx].Update(
|
| - fhdr->frame_context);
|
| + context_->UpdateFrameContext(fhdr->frame_context_idx,
|
| + fhdr->frame_context);
|
| }
|
| fhdr->frame_context_idx = 0;
|
| }
|
|
|