MythTV
master
|
#include <H2645Parser.h>
Public Types | |
enum | { MAX_SLICE_HEADER_SIZE = 256 } |
enum | field_type { FRAME = 'F', FIELD_TOP = 'T', FIELD_BOTTOM = 'B' } |
enum | NAL_unit_type { UNKNOWN = -1 } |
enum | SLICE_type { 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 void | getFrameRate (FrameRate &result) 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 |
Protected Types | |
enum | constants { EXTENDED_SAR = 255 } |
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) |
Definition at line 39 of file H2645Parser.h.
anonymous enum |
Enumerator | |
---|---|
MAX_SLICE_HEADER_SIZE |
Definition at line 41 of file H2645Parser.h.
Enumerator | |
---|---|
FRAME | |
FIELD_TOP | |
FIELD_BOTTOM |
Definition at line 45 of file H2645Parser.h.
Enumerator | |
---|---|
UNKNOWN |
Definition at line 86 of file H2645Parser.h.
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 90 of file H2645Parser.h.
|
protected |
Enumerator | |
---|---|
EXTENDED_SAR |
Definition at line 105 of file H2645Parser.h.
H2645Parser::H2645Parser | ( | void | ) |
Definition at line 86 of file H2645Parser.cpp.
H2645Parser::H2645Parser | ( | const H2645Parser & | rhs | ) |
|
inlinevirtual |
Definition at line 53 of file H2645Parser.h.
|
pure virtual |
Implemented in HEVCParser, and AVCParser.
Referenced by DTVRecorder::FindH2645Keyframes().
|
virtual |
Reimplemented in HEVCParser, and AVCParser.
Definition at line 93 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 62 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
|
inline |
Definition at line 64 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
|
inline |
Definition at line 65 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and AvFormatDecoder::H264PreProcessPkt().
|
inline |
Definition at line 67 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 68 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 386 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 78 of file H2645Parser.h.
|
inline |
Definition at line 79 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes(), and DTVRecorder::HandleH2645Keyframe().
|
inline |
Definition at line 80 of file H2645Parser.h.
|
inline |
Definition at line 82 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 83 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
inline |
Definition at line 84 of file H2645Parser.h.
Referenced by DTVRecorder::FindH2645Keyframes().
|
protected |
Definition at line 127 of file H2645Parser.cpp.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), and AVCParser::Reset().
|
protected |
Definition at line 134 of file H2645Parser.cpp.
Referenced by AVCParser::addBytes(), and HEVCParser::addBytes().
Definition at line 215 of file H2645Parser.cpp.
Referenced by AVCParser::decode_SPS(), and HEVCParser::parseSPS().
|
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 HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 116 of file H2645Parser.h.
Referenced by HEVCParser::addBytes(), and HEVCParser::processRBSP().
|
protected |
Definition at line 117 of file H2645Parser.h.
Referenced by AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 118 of file H2645Parser.h.
Referenced by frameAUstreamOffset(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 119 of file H2645Parser.h.
Referenced by keyframeAUstreamOffset(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 120 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
|
protected |
Definition at line 121 of file H2645Parser.h.
Referenced by AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and SPSstreamOffset().
|
protected |
Definition at line 123 of file H2645Parser.h.
Referenced by fillRBSP(), and resetRBSP().
|
protected |
Definition at line 124 of file H2645Parser.h.
Referenced by fillRBSP(), and H2645Parser().
|
protected |
Definition at line 125 of file H2645Parser.h.
Referenced by fillRBSP(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and resetRBSP().
|
protected |
Definition at line 126 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), and Reset().
|
protected |
Definition at line 127 of file H2645Parser.h.
Referenced by AVCParser::frameRate(), AVCParser::getFrameRate(), HEVCParser::getFrameRate(), GetTimeScale(), HEVCParser::parseVPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 128 of file H2645Parser.h.
Referenced by AVCParser::frameRate(), AVCParser::getFrameRate(), HEVCParser::getFrameRate(), GetUnitsInTick(), HEVCParser::parseVPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 130 of file H2645Parser.h.
Referenced by GetScanType(), and HEVCParser::profileTierLevel().
|
protected |
Definition at line 132 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), 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 AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 135 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), and Reset().
|
protected |
Definition at line 136 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 137 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentHeader(), HEVCParser::parseSPS(), pictureWidth(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
|
protected |
Definition at line 138 of file H2645Parser.h.
Referenced by aspectRatio(), HEVCParser::parseSPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 139 of file H2645Parser.h.
Referenced by aspectRatio(), HEVCParser::parseSPS(), Reset(), and vui_parameters().
|
protected |
Definition at line 141 of file H2645Parser.h.
Referenced by fillRBSP(), H2645Parser(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and ~H2645Parser().
|
protected |
Definition at line 142 of file H2645Parser.h.
Referenced by aspectRatio(), Reset(), and vui_parameters().
|
protected |
Definition at line 144 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), HEVCParser::pictureHeightCropped(), AVCParser::pictureWidthCropped(), HEVCParser::pictureWidthCropped(), and Reset().
Definition at line 146 of file H2645Parser.h.
Referenced by HEVCParser::newAU(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and AVCParser::using_I_forKeyframes().
Definition at line 147 of file H2645Parser.h.
Referenced by HEVCParser::parseVPS(), Reset(), and vui_parameters().
Definition at line 148 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and resetRBSP().
Definition at line 149 of file H2645Parser.h.
Referenced by AVCParser::decode_Header(), AVCParser::processRBSP(), and Reset().
Definition at line 150 of file H2645Parser.h.
Referenced by HEVCParser::newAU(), and HEVCParser::processRBSP().
Definition at line 151 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), onFrameStart(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 152 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), onKeyFrameStart(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 153 of file H2645Parser.h.
Referenced by AVCParser::decode_SPS(), HEVCParser::parseSliceSegmentLayer(), HEVCParser::parseSPS(), AVCParser::processRBSP(), HEVCParser::processRBSP(), and Reset().
Definition at line 154 of file H2645Parser.h.
Referenced by AVCParser::decode_Header(), AVCParser::decode_SPS(), HEVCParser::parseSPS(), AVCParser::pictureHeightCropped(), AVCParser::pictureWidthCropped(), and Reset().
Definition at line 155 of file H2645Parser.h.
Referenced by AVCParser::addBytes(), HEVCParser::addBytes(), AVCParser::processRBSP(), HEVCParser::processRBSP(), Reset(), and stateChanged().