63 size_t px = (size_t)width * (
size_t)height;
87 for (
size_t i = 0; i + 3 < len; i++) {
88 if (data[i] == 0 && data[i + 1] == 0 && data[i + 2] == 1) {
89 if ((data[i + 3] & 0x1F) == 5)
return true;
106 for (
size_t i = 0; i + 5 < len; i++) {
107 if (data[i] == 0 && data[i + 1] == 0 && data[i + 2] == 1 &&
108 data[i + 3] == 0x00) {
109 return ((data[i + 5] >> 3) & 0x07) == 1;
152 "%s width: %d / height: %d / fps: %f / format: %d / frame_size: %d / "
153 "total_file_size: %d",
189 if (frame ==
nullptr || len == 0)
return false;
190 size_t written = out.
write(frame, len);
191 return written = len;
212 virtual size_t write(
const uint8_t* data,
size_t len) = 0;
238 virtual bool isKeyFrame(
const uint8_t* data,
size_t len) {
return false; }
300 size_t write(
const uint8_t* data,
size_t len)
override {
311 uint32_t forwardStart =
millis();
377 size_t write(
const uint8_t* data,
size_t len)
override {
378 return meter_.
write(data, len);
380 size_t write(uint8_t b)
override {
return meter_.
write(&b, 1); }
#define LOGI(...)
Definition AudioLoggerIDF.h:28
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 Video.h:43
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:86
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:105
StreamContentType
Which track write() feeds, for muxers (MuxerAVI, MuxerMP4) that double as a plain,...
Definition Video.h:19
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:61
@ Audio
Definition Video.h:19
@ Video
Definition Video.h:19