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