[FFmpeg-cvslog] avcodec/mjpegdec: respect side data preference
Niklas Haas
git at videolan.org
Fri Mar 8 09:06:37 EET 2024
ffmpeg | branch: master | Niklas Haas <git at haasn.dev> | Sat Feb 17 21:51:19 2024 +0100| [ed3cc8fc6594224aeec34ba6fc5536d116a505dc] | committer: Anton Khirnov
avcodec/mjpegdec: respect side data preference
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ed3cc8fc6594224aeec34ba6fc5536d116a505dc
---
libavcodec/mjpegdec.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 81f724d230..43b36d0a8f 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -2840,16 +2840,18 @@ the_end:
for (i = 0; i < s->iccnum; i++)
total_size += s->iccentries[i].length;
- sd = av_frame_new_side_data(frame, AV_FRAME_DATA_ICC_PROFILE, total_size);
- if (!sd) {
+ ret = ff_frame_new_side_data(avctx, frame, AV_FRAME_DATA_ICC_PROFILE, total_size, &sd);
+ if (ret < 0) {
av_log(avctx, AV_LOG_ERROR, "Could not allocate frame side data\n");
- return AVERROR(ENOMEM);
+ return ret;
}
- /* Reassemble the parts, which are now in-order. */
- for (i = 0; i < s->iccnum; i++) {
- memcpy(sd->data + offset, s->iccentries[i].data, s->iccentries[i].length);
- offset += s->iccentries[i].length;
+ if (sd) {
+ /* Reassemble the parts, which are now in-order. */
+ for (i = 0; i < s->iccnum; i++) {
+ memcpy(sd->data + offset, s->iccentries[i].data, s->iccentries[i].length);
+ offset += s->iccentries[i].length;
+ }
}
}
More information about the ffmpeg-cvslog
mailing list