[FFmpeg-devel] [PATCH 1/2] lavc/videotoolboxenc: Dump the encoder
Richard Kern
kernrj at gmail.com
Tue Sep 5 13:43:38 EEST 2023
> On Sep 3, 2023, at 11:53 PM, Jun Zhao <mypopydev at gmail.com> wrote:
>
> Dump the encoder, it's will help debug some case
>
> Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
> ---
> libavcodec/videotoolboxenc.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
> index bfc03787a0..5633640a30 100644
> --- a/libavcodec/videotoolboxenc.c
> +++ b/libavcodec/videotoolboxenc.c
> @@ -1110,6 +1110,26 @@ static int vtenc_create_encoder(AVCodecContext *avctx,
> return AVERROR_EXTERNAL;
> }
>
> + // Dump the init encoder
> + {
> + CFStringRef encoderID = NULL;
> + status = VTSessionCopyProperty(vtctx->session,
> + kVTCompressionPropertyKey_EncoderID,
> + kCFAllocatorDefault,
> + &encoderID);
> + if (status == noErr) {
> + char names[256] = { 0 };
> +
> + CFStringGetCString(encoderID,
> + names,
> + 255,
Use sizeof(names) - 1 instead of 255. The hard coded value increases the chance of a bug if the size of names is changed.
> + kCFStringEncodingUTF8);
> + av_log(avctx, AV_LOG_INFO, "Init the encoder: %s\n", names);
This should be logged at the debug level since it doesn’t help users when encoding is successful.
> + }
> + if (encoderID != NULL)
> + CFRelease(encoderID);
> + }
> +
> if (avctx->flags & AV_CODEC_FLAG_QSCALE && !vtenc_qscale_enabled()) {
> av_log(avctx, AV_LOG_ERROR, "Error: -q:v qscale not available for encoder. Use -b:v bitrate instead.\n");
> return AVERROR_EXTERNAL;
> --
> 2.25.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".
More information about the ffmpeg-devel
mailing list