- s->picture[1]->extended_data = NULL;
- s->picture[1]->width = avctx->width;
- s->picture[1]->height = avctx->height;
- s->picture[1]->format = avctx->pix_fmt;
- /* ff_init_buffer_info(avctx, &s->picture[1]); */
- smv_img_pnt(s->picture[1]->data, mjpeg_data->data, mjpeg_data->linesize,
- avctx->pix_fmt, avctx->width, avctx->height, cur_frame);
- for (i = 0; i < AV_NUM_DATA_POINTERS; i++)
- s->picture[1]->linesize[i] = mjpeg_data->linesize[i];
-
- ret = av_frame_ref(data, s->picture[1]);
+ if (*data_size) {
+ s->picture[1]->extended_data = NULL;
+ s->picture[1]->width = avctx->width;
+ s->picture[1]->height = avctx->height;
+ s->picture[1]->format = avctx->pix_fmt;
+ /* ff_init_buffer_info(avctx, &s->picture[1]); */
+ smv_img_pnt(s->picture[1]->data, mjpeg_data->data, mjpeg_data->linesize,
+ avctx->pix_fmt, avctx->width, avctx->height, cur_frame);
+ for (i = 0; i < AV_NUM_DATA_POINTERS; i++)
+ s->picture[1]->linesize[i] = mjpeg_data->linesize[i];
+
+ ret = av_frame_ref(data, s->picture[1]);
+ }