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
operation later, once the data has been provided.

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