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

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

Issue 1816203003: Add an additional VDA::Flush() mode to return all allocated buffers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
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 #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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698