arduino-audio-tools
Loading...
Searching...
No Matches
CodecVideo.h
Go to the documentation of this file.
1#pragma once
3
4namespace audio_tools {
5
18class VideoDecoder : public VideoOutput {
19 public:
20 virtual ~VideoDecoder() = default;
28 virtual VideoFormat codecFormat() = 0;
30 virtual void setOutput(Print &out) = 0;
40 virtual void setOutput(VideoOutput &out) = 0;
49 virtual void setVideoFormat(VideoFormat format) = 0;
56 virtual VideoInfo videoInfo() = 0;
58 virtual bool begin() = 0;
60 virtual void end() = 0;
71 virtual bool isValid(const uint8_t *data, size_t len) { return false; }
72};
73
90 public:
91 virtual ~VideoEncoder() = default;
93 virtual void setOutput(Print &out) = 0;
101 virtual void setVideoFormat(VideoFormat format) = 0;
108 virtual VideoInfo videoInfo() = 0;
110 virtual bool begin() = 0;
112 virtual void end() = 0;
118 virtual size_t write(const uint8_t *data, size_t len) = 0;
119};
120
121} // namespace audio_tools
Definition Arduino.h:56
Common interface for video decoders (e.g. H264Decoder, H264DecoderESP32S3 - CodecH264....
Definition CodecVideo.h:18
virtual VideoFormat codecFormat()=0
virtual ~VideoDecoder()=default
virtual bool isValid(const uint8_t *data, size_t len)
Definition CodecVideo.h:71
virtual void setOutput(VideoOutput &out)=0
virtual void end()=0
Releases the decoder's resources.
virtual void setOutput(Print &out)=0
Defines the target each decoded picture is written to.
virtual bool begin()=0
Initializes the decoder (allocates its picture buffers, etc).
virtual VideoInfo videoInfo()=0
virtual void setVideoFormat(VideoFormat format)=0
Common interface for video encoders (e.g. H264Encoder, H264EncoderESP32S3 - CodecH264....
Definition CodecVideo.h:89
virtual size_t write(const uint8_t *data, size_t len)=0
virtual ~VideoEncoder()=default
virtual void end()=0
Releases the encoder's resources.
virtual void setOutput(Print &out)=0
Defines the target the encoded bitstream is written to.
virtual bool begin()=0
Initializes the encoder (allocates its picture buffers, etc).
virtual VideoInfo videoInfo()=0
virtual void setVideoFormat(VideoFormat format)=0
Abstract class for video playback. This class is used to assemble a complete video frame in memory....
Definition VideoOutput.h:107
VideoFormat
Video codec/pixel-format identifier, shared by two unrelated uses: the (single) video stream of a con...
Definition VideoOutput.h:29
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition LMSEchoCancellationStream.h:6
Basic video information (width/height/codec/frame size), analogous to AudioInfo - common to both Demu...
Definition VideoOutput.h:49