Index: media/gpu/vp9_decoder.cc |
diff --git a/media/gpu/vp9_decoder.cc b/media/gpu/vp9_decoder.cc |
index b24f2466846e28485dd17b23372c2a57e0deb302..c75de0d21a7db4c46deb589fb9c06d163d7892e9 100644 |
--- a/media/gpu/vp9_decoder.cc |
+++ b/media/gpu/vp9_decoder.cc |
@@ -110,10 +110,14 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() { |
gfx::Size new_pic_size(curr_frame_hdr_->frame_width, |
curr_frame_hdr_->frame_height); |
+ gfx::Rect new_render_rect(curr_frame_hdr_->render_width, |
+ curr_frame_hdr_->render_height); |
DCHECK(!new_pic_size.IsEmpty()); |
+ DCHECK(!new_render_rect.IsEmpty()); |
- if (new_pic_size != pic_size_) { |
- DVLOG(1) << "New resolution: " << new_pic_size.ToString(); |
+ if (new_pic_size != pic_size_ || new_render_rect != render_rect_) { |
Owen Lin
2017/06/07 06:11:00
Same, we don't care about the visible crop here.
johnylin1
2017/06/07 15:38:37
Done.
|
+ DVLOG(1) << "New resolution: " << new_pic_size.ToString() |
+ << ", New render resolution: " << new_render_rect.ToString(); |
if (!curr_frame_hdr_->IsKeyframe()) { |
// TODO(posciak): This is doable, but requires a few modifications to |
@@ -131,6 +135,7 @@ VP9Decoder::DecodeResult VP9Decoder::Decode() { |
ref_frame = nullptr; |
pic_size_ = new_pic_size; |
+ render_rect_ = new_render_rect; |
return kAllocateNewSurfaces; |
} |
@@ -204,6 +209,10 @@ gfx::Size VP9Decoder::GetPicSize() const { |
return pic_size_; |
} |
+gfx::Rect VP9Decoder::GetVisibleRect() const { |
+ return render_rect_; |
+} |
+ |
size_t VP9Decoder::GetRequiredNumOfPictures() const { |
// kMaxVideoFrames to keep higher level media pipeline populated, +2 for the |
// pictures being parsed and decoded currently. |