class H264Decoder
Defined at line 31 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 123 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
void ~H264Decoder ()
Defined at line 139 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
void H264Decoder (const H264Decoder & )
Defined at line 169 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h
H264Decoder & operator= (const H264Decoder & )
Defined at line 170 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h
void SetStream (int32_t id, const DecoderBuffer & decoder)
AcceleratedVideoDecoder implementation.
Defined at line 1562 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
bool Flush ()
Defined at line 844 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
void Reset ()
Defined at line 141 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
gfx::Size GetSarSize ()
Defined at line 186 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.h
DecodeResult Decode ()
Defined at line 1591 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
gfx::Size GetPicSize ()
Defined at line 1887 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
gfx::Rect GetVisibleRect ()
Defined at line 1891 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
VideoCodecProfile GetProfile ()
Defined at line 1895 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
uint8_t GetBitDepth ()
Defined at line 1899 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
size_t GetRequiredNumOfPictures ()
Defined at line 1903 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
bool IsCurrentFrameKeyframe ()
Defined at line 1908 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
size_t GetNumReferenceFrames ()
Defined at line 1912 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 1873 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
void QueuePreparsedNalu (std::unique_ptr<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 1880 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 1971 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc
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 1918 of file ../../src/media/third_party/chromium_media/media/gpu/h264_decoder.cc