X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmjpeg_encoder.h;h=8b68294a48d9e01dfd0254b213b2770d57e0330d;hb=4b58e3f824545472eb1ccf1e18d042b3b1b9be04;hp=3630d9f26a6f94048b0c3df0b9a9593955948c1a;hpb=c913b0254382c2a1bd7410d720e45dfc63223c9c;p=nageru diff --git a/nageru/mjpeg_encoder.h b/nageru/mjpeg_encoder.h index 3630d9f..8b68294 100644 --- a/nageru/mjpeg_encoder.h +++ b/nageru/mjpeg_encoder.h @@ -103,7 +103,7 @@ private: void va_receiver_thread_func(); void encode_jpeg_va(QueuedFrame &&qf); std::vector encode_jpeg_libjpeg(const QueuedFrame &qf); - void write_mjpeg_packet(int64_t pts, unsigned card_index, const std::vector &jpeg); + void write_mjpeg_packet(int64_t pts, unsigned card_index, const uint8_t *jpeg, size_t jpeg_size); void init_jpeg_422(unsigned width, unsigned height, VectorDestinationManager *dest, jpeg_compress_struct *cinfo); std::vector get_jpeg_header(unsigned width, unsigned height, jpeg_compress_struct *cinfo); @@ -146,6 +146,13 @@ private: static std::unique_ptr try_open_va(const std::string &va_display, std::string *error, VAConfigID *config_id); uint8_t *tmp_y, *tmp_cbcr, *tmp_cb, *tmp_cr; // Private to the encoder thread. Used by the libjpeg backend only. + + std::atomic metric_mjpeg_frames_zero_size_dropped{0}; + std::atomic metric_mjpeg_frames_interlaced_dropped{0}; + std::atomic metric_mjpeg_frames_unsupported_pixel_format_dropped{0}; + std::atomic metric_mjpeg_frames_oversized_dropped{0}; + std::atomic metric_mjpeg_overrun_dropped{0}; + std::atomic metric_mjpeg_overrun_submitted{0}; }; #endif // !defined(_MJPEG_ENCODER_H)