mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
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>
This commit is contained in:
parent
41b8fd3a16
commit
cb70e1921a
@ -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++]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user