29 size_t px = (size_t)width * (
size_t)height;
53 for (
size_t i = 0; i + 3 < len; i++) {
54 if (data[i] == 0 && data[i + 1] == 0 && data[i + 2] == 1) {
55 if ((data[i + 3] & 0x1F) == 5)
return true;
72 for (
size_t i = 0; i + 5 < len; i++) {
73 if (data[i] == 0 && data[i + 1] == 0 && data[i + 2] == 1 &&
74 data[i + 3] == 0x00) {
75 return ((data[i + 5] >> 3) & 0x07) == 1;
111 if (frame ==
nullptr || len == 0)
return false;
112 size_t written = out.
write(frame, len);
113 return written = len;
158 size_t write(
const uint8_t* data,
size_t len)
override {
169 uint32_t forwardStart =
millis();
235 size_t write(
const uint8_t* data,
size_t len)
override {
236 return meter_.
write(data, len);
238 size_t write(uint8_t b)
override {
return meter_.
write(&b, 1); }
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120
VideoFormat
Video codec/pixel-format identifier, shared by two unrelated uses: the (single) video stream of a con...
Definition VideoOutput.h:29
bool isH264KeyFrame(const uint8_t *data, size_t len)
True if the given Annex-B H.264 access unit contains an IDR slice NAL unit (nal_unit_type 5) - the re...
Definition Video.h:52
bool isMpeg1KeyFrame(const uint8_t *data, size_t len)
True if the given MPEG-1/2 video access unit's picture header declares picture_coding_type == 1 (I-pi...
Definition Video.h:71
StreamContentType
Which track write() feeds, for muxers (MuxerAVI, MuxerMP4) that double as a plain,...
Definition Video.h:21
size_t videoFrameSizeBytes(VideoFormat format, uint16_t width, uint16_t height)
Fixed per-frame size (bytes) for a raw/uncompressed VideoFormat at the given resolution - 0 for compr...
Definition Video.h:27
@ Audio
Definition Video.h:21
@ Video
Definition Video.h:21