mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
pamenc: move allocation down.
This way the size that is calculated is known and can be used in a following commit. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
e98a76d3c2
commit
5d468edb2e
@ -33,21 +33,6 @@ static int pam_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
const char *tuple_type;
|
||||
uint8_t *ptr;
|
||||
|
||||
if ((ret = ff_alloc_packet(pkt, avpicture_get_size(avctx->pix_fmt,
|
||||
avctx->width,
|
||||
avctx->height) + 200)) < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "encoded frame too large\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
*p = *pict;
|
||||
p->pict_type = AV_PICTURE_TYPE_I;
|
||||
p->key_frame = 1;
|
||||
|
||||
s->bytestream_start =
|
||||
s->bytestream = pkt->data;
|
||||
s->bytestream_end = pkt->data + pkt->size;
|
||||
|
||||
h = avctx->height;
|
||||
w = avctx->width;
|
||||
switch (avctx->pix_fmt) {
|
||||
@ -102,6 +87,22 @@ static int pam_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((ret = ff_alloc_packet(pkt, avpicture_get_size(avctx->pix_fmt,
|
||||
avctx->width,
|
||||
avctx->height) + 200)) < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "encoded frame too large\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
*p = *pict;
|
||||
p->pict_type = AV_PICTURE_TYPE_I;
|
||||
p->key_frame = 1;
|
||||
|
||||
s->bytestream_start =
|
||||
s->bytestream = pkt->data;
|
||||
s->bytestream_end = pkt->data + pkt->size;
|
||||
|
||||
snprintf(s->bytestream, s->bytestream_end - s->bytestream,
|
||||
"P7\nWIDTH %d\nHEIGHT %d\nDEPTH %d\nMAXVAL %d\nTUPLTYPE %s\nENDHDR\n",
|
||||
w, h, depth, maxval, tuple_type);
|
||||
|
Loading…
Reference in New Issue
Block a user