encoderd: get frame size over vipc (#31276)

* encoderd: get frame size over vipc

* bump cereal

* fix ffmpeg

* no print
old-commit-hash: a5766e27967707d51c4e7181a3509c78b3671d16
This commit is contained in:
Adeeb Shihadeh
2024-02-02 12:53:12 -08:00
committed by GitHub
parent 2852e61e40
commit 2632a41c1e
7 changed files with 21 additions and 14 deletions
+6
View File
@@ -2,6 +2,10 @@
VideoEncoder::VideoEncoder(const EncoderInfo &encoder_info, int in_width, int in_height)
: encoder_info(encoder_info), in_width(in_width), in_height(in_height) {
out_width = encoder_info.frame_width > 0 ? encoder_info.frame_width : in_width;
out_height = encoder_info.frame_height > 0 ? encoder_info.frame_height : in_height;
pm.reset(new PubMaster({encoder_info.publish_name}));
}
@@ -25,6 +29,8 @@ void VideoEncoder::publisher_publish(VideoEncoder *e, int segment_num, uint32_t
edata.setFlags(flags);
edata.setLen(dat.size());
edat.setData(dat);
edat.setWidth(out_width);
edat.setHeight(out_height);
if (flags & V4L2_BUF_FLAG_KEYFRAME) edat.setHeader(header);
uint32_t bytes_size = capnp::computeSerializedSizeInWords(msg) * sizeof(capnp::word);