[FFmpeg-devel] [PATCH v15 1/2] lavc/svt_hevc: add libsvt hevc encoder wrapper
Limin Wang
lance.lmwang at gmail.com
Wed Jul 31 02:24:24 EEST 2019
On Tue, Jul 30, 2019 at 07:48:43PM +0200, Carl Eugen Hoyos wrote:
> Am Di., 30. Juli 2019 um 15:20 Uhr schrieb James Almer <jamrial at gmail.com>:
> >
> > On 7/30/2019 2:59 AM, Limin Wang wrote:
> > >> + if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
> > >> + EB_BUFFERHEADERTYPE *header_ptr = NULL;
> > >> +
> > >> + svt_ret = EbH265EncStreamHeader(svt_enc->svt_handle, &header_ptr);
> > >> + if (svt_ret != EB_ErrorNone) {
> > >> + av_log(avctx, AV_LOG_ERROR, "Failed to build stream header\n");
> > >> + goto failed_init_encoder;
> > >> + }
> > >> +
> > >> + avctx->extradata_size = header_ptr->nFilledLen;
> > >> + avctx->extradata = av_malloc(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
> > > It's preferalbe to use av_mallocz
> >
> > He was asked to do it this way as it's faster. No need to zero the whole
> > buffer if it's going to be written to immediately afterwards. Only the
> > trailing padding bytes needs to be zeroed.
>
> In this case I suspect there is an unneeded cast in the next line.
FYI:
libavcodec/avcodec.h comments for the extradata_size
* The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger
* than extradata_size to avoid problems if it is read with the bitstream reader.
* The bytewise contents of extradata must not depend on the architecture or CPU endianness.
* Must be allocated with the av_malloc() family of functions.
>
> Carl Eugen
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list