|
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) |
| 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 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 35 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 56 of file AVCParser.h.
|
inline |
Definition at line 72 of file AVCParser.h.
| AVCParser::AVCParser | ( | const AVCParser & | rhs | ) |
|
inlineoverride |
Definition at line 74 of file AVCParser.h.
|
overridevirtual |
Implements H2645Parser.
Definition at line 285 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
Definition at line 495 of file AVCParser.cpp.
Referenced by 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 695 of file AVCParser.cpp.
Referenced by parse_SPS(), and processRBSP().
|
inline |
Definition at line 108 of file AVCParser.h.
| double AVCParser::frameRate | ( | void | ) | const |
Definition at line 1069 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 1050 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 1077 of file AVCParser.cpp.
|
inline |
Definition at line 112 of file AVCParser.h.
Referenced by AvFormatDecoder::H264PreProcessPkt().
Definition at line 84 of file AVCParser.h.
Referenced by decode_Header().
|
inline |
Definition at line 110 of file AVCParser.h.
|
overridevirtual |
Implements H2645Parser.
Definition at line 130 of file AVCParser.cpp.
|
inlinestatic |
Definition at line 92 of file AVCParser.h.
Referenced by addBytes(), and processRBSP().
|
protected |
Definition at line 166 of file AVCParser.cpp.
Referenced by processRBSP().
| 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.
|
overridevirtual |
Implements H2645Parser.
Definition at line 1039 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
overridevirtual |
Implements H2645Parser.
Definition at line 1027 of file AVCParser.cpp.
Referenced by AvFormatDecoder::H264PreProcessPkt().
|
protected |
Definition at line 416 of file AVCParser.cpp.
Referenced by addBytes().
|
overridevirtual |
Reimplemented from H2645Parser.
Definition at line 88 of file AVCParser.cpp.
Referenced by AvFormatDecoder::autoSelectVideoTrack(), and AvFormatDecoder::CloseContext().
|
inline |
Definition at line 105 of file AVCParser.h.
|
inline |
Definition at line 106 of file AVCParser.h.
|
inline |
Definition at line 120 of file AVCParser.h.
Referenced by addBytes(), and processRBSP().
|
inline |
Definition at line 99 of file AVCParser.h.
Referenced by AvFormatDecoder::SetIdrOnlyKeyframes().
|
inline |
Definition at line 100 of file AVCParser.h.
Definition at line 177 of file AVCParser.h.
Referenced by decode_SEI(), processRBSP(), and set_AU_pending().
|
private |
Definition at line 161 of file AVCParser.h.
Referenced by decode_Header(), getFieldType(), new_AU(), and Reset().
|
private |
Definition at line 171 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), and Reset().
|
private |
Definition at line 142 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 141 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(), decode_SPS(), parse_SPS(), pictureHeightCropped(), and Reset().
|
private |
Definition at line 143 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 152 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
Definition at line 178 of file AVCParser.h.
Referenced by decode_Header(), use_I_forKeyframes(), and using_I_forKeyframes().
|
private |
Definition at line 153 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), and Reset().
|
private |
Definition at line 154 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), and Reset().
|
private |
Definition at line 172 of file AVCParser.h.
Referenced by addBytes(), new_AU(), and Reset().
|
private |
Definition at line 164 of file AVCParser.h.
Referenced by addBytes(), decode_Header(), lastNALtype(), new_AU(), processRBSP(), and Reset().
|
private |
Definition at line 155 of file AVCParser.h.
Referenced by decode_SPS(), getRefFrames(), parse_SPS(), and Reset().
|
private |
Definition at line 144 of file AVCParser.h.
Referenced by decode_Header(), new_AU(), and Reset().
|
private |
Definition at line 173 of file AVCParser.h.
Referenced by decode_Header(), decode_SPS(), new_AU(), and Reset().
|
private |
Definition at line 165 of file AVCParser.h.
Referenced by decode_Header(), decode_PPS(), and Reset().
|
private |
Definition at line 145 of file AVCParser.h.
Referenced by decode_Header(), decode_PPS(), new_AU(), and Reset().
|
private |
Definition at line 166 of file AVCParser.h.
|
private |
Definition at line 147 of file AVCParser.h.
|
private |
Definition at line 146 of file AVCParser.h.
|
private |
Definition at line 167 of file AVCParser.h.
|
private |
Definition at line 148 of file AVCParser.h.
|
private |
Definition at line 156 of file AVCParser.h.
|
private |
Definition at line 174 of file AVCParser.h.
|
private |
Definition at line 168 of file AVCParser.h.
|
private |
Definition at line 149 of file AVCParser.h.
|
private |
Definition at line 175 of file AVCParser.h.
|
private |
Definition at line 150 of file AVCParser.h.
|
private |
Definition at line 157 of file AVCParser.h.
Referenced by decode_Header(), and Reset().
|
private |
Definition at line 169 of file AVCParser.h.
Referenced by decode_Header(), decode_PPS(), and Reset().
|
private |
Definition at line 158 of file AVCParser.h.
Referenced by decode_PPS(), and Reset().
|
private |
Definition at line 159 of file AVCParser.h.
Referenced by decode_Header(), and Reset().