uint8_t *ptr;
uint8_t *offset;
uint32_t strips;
- uint32_t *strip_sizes = NULL;
- uint32_t *strip_offsets = NULL;
int bytes_per_row;
- uint32_t res[2] = { 72, 1 }; // image resolution (72/1)
- uint16_t bpp_tab[] = { 8, 8, 8, 8 };
- int ret;
- int is_yuv = 0;
- uint8_t *yuv_line = NULL;
+ uint32_t res[2] = { s->dpi, 1 }; // image resolution (72/1)
+ uint16_t bpp_tab[4];
+ int ret = -1;
+ int is_yuv = 0, alpha = 0;
int shift_h, shift_v;
- const AVPixFmtDescriptor *pfd;
-
- s->avctx = avctx;
+ int packet_size;
s->width = avctx->width;
s->height = avctx->height;
strips = (s->height - 1) / s->rps + 1;
- if ((ret = ff_alloc_packet2(avctx, pkt,
- avctx->width * avctx->height * s->bpp * 2 +
- avctx->height * 4 + FF_MIN_BUFFER_SIZE)) < 0)
+ packet_size = avctx->height * ((avctx->width * s->bpp + 7) >> 3) * 2 +
+ avctx->height * 4 + FF_MIN_BUFFER_SIZE;
+
- if (!pkt->data &&
- (ret = av_new_packet(pkt, packet_size)) < 0) {
- av_log(avctx, AV_LOG_ERROR, "Error getting output packet.\n");
++ if ((ret = ff_alloc_packet2(avctx, pkt, packet_size)) < 0)
return ret;
- }
ptr = pkt->data;
s->buf_start = pkt->data;
s->buf = &ptr;