|
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 38 of file H2645Parser.h.
| enum H2645Parser::field_type : std::uint8_t |
| Enumerator | |
|---|---|
| FRAME | |
| FIELD_TOP | |
| FIELD_BOTTOM | |
Definition at line 42 of file H2645Parser.h.
| enum H2645Parser::NAL_unit_type : std::int8_t |
| Enumerator | |
|---|---|
| UNKNOWN | |
Definition at line 83 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 87 of file H2645Parser.h.
| H2645Parser::H2645Parser | ( | void | ) |
Definition at line 85 of file H2645Parser.cpp.
| H2645Parser::H2645Parser | ( | const H2645Parser & | rhs | ) |
|
inlinevirtual |
Definition at line 50 of file H2645Parser.h.
|
pure virtual |
Implemented in AVCParser, and HEVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
| 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().
|
protected |
Definition at line 133 of file H2645Parser.cpp.
Referenced by AVCParser::addBytes(), and HEVCParser::addBytes().
|
inline |
Definition at line 75 of file H2645Parser.h.
|
pure virtual |
Implemented in AVCParser, and HEVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
|
pure virtual |
Implemented in AVCParser, and HEVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 81 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 79 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 80 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 76 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and DTVRecorder::HandleH2645Keyframe().
|
pure virtual |
Implemented in AVCParser, and HEVCParser.
|
inline |
Definition at line 61 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 65 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
pure virtual |
Implemented in AVCParser, and HEVCParser.
Referenced by aspectRatio().
|
inline |
Definition at line 64 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
pure virtual |
Implemented in AVCParser, and HEVCParser.
Referenced by aspectRatio().
|
virtual |
Reimplemented in AVCParser, and HEVCParser.
Definition at line 92 of file H2645Parser.cpp.
Referenced by ExternalRecorder::PauseAndWait(), AVCParser::Reset(), HEVCParser::Reset(), MpegRecorder::Reset(), MpegRecorder::StartEncoding(), and V4L2encRecorder::StartEncoding().
|
protected |
Definition at line 126 of file H2645Parser.cpp.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), and AVCParser::Reset().
|
inline |
Definition at line 77 of file H2645Parser.h.
|
inline |
Definition at line 59 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
Definition at line 214 of file H2645Parser.cpp.
Referenced by AVCParser::decode_SPS(), and HEVCParser::parseSPS().
|
staticconstexprprotected |
Definition at line 102 of file H2645Parser.h.
Referenced by aspectRatio(), and vui_parameters().
|
staticconstexpr |
Definition at line 40 of file H2645Parser.h.
Referenced by AVCParser::processRBSP().
|
protected |
Definition at line 139 of file H2645Parser.h.
Referenced by aspectRatio(), Reset(), and vui_parameters().
|
protected |
Definition at line 114 of file H2645Parser.h.
Referenced by AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and AVCParser::set_AU_pending().
Definition at line 143 of file H2645Parser.h.
Referenced by AVCParser::found_AU(), HEVCParser::newAU(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and AVCParser::set_AU_pending().
|
protected |
Definition at line 141 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 120 of file H2645Parser.h.
Referenced by fillRBSP(), and resetRBSP().
Definition at line 144 of file H2645Parser.h.
Referenced by HEVCParser::parseVPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 110 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 129 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), and Reset().
|
protected |
Definition at line 130 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), and Reset().
|
protected |
Definition at line 131 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 132 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), and Reset().
|
protected |
Definition at line 115 of file H2645Parser.h.
Referenced by frameAUstreamOffset(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 145 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and resetRBSP().
Definition at line 146 of file H2645Parser.h.
Referenced by AVCParser::decode_Header(), AVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 111 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 116 of file H2645Parser.h.
Referenced by keyframeAUstreamOffset(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 147 of file H2645Parser.h.
Referenced by HEVCParser::newAU(), and HEVCParser::processRBSP().
Definition at line 148 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), onFrameStart(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 149 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), onKeyFrameStart(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 133 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 134 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentHeader(), HEVCParser::parseSPS(), pictureWidth(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 117 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and AVCParser::set_AU_pending().
|
protected |
Definition at line 138 of file H2645Parser.h.
Referenced by fillRBSP(), H2645Parser(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and ~H2645Parser().
|
protected |
Definition at line 121 of file H2645Parser.h.
Referenced by fillRBSP(), and H2645Parser().
|
protected |
Definition at line 122 of file H2645Parser.h.
Referenced by fillRBSP(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and resetRBSP().
|
protected |
Definition at line 135 of file H2645Parser.h.
Referenced by aspectRatio(), HEVCParser::parseSPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 136 of file H2645Parser.h.
Referenced by aspectRatio(), HEVCParser::parseSPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 127 of file H2645Parser.h.
Referenced by GetScanType(), and HEVCParser::profileTierLevel().
Definition at line 150 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentLayer(), HEVCParser::parseSPS(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), AVCParser::reset_SPS(), and AVCParser::seen_SPS().
Definition at line 151 of file H2645Parser.h.
Referenced by AVCParser::decode_Header(), AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), AVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 118 of file H2645Parser.h.
Referenced by AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and SPSstreamOffset().
Definition at line 152 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and stateChanged().
|
protected |
Definition at line 123 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), and Reset().
|
protected |
Definition at line 124 of file H2645Parser.h.
Referenced by AVCParser::frameRate(), AVCParser::getFrameRate(), HEVCParser::getFrameRate(), GetTimeScale(), HEVCParser::parseVPS(), Reset(), and vui_parameters().
|
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 125 of file H2645Parser.h.
Referenced by AVCParser::frameRate(), AVCParser::getFrameRate(), HEVCParser::getFrameRate(), GetUnitsInTick(), HEVCParser::parseVPS(), Reset(), and vui_parameters().