MythTV
master
|
#include <libmythtv/mpeg/H2645Parser.h>
Public Types | |
enum | field_type : std::uint8_t { FRAME = 'F', FIELD_TOP = 'T', FIELD_BOTTOM = 'B' } |
enum | NAL_unit_type : std::int8_t { UNKNOWN = -1 } |
enum | SLICE_type : std::uint8_t { SLICE_P = 0, SLICE_B = 1, SLICE_I = 2, SLICE_SP = 3, SLICE_SI = 4, SLICE_P_a = 5, SLICE_B_a = 6, SLICE_I_a = 7, SLICE_SP_a = 8, SLICE_SI_a = 9, SLICE_UNDEF = 10 } |
Public Member Functions | |
H2645Parser (void) | |
H2645Parser (const H2645Parser &rhs) | |
virtual | ~H2645Parser (void) |
virtual uint32_t | addBytes (const uint8_t *bytes, uint32_t byte_count, uint64_t stream_offset)=0 |
virtual void | Reset (void) |
virtual QString | NAL_type_str (int8_t type)=0 |
bool | stateChanged (void) const |
bool | onFrameStart (void) const |
bool | onKeyFrameStart (void) const |
uint | pictureWidth (void) const |
uint | pictureHeight (void) const |
virtual uint | pictureWidthCropped (void) const =0 |
virtual uint | pictureHeightCropped (void) const =0 |
uint | aspectRatio (void) const |
Computes aspect ratio from picture size and sample aspect ratio. More... | |
virtual MythAVRational | getFrameRate () const =0 |
virtual field_type | getFieldType (void) const =0 |
uint64_t | frameAUstreamOffset (void) const |
uint64_t | keyframeAUstreamOffset (void) const |
uint64_t | SPSstreamOffset (void) const |
uint32_t | GetTimeScale (void) const |
uint32_t | GetUnitsInTick (void) const |
SCAN_t | GetScanType (void) const |
Static Public Attributes | |
static constexpr uint16_t | kMaxSliceHeaderSize { 256 } |
Protected Member Functions | |
void | resetRBSP (void) |
bool | fillRBSP (const uint8_t *byteP, uint32_t byte_count, bool found_start_code) |
void | vui_parameters (BitReader &br, bool hevc) |
Static Protected Attributes | |
static constexpr uint8_t | kExtendedSar { 255 } |
Definition at line 39 of file H2645Parser.h.
enum H2645Parser::field_type : std::uint8_t |
Enumerator | |
---|---|
FRAME | |
FIELD_TOP | |
FIELD_BOTTOM |
Definition at line 43 of file H2645Parser.h.
enum H2645Parser::NAL_unit_type : std::int8_t |
Enumerator | |
---|---|
UNKNOWN |
Definition at line 84 of file H2645Parser.h.
enum H2645Parser::SLICE_type : std::uint8_t |
Enumerator | |
---|---|
SLICE_P | |
SLICE_B | |
SLICE_I | |
SLICE_SP | |
SLICE_SI | |
SLICE_P_a | |
SLICE_B_a | |
SLICE_I_a | |
SLICE_SP_a | |
SLICE_SI_a | |
SLICE_UNDEF |
Definition at line 88 of file H2645Parser.h.
H2645Parser::H2645Parser | ( | void | ) |
Definition at line 85 of file H2645Parser.cpp.
H2645Parser::H2645Parser | ( | const H2645Parser & | rhs | ) |
|
inlinevirtual |
Definition at line 51 of file H2645Parser.h.
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
|
virtual |
Reimplemented in HEVCParser, and AVCParser.
Definition at line 92 of file H2645Parser.cpp.
Referenced by ExternalRecorder::PauseAndWait(), MpegRecorder::Reset(), AVCParser::Reset(), HEVCParser::Reset(), V4L2encRecorder::StartEncoding(), and MpegRecorder::StartEncoding().
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
|
inline |
Definition at line 60 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
|
inline |
Definition at line 62 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
|
inline |
Definition at line 63 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
|
inline |
Definition at line 65 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 66 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
Referenced by aspectRatio().
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
Referenced by aspectRatio().
uint H2645Parser::aspectRatio | ( | void | ) | const |
Computes aspect ratio from picture size and sample aspect ratio.
Definition at line 387 of file H2645Parser.cpp.
Referenced by DTVRecorder::FindH2645Keyframes().
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 76 of file H2645Parser.h.
|
inline |
Definition at line 77 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and DTVRecorder::HandleH2645Keyframe().
|
inline |
Definition at line 78 of file H2645Parser.h.
|
inline |
Definition at line 80 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 81 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 82 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
protected |
Definition at line 126 of file H2645Parser.cpp.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), and AVCParser::Reset().
|
protected |
Definition at line 133 of file H2645Parser.cpp.
Referenced by AVCParser::addBytes(), and HEVCParser::addBytes().
Definition at line 214 of file H2645Parser.cpp.
Referenced by AVCParser::decode_SPS(), and HEVCParser::parseSPS().
|
staticconstexpr |
Definition at line 41 of file H2645Parser.h.
Referenced by AVCParser::processRBSP().
|
staticconstexprprotected |
Definition at line 103 of file H2645Parser.h.
Referenced by aspectRatio(), and vui_parameters().
|
protected |
Definition at line 111 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 112 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 113 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 114 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 115 of file H2645Parser.h.
Referenced by AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 116 of file H2645Parser.h.
Referenced by frameAUstreamOffset(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 117 of file H2645Parser.h.
Referenced by keyframeAUstreamOffset(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 118 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 119 of file H2645Parser.h.
Referenced by AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and SPSstreamOffset().
|
protected |
Definition at line 121 of file H2645Parser.h.
Referenced by fillRBSP(), and resetRBSP().
|
protected |
Definition at line 122 of file H2645Parser.h.
Referenced by fillRBSP(), and H2645Parser().
|
protected |
Definition at line 123 of file H2645Parser.h.
Referenced by fillRBSP(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and resetRBSP().
|
protected |
Definition at line 124 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), and Reset().
|
protected |
Definition at line 125 of file H2645Parser.h.
Referenced by AVCParser::frameRate(), AVCParser::getFrameRate(), HEVCParser::getFrameRate(), GetTimeScale(), HEVCParser::parseVPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 126 of file H2645Parser.h.
Referenced by AVCParser::frameRate(), AVCParser::getFrameRate(), HEVCParser::getFrameRate(), GetUnitsInTick(), HEVCParser::parseVPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 128 of file H2645Parser.h.
Referenced by GetScanType(), and HEVCParser::profileTierLevel().
|
protected |
Definition at line 130 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), and Reset().
|
protected |
Definition at line 131 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), and Reset().
|
protected |
Definition at line 132 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 133 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), and Reset().
|
protected |
Definition at line 134 of file H2645Parser.h.
Referenced by aspectRatio(), AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentHeader(), HEVCParser::parseSPS(), pictureHeight(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), and Reset().
|
protected |
Definition at line 135 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentHeader(), HEVCParser::parseSPS(), pictureWidth(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 136 of file H2645Parser.h.
Referenced by aspectRatio(), HEVCParser::parseSPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 137 of file H2645Parser.h.
Referenced by aspectRatio(), HEVCParser::parseSPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 139 of file H2645Parser.h.
Referenced by fillRBSP(), H2645Parser(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and ~H2645Parser().
|
protected |
Definition at line 140 of file H2645Parser.h.
Referenced by aspectRatio(), Reset(), and vui_parameters().
|
protected |
Definition at line 142 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
Definition at line 144 of file H2645Parser.h.
Referenced by HEVCParser::newAU(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and AVCParser::using_I_forKeyframes().
Definition at line 145 of file H2645Parser.h.
Referenced by HEVCParser::parseVPS(), Reset(), and vui_parameters().
Definition at line 146 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and resetRBSP().
Definition at line 147 of file H2645Parser.h.
Referenced by AVCParser::decode_Header(), AVCParser::processRBSP(), and Reset().
Definition at line 148 of file H2645Parser.h.
Referenced by HEVCParser::newAU(), and HEVCParser::processRBSP().
Definition at line 149 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), onFrameStart(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 150 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), onKeyFrameStart(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 151 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentLayer(), HEVCParser::parseSPS(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 152 of file H2645Parser.h.
Referenced by AVCParser::decode_Header(), AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), AVCParser::pictureWidthCropped(), and Reset().
Definition at line 153 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and stateChanged().