OLD | NEW |
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 #ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_SLICE_VIDEO_DECODE_ACCELERATOR_H_ | 5 #ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_SLICE_VIDEO_DECODE_ACCELERATOR_H_ |
6 #define CONTENT_COMMON_GPU_MEDIA_V4L2_SLICE_VIDEO_DECODE_ACCELERATOR_H_ | 6 #define CONTENT_COMMON_GPU_MEDIA_V4L2_SLICE_VIDEO_DECODE_ACCELERATOR_H_ |
7 | 7 |
8 #include <linux/videodev2.h> | 8 #include <linux/videodev2.h> |
9 #include <stddef.h> | 9 #include <stddef.h> |
10 #include <stdint.h> | 10 #include <stdint.h> |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 // BitstreamBuffer currently being processed. | 409 // BitstreamBuffer currently being processed. |
410 std::unique_ptr<BitstreamBufferRef> decoder_current_bitstream_buffer_; | 410 std::unique_ptr<BitstreamBufferRef> decoder_current_bitstream_buffer_; |
411 | 411 |
412 // Queue storing decode surfaces ready to be output as soon as they are | 412 // Queue storing decode surfaces ready to be output as soon as they are |
413 // decoded. The surfaces must be output in order they are queued. | 413 // decoded. The surfaces must be output in order they are queued. |
414 std::queue<scoped_refptr<V4L2DecodeSurface>> decoder_display_queue_; | 414 std::queue<scoped_refptr<V4L2DecodeSurface>> decoder_display_queue_; |
415 | 415 |
416 // Decoder state. | 416 // Decoder state. |
417 State state_; | 417 State state_; |
418 | 418 |
419 Config::OutputMode output_mode_; | 419 // VDA::Config we were Initialize()d with. |
| 420 Config config_; |
420 | 421 |
421 // If any of these are true, we are waiting for the device to finish decoding | 422 // If any of these are true, we are waiting for the device to finish decoding |
422 // all previously-queued frames, so we can finish the flush/reset/surface | 423 // all previously-queued frames, so we can finish the flush/reset/surface |
423 // change flows. These can stack. | 424 // change flows. These can stack. |
424 bool decoder_flushing_; | 425 bool decoder_flushing_; |
425 bool decoder_resetting_; | 426 bool decoder_resetting_; |
426 bool surface_set_change_pending_; | 427 bool surface_set_change_pending_; |
427 | 428 |
428 // Hardware accelerators. | 429 // Hardware accelerators. |
429 // TODO(posciak): Try to have a superclass here if possible. | 430 // TODO(posciak): Try to have a superclass here if possible. |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 | 465 |
465 DISALLOW_COPY_AND_ASSIGN(V4L2SliceVideoDecodeAccelerator); | 466 DISALLOW_COPY_AND_ASSIGN(V4L2SliceVideoDecodeAccelerator); |
466 }; | 467 }; |
467 | 468 |
468 class V4L2H264Picture; | 469 class V4L2H264Picture; |
469 class V4L2VP8Picture; | 470 class V4L2VP8Picture; |
470 | 471 |
471 } // namespace content | 472 } // namespace content |
472 | 473 |
473 #endif // CONTENT_COMMON_GPU_MEDIA_V4L2_SLICE_VIDEO_DECODE_ACCELERATOR_H_ | 474 #endif // CONTENT_COMMON_GPU_MEDIA_V4L2_SLICE_VIDEO_DECODE_ACCELERATOR_H_ |
OLD | NEW |