class VP9Accelerator

Defined at line 36 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h

Public Methods

void VP9Accelerator (const VP9Accelerator & )

Defined at line 58 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h

VP9Accelerator & operator= (const VP9Accelerator & )

Defined at line 59 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h

void VP9Accelerator ()

Defined at line 93 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.cc

void ~VP9Accelerator ()

Defined at line 95 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.cc

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().

Status SubmitDecode (scoped_refptr<VP9Picture> pic, const Vp9SegmentationParams & segm_params, const Vp9LoopFilterParams & lf_params, const Vp9ReferenceFrameVector & reference_frames, const base::OnceClosure done_cb)

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.

If done_cb_ is not null, it will be run once decode is done in hardware.

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|.

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.

bool NeedsCompressedHeaderParsed ()

Return true if the accelerator requires us to provide the compressed

header fully parsed.

bool GetFrameContext (scoped_refptr<VP9Picture> pic, Vp9FrameContext * frame_ctx)

Set |frame_ctx| to the state after decoding |pic|, returning true on

success, false otherwise.

bool SupportsContextProbabilityReadback ()

VP9Parser can update the context probabilities or can query the driver

to get the updated numbers. By default drivers don't support it, and in

particular it's true for legacy (unstable) V4L2 API versions.

Defined at line 97 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.cc

Enumerations

enum Status
Name Value
kOk 0
kFail 1
kTryAgain 2

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 45 of file ../../src/media/third_party/chromium_media/media/gpu/vp9_decoder.h