- av_image_fill_arrays(data, linesize, pkt->data, par->format,
- par->width, par->height, 1);
- return write_picture(s, data, linesize);
+ if (par->codec_id == AV_CODEC_ID_WRAPPED_AVFRAME) {
+ AVFrame *frame = (AVFrame *)pkt->data;
+ return write_picture(s, frame->data, frame->linesize);
+ } else {
+ uint8_t *data[4];
+ int linesize[4];
+
+ av_image_fill_arrays(data, linesize, pkt->data, par->format,
+ par->width, par->height, 1);
+ return write_picture(s, data, linesize);
+ }