On 12/26/2023 1:20 PM, Stefano Sabatini wrote:
+static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
+{
+ AVFilterContext *ctx = inlink->dst;
+ AVFilterLink *outlink = ctx->outputs[0];
+ QuircContext *quirc = ctx->priv;
+ int codes_count;
+ int i, w, h;
+ uint8_t *image, *imagep, *srcp;
+
+ image = quirc_begin(quirc->quirc, &w, &h);
Can't this fail? Or does the allocation take place in the quirc_resize()
call?
+
+ /* copy input image to quirc buffer */
+ imagep = image;
+ srcp = frame->data[0];
+ for (i = 0; i < inlink->h; i++) {
+ memcpy(imagep, srcp, w);
Can w differ from inlink->w?
+ imagep += w;
+ srcp += frame->linesize[0];
+ }
Maybe instead do
av_image_copy_plane(image, w, frame->data[0], frame->linesize[0],
w, inlink->h);
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".