[FFmpeg-devel] [PATCH 1/2] lavc/videotoolboxenc: Dump the encoder
"zhilizhao(赵志立)"
quinkblack at foxmail.com
Tue Sep 5 13:47:29 EEST 2023
> On Sep 5, 2023, at 18:43, Richard Kern <kernrj at gmail.com> wrote:
>
>
>
>> 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;
Nit: encoder_id.
>> + 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);
>> + }
How about extract it to a function so the encoder id can be used in error message?
>> +
>> 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".
> _______________________________________________
> 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