[FFmpeg-devel] [PATCH 1/2] lavc/videotoolboxenc: Dump the encoder

2023-09-03 Thread Jun Zhao
Dump the encoder, it's will help debug some case

Signed-off-by: Jun Zhao 
---
 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,
+   kCFStringEncodingUTF8);
+av_log(avctx, AV_LOG_INFO, "Init the encoder: %s\n", names);
+}
+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@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/videotoolboxenc: Dump the encoder

2023-09-05 Thread Tomas Härdin
mån 2023-09-04 klockan 11:53 +0800 skrev Jun Zhao:
> Dump the encoder, it's will help debug some case
> 
> Signed-off-by: Jun Zhao 
> ---
>  libavcodec/videotoolboxenc.c | 20 
>  1 file changed, 20 insertions(+)

Looks OK

/Tomas
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/videotoolboxenc: Dump the encoder

2023-09-05 Thread Richard Kern


> On Sep 3, 2023, at 11:53 PM, Jun Zhao  wrote:
> 
> Dump the encoder, it's will help debug some case
> 
> Signed-off-by: Jun Zhao 
> ---
> 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@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


Re: [FFmpeg-devel] [PATCH 1/2] lavc/videotoolboxenc: Dump the encoder

2023-09-05 Thread zhilizhao(赵志立)


> On Sep 5, 2023, at 18:43, Richard Kern  wrote:
> 
> 
> 
>> On Sep 3, 2023, at 11:53 PM, Jun Zhao  wrote:
>> 
>> Dump the encoder, it's will help debug some case
>> 
>> Signed-off-by: Jun Zhao 
>> ---
>> 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@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".