37 #include "mythconfig.h"
46 #define INT_BIT (CHAR_BIT * sizeof(int))
54 #include "libavutil/common.h"
57 #if HAVE_ATTRIBUTE_MAY_ALIAS && (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(3,3)
58 # define av_alias __attribute__((may_alias))
68 #include "libavcodec/get_bits.h"
72 enum class SCAN_t : uint8_t;
77 MAX_SLICE_HEADER_SIZE = 256
92 uint64_t stream_offset) = 0;
93 virtual void Reset(
void);
143 bool fillRBSP(
const uint8_t *byteP, uint32_t byte_count,
144 bool found_start_code);
148 uint64_t m_framecnt {0};
149 uint64_t m_keyframecnt {0};
150 uint64_t m_totalframecnt {0};
151 uint64_t m_totalkeyframecnt {0};
152 uint64_t m_auOffset {0};
153 uint64_t m_frameStartOffset {0};
154 uint64_t m_keyframeStartOffset {0};
155 uint64_t m_pktOffset {0};
156 uint64_t m_spsOffset {0};
158 uint32_t m_consecutiveZeros {0};
159 uint32_t m_rbspBufferSize {188 * 2};
160 uint32_t m_rbspIndex {0};
161 uint32_t m_syncAccumulator {0xffffffff};
162 uint32_t m_timeScale {0};
163 uint32_t m_unitsInTick {0};
167 uint m_frameCropBottomOffset {0};
168 uint m_frameCropLeftOffset {0};
169 uint m_frameCropRightOffset {0};
176 uint8_t *m_rbspBuffer {
nullptr};
177 uint8_t m_aspectRatioIdc {0};
179 int8_t m_chromaFormatIdc {1};
181 bool m_auPending {
false};
182 bool m_fixedRate {
false};
183 bool m_haveUnfinishedNAL {
false};
184 bool m_isKeyframe {
false};
186 bool m_onFrame {
false};
187 bool m_onKeyFrame {
false};
188 bool m_seenSPS {
false};
189 bool m_separateColourPlaneFlag {
false};
190 bool m_stateChanged {
false};