[FFmpeg-cvslog] avcodec/libx265: fill headers in extradata
Michael Niedermayer
git at videolan.org
Sat Mar 15 02:56:09 CET 2014
ffmpeg | branch: release/2.2 | Michael Niedermayer <michaelni at gmx.at> | Fri Mar 14 04:26:24 2014 +0100| [125bea15d1f6248f4eb2131add7fc11e636f9455] | committer: Michael Niedermayer
avcodec/libx265: fill headers in extradata
Fixes Ticket3457
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit dded5ed9c5eb0c3d5a953e661ea21a9019e93ea4)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=125bea15d1f6248f4eb2131add7fc11e636f9455
---
libavcodec/libx265.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c
index 2370601..e03d72f 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;
}
More information about the ffmpeg-cvslog
mailing list