MythTV
master
|
#include <libmythtv/mpeg/AVCParser.h>
Public Types | |
enum | NAL_unit_type : std::int8_t { UNKOWN = -1, SLICE = 1, SLICE_DPA = 2, SLICE_DPB = 3, SLICE_DPC = 4, SLICE_IDR = 5, SEI = 6, SPS = 7, PPS = 8, AU_DELIMITER = 9, END_SEQUENCE = 10, END_STREAM = 11, FILLER_DATA = 12, SPS_EXT = 13, NALU_prefix = 14, SPS_subset = 15, AUXILIARY_SLICE = 19, SLICE_EXTENSION = 20 } |
enum | SEI_type : std::uint8_t { SEI_TYPE_PIC_TIMING = 1, SEI_FILLER_PAYLOAD = 3, SEI_TYPE_USER_DATA_UNREGISTERED = 5, SEI_TYPE_RECOVERY_POINT = 6 } |
Public Types inherited from H2645Parser | |
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 | |
field_type | getFieldType (void) const override |
AVCParser (void) | |
AVCParser (const AVCParser &rhs) | |
~AVCParser (void) override | |
uint32_t | addBytes (const uint8_t *bytes, uint32_t byte_count, uint64_t stream_offset) override |
void | Reset (void) override |
QString | NAL_type_str (int8_t type) override |
void | use_I_forKeyframes (bool val) |
bool | using_I_forKeyframes (void) const |
void | parse_SPS (uint8_t *sps, uint32_t sps_size, bool &interlaced, int32_t &max_ref_frames) |
void | reset_SPS (void) |
bool | seen_SPS (void) const |
bool | found_AU (void) const |
uint8_t | lastNALtype (void) const |
uint | getRefFrames (void) const |
uint | pictureWidthCropped (void) const override |
uint | pictureHeightCropped (void) const override |
double | frameRate (void) const |
MythAVRational | getFrameRate () const override |
void | set_AU_pending (void) |
Public Member Functions inherited from H2645Parser | |
H2645Parser (void) | |
H2645Parser (const H2645Parser &rhs) | |
virtual | ~H2645Parser (void) |
bool | stateChanged (void) const |
bool | onFrameStart (void) const |
bool | onKeyFrameStart (void) const |
uint | pictureWidth (void) const |
uint | pictureHeight (void) const |
uint | aspectRatio (void) const |
Computes aspect ratio from picture size and sample aspect ratio. More... | |
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 Member Functions | |
static bool | isKeySlice (uint slice_type) |
static bool | NALisSlice (int8_t nal_type) |
Protected Member Functions | |
bool | new_AU (void) |
void | processRBSP (bool rbsp_complete) |
Protected Member Functions inherited from H2645Parser | |
void | resetRBSP (void) |
bool | fillRBSP (const uint8_t *byteP, uint32_t byte_count, bool found_start_code) |
void | vui_parameters (BitReader &br, bool hevc) |
Private Member Functions | |
bool | decode_Header (BitReader &br) |
void | decode_SPS (BitReader &br) |
void | decode_PPS (BitReader &br) |
void | decode_SEI (BitReader &br) |
Definition at line 30 of file AVCParser.h.
enum AVCParser::NAL_unit_type : std::int8_t |
Enumerator | |
---|---|
UNKOWN | |
SLICE | |
SLICE_DPA | |
SLICE_DPB | |
SLICE_DPC | |
SLICE_IDR | |
SEI | |
SPS | |
PPS | |
AU_DELIMITER | |
END_SEQUENCE | |
END_STREAM | |
FILLER_DATA | |
SPS_EXT | |
NALU_prefix | |
SPS_subset | |
AUXILIARY_SLICE | |
SLICE_EXTENSION |
Definition at line 54 of file AVCParser.h.
enum AVCParser::SEI_type : std::uint8_t |
Enumerator | |
---|---|
SEI_TYPE_PIC_TIMING | |
SEI_FILLER_PAYLOAD | |
SEI_TYPE_USER_DATA_UNREGISTERED | |
SEI_TYPE_RECOVERY_POINT |
Definition at line 75 of file AVCParser.h.
|
inline |
Definition at line 91 of file AVCParser.h.
AVCParser::AVCParser | ( | const AVCParser & | rhs | ) |
|
inlineoverride |
Definition at line 93 of file AVCParser.h.
|
overridevirtual |
Implements H2645Parser.
Definition at line 1050 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 285 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Reimplemented from H2645Parser.
Definition at line 88 of file AVCParser.cpp.
Referenced by AvFormatDecoder::autoSelectVideoTrack(), and AvFormatDecoder::CloseContext().
|
overridevirtual |
Implements H2645Parser.
Definition at line 130 of file AVCParser.cpp.
Definition at line 103 of file AVCParser.h.
Referenced by decode_Header().
|
inlinestatic |
Definition at line 111 of file AVCParser.h.
Referenced by addBytes(), and processRBSP().
|
inline |
Definition at line 118 of file AVCParser.h.
Referenced by AvFormatDecoder::SetIdrOnlyKeyframes().
|
inline |
Definition at line 119 of file AVCParser.h.
void AVCParser::parse_SPS | ( | uint8_t * | sps, |
uint32_t | sps_size, | ||
bool & | interlaced, | ||
int32_t & | max_ref_frames | ||
) |
Definition at line 893 of file AVCParser.cpp.
|
inline |
Definition at line 124 of file AVCParser.h.
|
inline |
Definition at line 125 of file AVCParser.h.
|
inline |
Definition at line 127 of file AVCParser.h.
|
inline |
Definition at line 129 of file AVCParser.h.
|
inline |
Definition at line 131 of file AVCParser.h.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 1027 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 1039 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
double AVCParser::frameRate | ( | void | ) | const |
Definition at line 1069 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 1077 of file AVCParser.cpp.
|
inline |
Definition at line 139 of file AVCParser.h.
Referenced by addBytes(), and processRBSP().
|
protected |
Definition at line 166 of file AVCParser.cpp.
Referenced by processRBSP().
|
protected |
Definition at line 416 of file AVCParser.cpp.
Referenced by addBytes().
Definition at line 495 of file AVCParser.cpp.
Referenced by processRBSP().
|
private |
Definition at line 695 of file AVCParser.cpp.
Referenced by parse_SPS(), and processRBSP().
|
private |
Definition at line 902 of file AVCParser.cpp.
Referenced by processRBSP().
|
private |
Definition at line 980 of file AVCParser.cpp.
Referenced by processRBSP().
|
private |
Definition at line 160 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 161 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 162 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 163 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 164 of file AVCParser.h.
Referenced by decode_Header(), decode_PPS(), new_AU(), and Reset().
|
private |
Definition at line 165 of file AVCParser.h.
|
private |
Definition at line 166 of file AVCParser.h.
|
private |
Definition at line 167 of file AVCParser.h.
|
private |
Definition at line 168 of file AVCParser.h.
|
private |
Definition at line 169 of file AVCParser.h.
|
private |
Definition at line 171 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 172 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), and Reset().
|
private |
Definition at line 173 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), and Reset().
|
private |
Definition at line 174 of file AVCParser.h.
Referenced by decode_SPS(), NALisSlice(), parse_SPS(), and Reset().
|
private |
Definition at line 175 of file AVCParser.h.
|
private |
Definition at line 176 of file AVCParser.h.
Referenced by decode_Header(), and Reset().
|
private |
Definition at line 177 of file AVCParser.h.
Referenced by decode_PPS(), and Reset().
|
private |
Definition at line 178 of file AVCParser.h.
Referenced by decode_Header(), and Reset().
|
private |
Definition at line 180 of file AVCParser.h.
Referenced by decode_Header(), getFieldType(), new_AU(), and Reset().
|
private |
Definition at line 181 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 182 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), parse_SPS(), pictureHeightCropped(), and Reset().
|
private |
Definition at line 183 of file AVCParser.h.
Referenced by addBytes(), decode_Header(), new_AU(), processRBSP(), and Reset().
|
private |
Definition at line 184 of file AVCParser.h.
Referenced by decode_Header(), decode_PPS(), and Reset().
|
private |
Definition at line 185 of file AVCParser.h.
|
private |
Definition at line 186 of file AVCParser.h.
|
private |
Definition at line 187 of file AVCParser.h.
|
private |
Definition at line 188 of file AVCParser.h.
Referenced by decode_Header(), decode_PPS(), and Reset().
|
private |
Definition at line 190 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), and Reset().
|
private |
Definition at line 191 of file AVCParser.h.
Referenced by addBytes(), new_AU(), and Reset().
|
private |
Definition at line 192 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), new_AU(), and Reset().
|
private |
Definition at line 193 of file AVCParser.h.
|
private |
Definition at line 194 of file AVCParser.h.
Definition at line 196 of file AVCParser.h.
Referenced by decode_SEI(), and processRBSP().
Definition at line 197 of file AVCParser.h.
Referenced by decode_Header().