Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(684)

Side by Side Diff: media/gpu/vp9_decoder.cc

Issue 2926593002: V4L2SVDA/VAAPIVDA: use visible size from decoder and pass to client (Closed)
Patch Set: V4L2SVDA/VAAPIVDA: use visible size from decoder and pass to client Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/gpu/vp8_picture.h ('k') | media/gpu/vp9_picture.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/gpu/vp9_decoder.h" 5 #include "media/gpu/vp9_decoder.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 ref_frame = nullptr; 131 ref_frame = nullptr;
132 132
133 pic_size_ = new_pic_size; 133 pic_size_ = new_pic_size;
134 return kAllocateNewSurfaces; 134 return kAllocateNewSurfaces;
135 } 135 }
136 136
137 scoped_refptr<VP9Picture> pic = accelerator_->CreateVP9Picture(); 137 scoped_refptr<VP9Picture> pic = accelerator_->CreateVP9Picture();
138 if (!pic) 138 if (!pic)
139 return kRanOutOfSurfaces; 139 return kRanOutOfSurfaces;
140 140
141 gfx::Rect new_render_rect(curr_frame_hdr_->render_width,
142 curr_frame_hdr_->render_height);
143 // For safety, check the validity of render size or leave it as (0, 0).
144 if (!gfx::Rect(pic_size_).Contains(new_render_rect)) {
145 DVLOG(1) << "Render size exceeds picture size. render size: "
146 << new_render_rect.ToString()
Owen Lin 2017/06/16 09:07:33 How about DVLOG(2) since we don't failed on this c
johnylin1 2017/06/16 11:43:53 Done.
147 << ", picture size: " << pic_size_.ToString();
148 new_render_rect = gfx::Rect();
149 }
150 DVLOG(2) << "Render resolution: " << new_render_rect.ToString();
151
152 pic->visible_rect = new_render_rect;
141 pic->frame_hdr.reset(curr_frame_hdr_.release()); 153 pic->frame_hdr.reset(curr_frame_hdr_.release());
142 154
143 if (!DecodeAndOutputPicture(pic)) { 155 if (!DecodeAndOutputPicture(pic)) {
144 SetError(); 156 SetError();
145 return kDecodeError; 157 return kDecodeError;
146 } 158 }
147 } 159 }
148 } 160 }
149 161
150 void VP9Decoder::RefreshReferenceFrames(const scoped_refptr<VP9Picture>& pic) { 162 void VP9Decoder::RefreshReferenceFrames(const scoped_refptr<VP9Picture>& pic) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 return pic_size_; 216 return pic_size_;
205 } 217 }
206 218
207 size_t VP9Decoder::GetRequiredNumOfPictures() const { 219 size_t VP9Decoder::GetRequiredNumOfPictures() const {
208 // kMaxVideoFrames to keep higher level media pipeline populated, +2 for the 220 // kMaxVideoFrames to keep higher level media pipeline populated, +2 for the
209 // pictures being parsed and decoded currently. 221 // pictures being parsed and decoded currently.
210 return limits::kMaxVideoFrames + kVp9NumRefFrames + 2; 222 return limits::kMaxVideoFrames + kVp9NumRefFrames + 2;
211 } 223 }
212 224
213 } // namespace media 225 } // namespace media
OLDNEW
« no previous file with comments | « media/gpu/vp8_picture.h ('k') | media/gpu/vp9_picture.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698