[FFmpeg-cvslog] avcodec/libaomdec: use intermediate arrays for plane pointers and strides
James Almer
git at videolan.org
Mon Nov 1 19:59:44 EET 2021
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sat Oct 30 10:56:26 2021 -0300| [28fac45bde9fd38599a9c2896b58573d8e7303ff] | committer: James Almer
avcodec/libaomdec: use intermediate arrays for plane pointers and strides
Fixes -Wstringop-overflow warnings with libaom >= 2.0.0, where the unused alpha
plane was removed from aom_image.
Reviewed-by: James Zern <jzern at google.com>
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=28fac45bde9fd38599a9c2896b58573d8e7303ff
---
libavcodec/libaomdec.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c
index d6b822fda2..64a627ed1c 100644
--- a/libavcodec/libaomdec.c
+++ b/libavcodec/libaomdec.c
@@ -224,9 +224,13 @@ static int aom_decode(AVCodecContext *avctx, void *data, int *got_frame,
if ((img->fmt & AOM_IMG_FMT_HIGHBITDEPTH) && img->bit_depth == 8)
image_copy_16_to_8(picture, img);
- else
- av_image_copy(picture->data, picture->linesize, (const uint8_t **)img->planes,
- img->stride, avctx->pix_fmt, img->d_w, img->d_h);
+ else {
+ const uint8_t *planes[4] = { img->planes[0], img->planes[1], img->planes[2] };
+ const int stride[4] = { img->stride[0], img->stride[1], img->stride[2] };
+
+ av_image_copy(picture->data, picture->linesize, planes,
+ stride, avctx->pix_fmt, img->d_w, img->d_h);
+ }
*got_frame = 1;
}
return avpkt->size;
More information about the ffmpeg-cvslog
mailing list