OLD | NEW |
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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 H264Picture::Field prev_ref_field_; | 267 H264Picture::Field prev_ref_field_; |
268 | 268 |
269 // Currently active SPS and PPS. | 269 // Currently active SPS and PPS. |
270 int curr_sps_id_; | 270 int curr_sps_id_; |
271 int curr_pps_id_; | 271 int curr_pps_id_; |
272 | 272 |
273 // Output picture size. | 273 // Output picture size. |
274 int pic_width_; | 274 int pic_width_; |
275 int pic_height_; | 275 int pic_height_; |
276 | 276 |
277 // Data queued up for HW decoder, to be commited on next HW decode. | 277 // Data queued up for HW decoder, to be committed on next HW decode. |
278 std::queue<VABufferID> pending_slice_bufs_; | 278 std::queue<VABufferID> pending_slice_bufs_; |
279 std::queue<VABufferID> pending_va_bufs_; | 279 std::queue<VABufferID> pending_va_bufs_; |
280 | 280 |
281 // Manages binding of a client-provided output buffer (texture) to VASurface. | 281 // Manages binding of a client-provided output buffer (texture) to VASurface. |
282 class DecodeSurface; | 282 class DecodeSurface; |
283 | 283 |
284 // Maps output_buffer_id to a decode surface. Used to look up surfaces | 284 // Maps output_buffer_id to a decode surface. Used to look up surfaces |
285 // on requests from the client. | 285 // on requests from the client. |
286 typedef std::map<int32, linked_ptr<DecodeSurface> > DecodeSurfaces; | 286 typedef std::map<int32, linked_ptr<DecodeSurface> > DecodeSurfaces; |
287 DecodeSurfaces decode_surfaces_; | 287 DecodeSurfaces decode_surfaces_; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 | 328 |
329 // Called by decoder when a picture should be outputted. | 329 // Called by decoder when a picture should be outputted. |
330 OutputPicCB output_pic_cb_; | 330 OutputPicCB output_pic_cb_; |
331 | 331 |
332 DISALLOW_COPY_AND_ASSIGN(VaapiH264Decoder); | 332 DISALLOW_COPY_AND_ASSIGN(VaapiH264Decoder); |
333 }; | 333 }; |
334 | 334 |
335 } // namespace content | 335 } // namespace content |
336 | 336 |
337 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_ | 337 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_H264_DECODER_H_ |
OLD | NEW |