diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-03-14 04:26:24 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-03-14 04:26:24 +0100 |
commit | dded5ed9c5eb0c3d5a953e661ea21a9019e93ea4 (patch) | |
tree | 02b0eead294f11c01ca34e18905cefb0819dc4e5 /libavcodec | |
parent | f3d3e3fa4e1033e27977b7fdcab4a22fba57fe98 (diff) | |
download | ffmpeg-dded5ed9c5eb0c3d5a953e661ea21a9019e93ea4.tar.gz |
avcodec/libx265: fill headers in extradata
Fixes Ticket3457
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/libx265.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 698ade2168..2aceac796d 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -190,7 +190,7 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) for (i = 0; i < nnal; i++) ctx->header_size += nal[i].sizeBytes; - ctx->header = av_malloc(ctx->header_size); + ctx->header = av_malloc(ctx->header_size + FF_INPUT_BUFFER_PADDING_SIZE); if (!ctx->header) { av_log(avctx, AV_LOG_ERROR, "Cannot allocate HEVC header of size %d.\n", ctx->header_size); @@ -204,6 +204,13 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) buf += nal[i].sizeBytes; } + if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) { + avctx->extradata_size = ctx->header_size; + avctx->extradata = ctx->header; + ctx->header_size = 0; + ctx->header = NULL; + } + return 0; } |