Signed-off-by: Andreas Rheinhardt <[email protected]>
---
I am pretty certain that the size of said bitmask should
be (par->height * par->width + 7) / 8 (or maybe
par->height * ((par->width + 7) / 8)), but not what it is now.
libavformat/icoenc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavformat/icoenc.c b/libavformat/icoenc.c
index ee793137fd..21966f3921 100644
--- a/libavformat/icoenc.c
+++ b/libavformat/icoenc.c
@@ -31,6 +31,7 @@
#include "libavcodec/codec_id.h"
#include "avformat.h"
+#include "avio_internal.h"
typedef struct {
int offset;
@@ -119,7 +120,6 @@ static int ico_write_packet(AVFormatContext *s, AVPacket
*pkt)
IcoImage *image;
AVIOContext *pb = s->pb;
AVCodecParameters *par = s->streams[pkt->stream_index]->codecpar;
- int i;
if (ico->current_image >= ico->nb_images) {
av_log(s, AV_LOG_ERROR, "ICO already contains %d images\n",
ico->current_image);
@@ -150,8 +150,8 @@ static int ico_write_packet(AVFormatContext *s, AVPacket
*pkt)
avio_wl32(pb, AV_RL32(pkt->data + 22) * 2); // rewrite height as 2 *
height
avio_write(pb, pkt->data + 26, pkt->size - 26);
- for (i = 0; i < par->height * (par->width + 7) / 8; ++i)
- avio_w8(pb, 0x00); // Write bitmask (opaque)
+ // Write bitmask (opaque)
+ ffio_fill(pb, 0x00, par->height * (par->width + 7) / 8);
}
return 0;
--
2.30.2
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".