Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts
@ 2022-10-31 11:53 Paul B Mahol
  2022-10-31 12:15 ` Andreas Rheinhardt
  2022-10-31 20:23 ` Paul B Mahol
  0 siblings, 2 replies; 5+ messages in thread
From: Paul B Mahol @ 2022-10-31 11:53 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

[-- Attachment #1: Type: text/plain, Size: 16 bytes --]

Patch attached.

[-- Attachment #2: 0001-avfilter-src_movie-support-unknown-channel-layouts.patch --]
[-- Type: text/x-patch, Size: 1276 bytes --]

From 975a677906256f5f7a6da876a1eede21c5cb2a8e Mon Sep 17 00:00:00 2001
From: Paul B Mahol <onemda@gmail.com>
Date: Mon, 31 Oct 2022 12:55:17 +0100
Subject: [PATCH] avfilter/src_movie: support unknown channel layouts

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavfilter/src_movie.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index 711854c23c..2e30e54ad2 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -196,11 +196,15 @@ static int guess_channel_layout(MovieStream *st, int st_index, void *log_ctx)
     av_channel_layout_default(&chl, dec_par->ch_layout.nb_channels);
 
     if (!KNOWN(&chl)) {
-        av_log(log_ctx, AV_LOG_ERROR,
+        char *cl_name;
+
+        av_log(log_ctx, AV_LOG_WARNING,
                "Channel layout is not set in stream %d, and could not "
                "be guessed from the number of channels (%d)\n",
                st_index, dec_par->ch_layout.nb_channels);
-        return AVERROR(EINVAL);
+        cl_name = av_asprintf("%dC", dec_par->ch_layout.nb_channels);
+        av_channel_layout_from_string(&chl, cl_name);
+        free(cl_name);
     }
 
     av_channel_layout_describe(&chl, buf, sizeof(buf));
-- 
2.37.2


[-- Attachment #3: Type: text/plain, Size: 251 bytes --]

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

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts
  2022-10-31 11:53 [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts Paul B Mahol
@ 2022-10-31 12:15 ` Andreas Rheinhardt
  2022-10-31 19:40   ` James Almer
  2022-10-31 20:23 ` Paul B Mahol
  1 sibling, 1 reply; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-10-31 12:15 UTC (permalink / raw)
  To: ffmpeg-devel

Paul B Mahol:
> -        av_log(log_ctx, AV_LOG_ERROR,
> +        char *cl_name;
> +
> +        av_log(log_ctx, AV_LOG_WARNING,
>                 "Channel layout is not set in stream %d, and could not "
>                 "be guessed from the number of channels (%d)\n",
>                 st_index, dec_par->ch_layout.nb_channels);
> -        return AVERROR(EINVAL);
> +        cl_name = av_asprintf("%dC", dec_par->ch_layout.nb_channels);
> +        av_channel_layout_from_string(&chl, cl_name);
> +        free(cl_name);

1. Wrong deallocator.
2. The allocation is completely unnecessary: One can just use snprintf
with a big enough (yet still small) buffer.
3. But even that is unnecessary: Just set chl = (AVChannelLayout){
.order = AV_CHANNEL_ORDER_UNSPEC, .nb_channels =
dec_par->ch_layout.nb_channels }.

- Andreas

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

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts
  2022-10-31 12:15 ` Andreas Rheinhardt
@ 2022-10-31 19:40   ` James Almer
  0 siblings, 0 replies; 5+ messages in thread
From: James Almer @ 2022-10-31 19:40 UTC (permalink / raw)
  To: ffmpeg-devel



On 10/31/2022 9:15 AM, Andreas Rheinhardt wrote:
> Paul B Mahol:
>> -        av_log(log_ctx, AV_LOG_ERROR,
>> +        char *cl_name;
>> +
>> +        av_log(log_ctx, AV_LOG_WARNING,
>>                  "Channel layout is not set in stream %d, and could not "
>>                  "be guessed from the number of channels (%d)\n",
>>                  st_index, dec_par->ch_layout.nb_channels);
>> -        return AVERROR(EINVAL);
>> +        cl_name = av_asprintf("%dC", dec_par->ch_layout.nb_channels);
>> +        av_channel_layout_from_string(&chl, cl_name);
>> +        free(cl_name);
> 
> 1. Wrong deallocator.
> 2. The allocation is completely unnecessary: One can just use snprintf
> with a big enough (yet still small) buffer.
> 3. But even that is unnecessary: Just set chl = (AVChannelLayout){
> .order = AV_CHANNEL_ORDER_UNSPEC, .nb_channels =
> dec_par->ch_layout.nb_channels }.

He doesn't even need to do that because it's already set. 
av_channel_layout_default() will give set the output layout as an UNSPEC 
one with nb_channels amount of channels if it can't find a named native 
layout for it.

There is however a problem with this patch as is, and it's the next 
printed warning now that he removed the return. After this change it 
will mention a layout was guessed when one wasn't. So this patch should 
simply change the "return AVERROR(EINVAL)" into another "return 
av_channel_layout_copy(&dec_par->ch_layout, &chl);"
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts
  2022-10-31 11:53 [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts Paul B Mahol
  2022-10-31 12:15 ` Andreas Rheinhardt
@ 2022-10-31 20:23 ` Paul B Mahol
  2022-11-01 15:25   ` Paul B Mahol
  1 sibling, 1 reply; 5+ messages in thread
From: Paul B Mahol @ 2022-10-31 20:23 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

[-- Attachment #1: Type: text/plain, Size: 95 bytes --]

On 10/31/22, Paul B Mahol <onemda@gmail.com> wrote:
> Patch attached.
>

Fixed patch attached.

[-- Attachment #2: 0001-avfilter-src_movie-support-unknown-channel-layouts.patch --]
[-- Type: text/x-patch, Size: 1163 bytes --]

From 17a5d411ff9a130aab7b9f638c94b35281f20133 Mon Sep 17 00:00:00 2001
From: Paul B Mahol <onemda@gmail.com>
Date: Mon, 31 Oct 2022 12:55:17 +0100
Subject: [PATCH] avfilter/src_movie: support unknown channel layouts

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavfilter/src_movie.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index 711854c23c..5937613d13 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -196,11 +196,11 @@ static int guess_channel_layout(MovieStream *st, int st_index, void *log_ctx)
     av_channel_layout_default(&chl, dec_par->ch_layout.nb_channels);
 
     if (!KNOWN(&chl)) {
-        av_log(log_ctx, AV_LOG_ERROR,
+        av_log(log_ctx, AV_LOG_WARNING,
                "Channel layout is not set in stream %d, and could not "
                "be guessed from the number of channels (%d)\n",
                st_index, dec_par->ch_layout.nb_channels);
-        return AVERROR(EINVAL);
+        return av_channel_layout_copy(&dec_par->ch_layout, &chl);
     }
 
     av_channel_layout_describe(&chl, buf, sizeof(buf));
-- 
2.37.2


[-- Attachment #3: Type: text/plain, Size: 251 bytes --]

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

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts
  2022-10-31 20:23 ` Paul B Mahol
@ 2022-11-01 15:25   ` Paul B Mahol
  0 siblings, 0 replies; 5+ messages in thread
From: Paul B Mahol @ 2022-11-01 15:25 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On 10/31/22, Paul B Mahol <onemda@gmail.com> wrote:
> On 10/31/22, Paul B Mahol <onemda@gmail.com> wrote:
>> Patch attached.
>>
>
> Fixed patch attached.
>

Will apply immediately.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-01 15:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-31 11:53 [FFmpeg-devel] [PATCH] avfilter/src_movie: support unknown channel layouts Paul B Mahol
2022-10-31 12:15 ` Andreas Rheinhardt
2022-10-31 19:40   ` James Almer
2022-10-31 20:23 ` Paul B Mahol
2022-11-01 15:25   ` Paul B Mahol

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git