diff options
author | Jose Da Silva <digital@joescat.com> | 2021-01-18 21:43:05 -0800 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2021-01-28 15:50:25 +0100 |
commit | cb70e1921aeda4df11ad77ee550e7bdcdca2b834 (patch) | |
tree | 7efd919311210a7ed7a29e9d49b2c994a635f1fa /libavcodec/xbmenc.c | |
parent | 41b8fd3a16a0c8f2de71a5338fb4f086bd857124 (diff) | |
download | ffmpeg-cb70e1921aeda4df11ad77ee550e7bdcdca2b834.tar.gz |
avcodec/xbmenc: xbm Lower memory use
Two minor memory improvements.
First bug reduces memory needed to about 6/7 the needed amount, which
allows you to host almost 7 pictures in the same memory needed for 6
Second is a recalculation of the total additional memory for headers etc.
size = avctx->height x (linesize * 6 + 1) + (31+32+38+4+1)
Subject: [PATCH 2/3] avcodec/xbmenc: xbm Lower memory use
Small 6/7th size memory reduction.
size = avctx->height x (linesize * 6 + 1) + (31+32+38+4+1)
Signed-off-by: Joe Da Silva <digital@joescat.com>
Diffstat (limited to 'libavcodec/xbmenc.c')
-rw-r--r-- | libavcodec/xbmenc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/xbmenc.c b/libavcodec/xbmenc.c index 3fc0e3185a..193ced652a 100644 --- a/libavcodec/xbmenc.c +++ b/libavcodec/xbmenc.c @@ -32,7 +32,7 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, linesize = (avctx->width + 7) / 8; commas = avctx->height * linesize; - size = avctx->height * (linesize * 7 + 2) + 109; + size = avctx->height * (linesize * 6 + 1) + 106; if ((ret = ff_alloc_packet2(avctx, pkt, size, 0)) < 0) return ret; @@ -41,7 +41,7 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt, buf += snprintf(buf, 32, "#define image_width %u\n", avctx->width); buf += snprintf(buf, 33, "#define image_height %u\n", avctx->height); - buf += snprintf(buf, 40, "static unsigned char image_bits[] = {\n"); + buf += snprintf(buf, 39, "static unsigned char image_bits[] = {\n"); for (i = 0; i < avctx->height; i++) { for (j = 0; j < linesize; j++) { buf += snprintf(buf, 6, " 0x%02X", ff_reverse[*ptr++]); |