class VP9Accelerator
Defined at line 33 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h
Public Methods
scoped_refptr<VP9Picture> CreateVP9Picture ()
Create a new VP9Picture that the decoder client can use for initial
stages of the decoding process and pass back to this accelerator for
final, accelerated stages of it, or for reference when decoding other
pictures.
When a picture is no longer needed by the decoder, it will just drop
its reference to it, and it may do so at any time.
Note that this may return nullptr if the accelerator is not able to
provide any new pictures at the given time. The decoder must handle this
case and treat it as normal, returning kRanOutOfSurfaces from Decode().
void VP9Accelerator (const VP9Accelerator & )
Defined at line 55 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h
VP9Accelerator & operator= (const VP9Accelerator & )
Defined at line 56 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h
void VP9Accelerator ()
Defined at line 101 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.cc
void ~VP9Accelerator ()
Defined at line 103 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.cc
scoped_refptr<VP9Picture> CreateVP9PictureSecure (uint64_t secure_handle)
|secure_handle| is a reference to the corresponding secure memory when
doing secure decoding on ARM. This is invoked instead of CreateAV1Picture
when doing secure decoding on ARM. Default implementation returns
nullptr.
TODO(jkardatzke): Remove this once we move to the V4L2 flat stateless
decoder and add a field to media::CodecPicture instead.
Defined at line 105 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.cc
Status SubmitDecode (scoped_refptr<VP9Picture>pic,const Vp9SegmentationParams &segm_params,const Vp9LoopFilterParams &lf_params,const Vp9ReferenceFrameVector &reference_frames)
Submit decode for |pic| to be run in accelerator, taking as arguments
information contained in it, as well as current segmentation and loop
filter state in |segm_params| and |lf_params|, respectively, and using
pictures in |ref_pictures| for reference.
Note that returning from this method does not mean that the decode
process is finished, but the caller may drop its references to |pic|
and |ref_pictures| immediately, and the data in |segm_params| and
|lf_params| does not need to remain valid after this method returns.
Return true when successful, false otherwise.
bool OutputPicture (scoped_refptr<VP9Picture> pic)
Schedule output (display) of |pic|.
If `show_existing_hdr` is not nullptr, then it contains the header of
a show_existing_frame frame that requests the output of `pic`.
Note that returning from this method does not mean that |pic| has already
been outputted (displayed), but guarantees that all pictures will be
outputted in the same order as this method was called for them, and that
they are decoded before outputting (assuming SubmitDecode() has been
called for them beforehand). Decoder may drop its references to |pic|
immediately after calling this method.
Return true when successful, false otherwise.
Enumerations
enum class Status
| Name | Value | Comments |
|---|---|---|
| kOk | 0 |
Operation completed successfully. |
| kFail | 1 |
Operation failed. |
| kTryAgain | 2 |
Operation failed because some external data is missing. Retry the same |
Methods may return kTryAgain if they need additional data (provided
independently) in order to proceed. Examples are things like not having
an appropriate key to decode encrypted content. This is not considered an
unrecoverable error, but rather a pause to allow an application to
independently provide the required data. When VP9Decoder::Decode()
is called again, it will attempt to resume processing of the stream
by calling the same method again.
Defined at line 42 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h