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

Side by Side Diff: content/common/gpu/media/vaapi_h264_decoder.h

Issue 177583002: VAVDA: Switch to using max_num_reorder_frames. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This file contains an implementation of a class that provides H264 decode 5 // This file contains an implementation of a class that provides H264 decode
6 // support for use with VAAPI hardware video decode acceleration on Intel 6 // support for use with VAAPI hardware video decode acceleration on Intel
7 // systems. 7 // systems.
8 8
9 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_ 9 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_
10 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_ 10 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 bool InitCurrPicture(media::H264SliceHeader* slice_hdr); 136 bool InitCurrPicture(media::H264SliceHeader* slice_hdr);
137 137
138 // Calculate picture order counts for the new picture 138 // Calculate picture order counts for the new picture
139 // on initialization of a new frame (see spec). 139 // on initialization of a new frame (see spec).
140 bool CalculatePicOrderCounts(media::H264SliceHeader* slice_hdr); 140 bool CalculatePicOrderCounts(media::H264SliceHeader* slice_hdr);
141 141
142 // Update PicNum values in pictures stored in DPB on creation of new 142 // Update PicNum values in pictures stored in DPB on creation of new
143 // frame (see spec). 143 // frame (see spec).
144 void UpdatePicNums(); 144 void UpdatePicNums();
145 145
146 bool UpdateMaxNumReorderFrames(const media::H264SPS* sps);
147
146 // Prepare reference picture lists (ref_pic_list[01]_). 148 // Prepare reference picture lists (ref_pic_list[01]_).
147 bool PrepareRefPicLists(media::H264SliceHeader* slice_hdr); 149 bool PrepareRefPicLists(media::H264SliceHeader* slice_hdr);
148 150
149 // Construct initial reference picture lists for use in decoding of 151 // Construct initial reference picture lists for use in decoding of
150 // P and B pictures (see 8.2.4 in spec). 152 // P and B pictures (see 8.2.4 in spec).
151 void ConstructReferencePicListsP(media::H264SliceHeader* slice_hdr); 153 void ConstructReferencePicListsP(media::H264SliceHeader* slice_hdr);
152 void ConstructReferencePicListsB(media::H264SliceHeader* slice_hdr); 154 void ConstructReferencePicListsB(media::H264SliceHeader* slice_hdr);
153 155
154 // Helper functions for reference list construction, per spec. 156 // Helper functions for reference list construction, per spec.
155 int PicNumF(H264Picture *pic); 157 int PicNumF(H264Picture *pic);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 // Reference picture lists, constructed for each picture before decoding. 236 // Reference picture lists, constructed for each picture before decoding.
235 // Those lists are not owners of the pointers (DPB is). 237 // Those lists are not owners of the pointers (DPB is).
236 H264Picture::PtrVector ref_pic_list0_; 238 H264Picture::PtrVector ref_pic_list0_;
237 H264Picture::PtrVector ref_pic_list1_; 239 H264Picture::PtrVector ref_pic_list1_;
238 240
239 // Global state values, needed in decoding. See spec. 241 // Global state values, needed in decoding. See spec.
240 int max_pic_order_cnt_lsb_; 242 int max_pic_order_cnt_lsb_;
241 int max_frame_num_; 243 int max_frame_num_;
242 int max_pic_num_; 244 int max_pic_num_;
243 int max_long_term_frame_idx_; 245 int max_long_term_frame_idx_;
246 size_t max_num_reorder_frames_;
244 247
245 int frame_num_; 248 int frame_num_;
246 int prev_frame_num_; 249 int prev_frame_num_;
247 int prev_frame_num_offset_; 250 int prev_frame_num_offset_;
248 bool prev_has_memmgmnt5_; 251 bool prev_has_memmgmnt5_;
249 252
250 // Values related to previously decoded reference picture. 253 // Values related to previously decoded reference picture.
251 bool prev_ref_has_memmgmnt5_; 254 bool prev_ref_has_memmgmnt5_;
252 int prev_ref_top_field_order_cnt_; 255 int prev_ref_top_field_order_cnt_;
253 int prev_ref_pic_order_cnt_msb_; 256 int prev_ref_pic_order_cnt_msb_;
(...skipping 29 matching lines...) Expand all
283 286
284 // PicOrderCount of the previously outputted frame. 287 // PicOrderCount of the previously outputted frame.
285 int last_output_poc_; 288 int last_output_poc_;
286 289
287 DISALLOW_COPY_AND_ASSIGN(VaapiH264Decoder); 290 DISALLOW_COPY_AND_ASSIGN(VaapiH264Decoder);
288 }; 291 };
289 292
290 } // namespace content 293 } // namespace content
291 294
292 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_ 295 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_
OLDNEW
« no previous file with comments | « no previous file | content/common/gpu/media/vaapi_h264_decoder.cc » ('j') | media/filters/h264_parser.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698