[FFmpeg-devel] [PATCH] lavc/videotoolboxenc: set DataRateLimits for hevc

Steven Liu lq at chinaffmpeg.org
Sun Apr 25 11:47:33 EEST 2021



> 2021年4月25日 下午4:06,Zhao Zhili <quinkblack at foxmail.com> 写道:
> 
> From the comment it's not available on old version. It works now
> by testing on macOS 11.2.1. There is no document about since when.
> So trying to set the configuration and ignore the error for hevc.
> ---
> libavcodec/videotoolboxenc.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
> index 9b7ee6720c..cefd70fa88 100644
> --- a/libavcodec/videotoolboxenc.c
> +++ b/libavcodec/videotoolboxenc.c
> @@ -1113,8 +1113,8 @@ static int vtenc_create_encoder(AVCodecContext   *avctx,
>         return AVERROR_EXTERNAL;
>     }
> 
> -    if (vtctx->codec_id == AV_CODEC_ID_H264 && max_rate > 0) {
> -        // kVTCompressionPropertyKey_DataRateLimits is not available for HEVC
> +    if ((vtctx->codec_id == AV_CODEC_ID_H264 || vtctx->codec_id == AV_CODEC_ID_HEVC)
> +            && max_rate > 0) {
>         bytes_per_second_value = max_rate >> 3;
>         bytes_per_second = CFNumberCreate(kCFAllocatorDefault,
>                                           kCFNumberSInt64Type,
> @@ -1152,7 +1152,11 @@ static int vtenc_create_encoder(AVCodecContext   *avctx,
> 
>         if (status) {
>             av_log(avctx, AV_LOG_ERROR, "Error setting max bitrate property: %d\n", status);
> -            return AVERROR_EXTERNAL;
> +            // kVTCompressionPropertyKey_DataRateLimits is available for HEVC
> +            // now but not on old release. There is no document about since
> +            // when. So ignore the error if it failed for hevc.
> +            if (vtctx->codec_id != AV_CODEC_ID_HEVC)
> +                return AVERROR_EXTERNAL;
>         }
>     }
> 
> -- 
> 2.31.1
> 
> 
> _______________________________________________
> 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".
> 

LGTM

Thanks

Steven Liu





More information about the ffmpeg-devel mailing list