class AcceleratedVideoDecoder

Defined at line 22 of file ../../src/media/third_party/chromium_media/media/gpu/accelerated_video_decoder.h

An AcceleratedVideoDecoder is a video decoder that requires support from an

external accelerator (typically a hardware accelerator) to partially offload

the decode process after parsing stream headers, and performing reference

frame and state management.

Public Members

static const size_t kVPxMaxNumOfSizeChangeFailures

Public Methods

void AcceleratedVideoDecoder ()

Defined at line 24 of file ../../src/media/third_party/chromium_media/media/gpu/accelerated_video_decoder.h

void AcceleratedVideoDecoder (const AcceleratedVideoDecoder & )

Defined at line 26 of file ../../src/media/third_party/chromium_media/media/gpu/accelerated_video_decoder.h

void SetStream (int32_t id, const DecoderBuffer & decoder_buffer)

Set the buffer owned by |decoder_buffer| as the current source of encoded

stream data. AcceleratedVideoDecoder doesn't have an ownership of the

buffer. |decoder_buffer| must be kept alive until Decode() returns

kRanOutOfStreamData. Pictures produced as a result of this call should be

assigned the passed stream |id|.

bool Flush ()

Have the decoder flush its state and trigger output of all previously

decoded surfaces. Return false on failure.

void Reset ()

Stop (pause) decoding, discarding all remaining inputs and outputs,

but do not flush decoder state, so that playback can be resumed later,

possibly from a different location.

To be called during decoding.

DecodeResult Decode ()

Try to decode more of the stream, returning decoded frames asynchronously.

Return when more stream is needed, when we run out of free surfaces, when

we need a new set of them, or when an error occurs.

gfx::Size GetPicSize ()

Return dimensions/visible rectangle/profile/bit depth/required number of

pictures that client should be ready to provide for the decoder to function

properly (of which up to GetNumReferenceFrames() might be needed for

internal decoding). To be used after Decode() returns kConfigChange.

gfx::Rect GetVisibleRect ()
VideoCodecProfile GetProfile ()
uint8_t GetBitDepth ()
size_t GetRequiredNumOfPictures ()
size_t GetNumReferenceFrames ()
bool IsCurrentFrameKeyframe ()

TODO(https://fxbug.dev/42060469): Exposes if kConfigChange was caused by a keyframe

AcceleratedVideoDecoder & operator= (const AcceleratedVideoDecoder & )

Defined at line 27 of file ../../src/media/third_party/chromium_media/media/gpu/accelerated_video_decoder.h

void ~AcceleratedVideoDecoder ()

Defined at line 29 of file ../../src/media/third_party/chromium_media/media/gpu/accelerated_video_decoder.h

Enumerations

enum DecodeResult
Name Value
kDecodeError 0
kConfigChange 1
kRanOutOfStreamData 2
kRanOutOfSurfaces 3
kNeedContextUpdate 4
kTryAgain 5

Defined at line 48 of file ../../src/media/third_party/chromium_media/media/gpu/accelerated_video_decoder.h