mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
j2kenc: switch to encode2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
131698af55
commit
8060403011
@ -920,18 +920,23 @@ static void reinit(J2kEncoderContext *s)
|
||||
}
|
||||
}
|
||||
|
||||
static int encode_frame(AVCodecContext *avctx,
|
||||
uint8_t *buf, int buf_size,
|
||||
void *data)
|
||||
static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
const AVFrame *pict, int *got_packet)
|
||||
{
|
||||
int tileno, ret;
|
||||
J2kEncoderContext *s = avctx->priv_data;
|
||||
|
||||
// init:
|
||||
s->buf = s->buf_start = buf;
|
||||
s->buf_end = buf + buf_size;
|
||||
if (!pkt->data &&
|
||||
(ret = av_new_packet(pkt, avctx->width*avctx->height*9 + FF_MIN_BUFFER_SIZE)) < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Error getting output packet.\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
s->picture = *(AVFrame*)data;
|
||||
// init:
|
||||
s->buf = s->buf_start = pkt->data;
|
||||
s->buf_end = pkt->data + pkt->size;
|
||||
|
||||
s->picture = *pict;
|
||||
avctx->coded_frame= &s->picture;
|
||||
|
||||
s->lambda = s->picture.quality * LAMBDA_SCALE;
|
||||
@ -965,7 +970,11 @@ static int encode_frame(AVCodecContext *avctx,
|
||||
bytestream_put_be16(&s->buf, J2K_EOC);
|
||||
|
||||
av_log(s->avctx, AV_LOG_DEBUG, "end\n");
|
||||
return s->buf - s->buf_start;
|
||||
pkt->size = s->buf - s->buf_start;
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
*got_packet = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static av_cold int j2kenc_init(AVCodecContext *avctx)
|
||||
@ -1041,7 +1050,7 @@ AVCodec ff_jpeg2000_encoder = {
|
||||
.id = CODEC_ID_JPEG2000,
|
||||
.priv_data_size = sizeof(J2kEncoderContext),
|
||||
.init = j2kenc_init,
|
||||
.encode = encode_frame,
|
||||
.encode2 = encode_frame,
|
||||
.close = j2kenc_destroy,
|
||||
.capabilities= CODEC_CAP_EXPERIMENTAL,
|
||||
.long_name = NULL_IF_CONFIG_SMALL("JPEG 2000"),
|
||||
|
Loading…
Reference in New Issue
Block a user