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 ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".