class H264Decoder

Defined at line 32 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h

Clients of this class are expected to pass H264 Annex-B byte stream

and are expected to provide an implementation of H264Accelerator for

offloading final steps of the decoding process.

This class must be created, called and destroyed on a single thread, and

does nothing internally on any other thread.

Public Methods

void H264Decoder (std::unique_ptr<H264Accelerator> accelerator, VideoCodecProfile profile, const VideoColorSpace & container_color_space)

Defined at line 144 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void ~H264Decoder ()

Defined at line 161 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void Reset ()

Defined at line 163 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void H264Decoder (const H264Decoder & )

Defined at line 194 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h

H264Decoder & operator= (const H264Decoder & )

Defined at line 195 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h

gfx::Size GetSarSize ()

Defined at line 213 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h

void SetStream (int32_t id, scoped_refptr<DecoderBuffer> decoder)

AcceleratedVideoDecoder implementation.

Defined at line 1759 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

bool Flush ()

Defined at line 871 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

DecodeResult Decode ()

Defined at line 1791 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

gfx::Size GetPicSize ()

Defined at line 2139 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

gfx::Rect GetVisibleRect ()

Defined at line 2143 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

VideoCodecProfile GetProfile ()

Defined at line 2147 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

uint8_t GetBitDepth ()

Defined at line 2151 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

VideoChromaSampling GetChromaSampling ()

Defined at line 2155 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

VideoColorSpace GetVideoColorSpace ()

Defined at line 2159 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

size_t GetRequiredNumOfPictures ()

Defined at line 2163 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

bool IsCurrentFrameKeyframe ()

Defined at line 2168 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

size_t GetNumReferenceFrames ()

Defined at line 2172 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void SetStreamId (int32_t id)

If using QueuePreparsedNalu(), before Decode(), call SetStreamId() to

inform the decoder what id to assign to frames that correspond to

(logically "generated from") the queued NALUs. This takes the place of the

first parameter to SetStream() (as SetStream() is not used when using

QueuePreparsedNalu()).

Defined at line 2125 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void QueuePreparsedNalu (H264NALU nalu)

Pre-parsed NALUs are used when the HW can parse, but the HW needs help with

DPB management. This method must be called before the first call to

Decode(), and SetStream() must not be called. After this method is called,

the H264Decoder instance is in nalu_injection_mode_, and stays in that mode

until destruction.

When Decode() is called, any pre-parsed NALUs are processed as if they had

been parsed from the bitstream, and calls to the accelerator will occur as

normal except without any stream data.

The caller may queue a kAUD and call Decode() when the caller is ready for

SubmitDecode() to be called. The caller may have already finished the

underlying picture decode and just needs to bring H264Decoder into sync, or

the caller may decode during SubmitDecode(). Either way, after

SubmitDecode() returns some OutputPicture() calls may occur. As an

alternative to queueing a kAUD, the caller may trigger SubmitDecode() by

instead queuing and Decode()ing a new SPS, new PPS, or a slice of a new

picture.

Defined at line 2132 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

bool IsNewPrimaryCodedPicture (const H264Picture * curr_pic, int curr_pps_id, const H264SPS * sps, const H264SliceHeader & slice_hdr)

Return true if we need to start a new picture.

Defined at line 2225 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void StoreDPBPicForTesting (scoped_refptr<H264Picture> p)

Defined at line 237 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

bool ModifyReferencePicListsForTesting (const H264SliceHeader * slice_hdr, H264Picture::Vector * ref_pic_list0, H264Picture::Vector * ref_pic_list1)

Defined at line 242 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

void SetCurrPicForTesting (scoped_refptr<H264Picture> pic)

Defined at line 253 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h

bool FillH264PictureFromSliceHeader (const H264SPS * sps, const H264SliceHeader & slice_hdr, H264Picture * pic)

Fill a H264Picture in |pic| from given |sps| and |slice_hdr|. Return false

when there is an error.

Defined at line 2178 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc

Records