libpromeki main
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
jpegencodernode.h
Go to the documentation of this file.
1
8#pragma once
9
12#include <promeki/core/map.h>
14
16
34class JpegEncoderNode : public MediaNode {
35 PROMEKI_OBJECT(JpegEncoderNode, MediaNode)
36 public:
42
44 virtual ~JpegEncoderNode() = default;
45
50 void setQuality(int quality) { _quality = quality; return; }
51
56 int quality() const { return _quality; }
57
58 // ---- Lifecycle overrides ----
59
68 Error configure() override;
69
77 void process() override;
78
84
85 private:
86 int _quality = 85;
87 uint64_t _framesEncoded = 0;
88 uint64_t _totalCompressedBytes = 0;
89 uint64_t _totalUncompressedBytes = 0;
90};
91
Lightweight error code wrapper for the promeki library.
Definition error.h:39
Compresses video frames to JPEG using libjpeg-turbo.
Definition jpegencodernode.h:34
void process() override
Compresses an input image to JPEG.
JpegEncoderNode(ObjectBase *parent=nullptr)
Constructs a JpegEncoderNode.
void setQuality(int quality)
Sets the JPEG compression quality.
Definition jpegencodernode.h:50
Map< String, Variant > extendedStats() const override
Returns node-specific statistics.
virtual ~JpegEncoderNode()=default
Destructor.
Error configure() override
Validates input format and configures the node.
int quality() const
Returns the JPEG compression quality.
Definition jpegencodernode.h:56
Dynamic array container wrapping std::vector.
Definition list.h:40
Base class for all pipeline processing nodes.
Definition medianode.h:81
Base object for promeki.
Definition objectbase.h:129
ObjectBase * parent() const
Returns the parent object, if one. nullptr if none.
Definition objectbase.h:258
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19