* [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout
@ 2022-03-18 22:19 James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 2/3] avformat/dfpwmdec: " James Almer
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: James Almer @ 2022-03-18 22:19 UTC (permalink / raw)
To: ffmpeg-devel
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/pcmdec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
index dcd13787d5..a2bcfc2814 100644
--- a/libavformat/pcmdec.c
+++ b/libavformat/pcmdec.c
@@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes VIDC", NULL, VIDC)
#if CONFIG_SLN_DEMUXER
static const AVOption sln_options[] = {
{ "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
- { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "ch_layout", "", offsetof(PCMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
};
--
2.35.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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 12+ messages in thread
* [FFmpeg-devel] [PATCH 2/3] avformat/dfpwmdec: add support to set channel layout
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
@ 2022-03-18 22:19 ` James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 3/3] avformat/test/seek: set ch_layout instead of channels James Almer
` (4 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: James Almer @ 2022-03-18 22:19 UTC (permalink / raw)
To: ffmpeg-devel
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/dfpwmdec.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/libavformat/dfpwmdec.c b/libavformat/dfpwmdec.c
index 9f935a422a..3bd8bc0e41 100644
--- a/libavformat/dfpwmdec.c
+++ b/libavformat/dfpwmdec.c
@@ -32,6 +32,7 @@ typedef struct DFPWMAudioDemuxerContext {
AVClass *class;
int sample_rate;
int channels;
+ AVChannelLayout ch_layout;
} DFPWMAudioDemuxerContext;
static int dfpwm_read_header(AVFormatContext *s)
@@ -48,7 +49,13 @@ static int dfpwm_read_header(AVFormatContext *s)
par->codec_type = AVMEDIA_TYPE_AUDIO;
par->codec_id = s->iformat->raw_codec_id;
par->sample_rate = s1->sample_rate;
- par->ch_layout.nb_channels = s1->channels;
+ if (s1->channels)
+ par->ch_layout.nb_channels = s1->channels;
+ else {
+ int ret = av_channel_layout_copy(&par->ch_layout, &s1->ch_layout);
+ if (ret < 0)
+ return ret;
+ }
par->bits_per_coded_sample = 1;
par->block_align = 1;
@@ -58,7 +65,8 @@ static int dfpwm_read_header(AVFormatContext *s)
static const AVOption dfpwm_options[] = {
{ "sample_rate", "", offsetof(DFPWMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 48000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
- { "channels", "", offsetof(DFPWMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "channels", "", offsetof(DFPWMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "ch_layout", "", offsetof(DFPWMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
};
static const AVClass dfpwm_demuxer_class = {
--
2.35.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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 12+ messages in thread
* [FFmpeg-devel] [PATCH 3/3] avformat/test/seek: set ch_layout instead of channels
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 2/3] avformat/dfpwmdec: " James Almer
@ 2022-03-18 22:19 ` James Almer
2022-03-18 22:41 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Andreas Rheinhardt
` (3 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: James Almer @ 2022-03-18 22:19 UTC (permalink / raw)
To: ffmpeg-devel
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/tests/seek.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/tests/seek.c b/libavformat/tests/seek.c
index e0067a64fc..94a72d9422 100644
--- a/libavformat/tests/seek.c
+++ b/libavformat/tests/seek.c
@@ -88,7 +88,7 @@ int main(int argc, char **argv)
}
}
- av_dict_set(&format_opts, "channels", "1", 0);
+ av_dict_set(&format_opts, "ch_layout", "mono", 0);
av_dict_set(&format_opts, "sample_rate", "22050", 0);
if (argc < 2) {
--
2.35.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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 2/3] avformat/dfpwmdec: " James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 3/3] avformat/test/seek: set ch_layout instead of channels James Almer
@ 2022-03-18 22:41 ` Andreas Rheinhardt
2022-03-18 22:44 ` James Almer
2022-03-18 22:47 ` [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one James Almer
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Andreas Rheinhardt @ 2022-03-18 22:41 UTC (permalink / raw)
To: ffmpeg-devel
James Almer:
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavformat/pcmdec.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
> index dcd13787d5..a2bcfc2814 100644
> --- a/libavformat/pcmdec.c
> +++ b/libavformat/pcmdec.c
> @@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes VIDC", NULL, VIDC)
> #if CONFIG_SLN_DEMUXER
> static const AVOption sln_options[] = {
> { "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
> - { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
> + { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
> + { "ch_layout", "", offsetof(PCMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
> { NULL },
> };
>
There is no avformat/slndec. And I presume it is possible to set an
unspecified channel layout via AV_OPT_TYPE_CHLAYOUT, so why don't you
deprecate the now redundant channels option?
- 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] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout
2022-03-18 22:41 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Andreas Rheinhardt
@ 2022-03-18 22:44 ` James Almer
2022-03-18 22:47 ` Andreas Rheinhardt
0 siblings, 1 reply; 12+ messages in thread
From: James Almer @ 2022-03-18 22:44 UTC (permalink / raw)
To: ffmpeg-devel
On 3/18/2022 7:41 PM, Andreas Rheinhardt wrote:
> James Almer:
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>> libavformat/pcmdec.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
>> index dcd13787d5..a2bcfc2814 100644
>> --- a/libavformat/pcmdec.c
>> +++ b/libavformat/pcmdec.c
>> @@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes VIDC", NULL, VIDC)
>> #if CONFIG_SLN_DEMUXER
>> static const AVOption sln_options[] = {
>> { "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
>> - { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
>> + { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
>> + { "ch_layout", "", offsetof(PCMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
>> { NULL },
>> };
>>
>
> There is no avformat/slndec. And I presume it is possible to set an
> unspecified channel layout via AV_OPT_TYPE_CHLAYOUT, so why don't you
> deprecate the now redundant channels option?
There is no slndec, but it's the sln demuxer, so it seemed better than
to write pcmdec. I can change it if you want.
And yes, I was going to deprecate the channels option, but in a separate
patch(set).
>
> - 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".
_______________________________________________
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] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout
2022-03-18 22:44 ` James Almer
@ 2022-03-18 22:47 ` Andreas Rheinhardt
0 siblings, 0 replies; 12+ messages in thread
From: Andreas Rheinhardt @ 2022-03-18 22:47 UTC (permalink / raw)
To: ffmpeg-devel
James Almer:
> On 3/18/2022 7:41 PM, Andreas Rheinhardt wrote:
>> James Almer:
>>> Signed-off-by: James Almer <jamrial@gmail.com>
>>> ---
>>> libavformat/pcmdec.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
>>> index dcd13787d5..a2bcfc2814 100644
>>> --- a/libavformat/pcmdec.c
>>> +++ b/libavformat/pcmdec.c
>>> @@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes
>>> VIDC", NULL, VIDC)
>>> #if CONFIG_SLN_DEMUXER
>>> static const AVOption sln_options[] = {
>>> { "sample_rate", "", offsetof(PCMAudioDemuxerContext,
>>> sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX,
>>> AV_OPT_FLAG_DECODING_PARAM },
>>> - { "channels", "", offsetof(PCMAudioDemuxerContext,
>>> channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX,
>>> AV_OPT_FLAG_DECODING_PARAM },
>>> + { "channels", "", offsetof(PCMAudioDemuxerContext,
>>> channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX,
>>> AV_OPT_FLAG_DECODING_PARAM },
>>> + { "ch_layout", "", offsetof(PCMAudioDemuxerContext,
>>> ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0,
>>> AV_OPT_FLAG_DECODING_PARAM },
>>> { NULL },
>>> };
>>>
>>
>> There is no avformat/slndec. And I presume it is possible to set an
>> unspecified channel layout via AV_OPT_TYPE_CHLAYOUT, so why don't you
>> deprecate the now redundant channels option?
>
> There is no slndec, but it's the sln demuxer, so it seemed better than
> to write pcmdec. I can change it if you want.
>
The naming convention contains the (main) file that is changed; the fact
that it is about the sln demuxer can (and should) be mentioned in the
commit title afterwards like: "avformat/pcmdec: Add support for channel
layouts for sln"
- 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] 12+ messages in thread
* [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
` (2 preceding siblings ...)
2022-03-18 22:41 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Andreas Rheinhardt
@ 2022-03-18 22:47 ` James Almer
2022-03-19 18:29 ` Michael Niedermayer
2022-03-18 22:50 ` [FFmpeg-devel] [PATCH 1/4 v2] avformat/pcmdec: Add support for channel layouts for sln James Almer
2022-03-19 13:52 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Anton Khirnov
5 siblings, 1 reply; 12+ messages in thread
From: James Almer @ 2022-03-18 22:47 UTC (permalink / raw)
To: ffmpeg-devel
This is cleaner and allows fine tuning which stream the option is applied to.
Signed-off-by: James Almer <jamrial@gmail.com>
---
fftools/ffmpeg.h | 2 ++
fftools/ffmpeg_opt.c | 84 ++++++++++++++++++--------------------------
2 files changed, 36 insertions(+), 50 deletions(-)
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index 6a19dc9c7c..1e14bf9fa9 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -96,6 +96,8 @@ typedef struct OptionsContext {
SpecifierOpt *codec_names;
int nb_codec_names;
+ SpecifierOpt *audio_ch_layouts;
+ int nb_audio_ch_layouts;
SpecifierOpt *audio_channels;
int nb_audio_channels;
SpecifierOpt *audio_sample_rate;
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 70e6502f22..f5c759c6d1 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -55,6 +55,7 @@
static const char *const opt_name_codec_names[] = {"c", "codec", "acodec", "vcodec", "scodec", "dcodec", NULL};
static const char *const opt_name_audio_channels[] = {"ac", NULL};
+static const char *const opt_name_audio_ch_layouts[] = {"channel_layout", NULL};
static const char *const opt_name_audio_sample_rate[] = {"ar", NULL};
static const char *const opt_name_frame_rates[] = {"r", NULL};
static const char *const opt_name_max_frame_rates[] = {"fpsmax", NULL};
@@ -1124,6 +1125,15 @@ static int open_input_file(OptionsContext *o, const char *filename)
av_dict_set_int(&o->g->format_opts, "channels", o->audio_channels[o->nb_audio_channels - 1].u.i, 0);
}
}
+ if (o->nb_audio_ch_layouts) {
+ const AVClass *priv_class;
+ if (file_iformat && (priv_class = file_iformat->priv_class) &&
+ av_opt_find(&priv_class, "ch_layout", NULL, 0,
+ AV_OPT_SEARCH_FAKE_OBJ)) {
+ av_dict_set(&o->g->format_opts, "ch_layout", o->audio_ch_layouts[o->nb_audio_ch_layouts - 1].u.str, 0);
+ }
+
+ }
if (o->nb_frame_rates) {
const AVClass *priv_class;
/* set the format-level framerate option;
@@ -1946,6 +1956,7 @@ static OutputStream *new_audio_stream(OptionsContext *o, AVFormatContext *oc, in
if (!ost->stream_copy) {
int channels = 0;
+ char *layout = NULL;
char *sample_fmt = NULL;
MATCH_PER_STREAM_OPT(audio_channels, i, channels, oc, st);
@@ -1954,6 +1965,27 @@ static OutputStream *new_audio_stream(OptionsContext *o, AVFormatContext *oc, in
audio_enc->ch_layout.nb_channels = channels;
}
+ MATCH_PER_STREAM_OPT(audio_ch_layouts, str, layout, oc, st);
+ if (layout) {
+ if (av_channel_layout_from_string(&audio_enc->ch_layout, layout) < 0) {
+#if FF_API_OLD_CHANNEL_LAYOUT
+ uint64_t mask;
+ AV_NOWARN_DEPRECATED({
+ mask = av_get_channel_layout(layout);
+ })
+ if (!mask) {
+#endif
+ av_log(NULL, AV_LOG_FATAL, "Unknown channel layout: %s\n", layout);
+ exit_program(1);
+#if FF_API_OLD_CHANNEL_LAYOUT
+ }
+ av_log(NULL, AV_LOG_WARNING, "Channel layout '%s' uses a deprecated syntax.\n",
+ layout);
+ av_channel_layout_from_mask(&audio_enc->ch_layout, mask);
+#endif
+ }
+ }
+
MATCH_PER_STREAM_OPT(sample_fmts, str, sample_fmt, oc, st);
if (sample_fmt &&
(audio_enc->sample_fmt = av_get_sample_fmt(sample_fmt)) == AV_SAMPLE_FMT_NONE) {
@@ -3235,54 +3267,6 @@ static int opt_timecode(void *optctx, const char *opt, const char *arg)
return ret;
}
-static int opt_channel_layout(void *optctx, const char *opt, const char *arg)
-{
- OptionsContext *o = optctx;
- char layout_str[32];
- char *stream_str;
- char *ac_str;
- int ret, ac_str_size;
- AVChannelLayout layout = { 0 };
-
- ret = av_channel_layout_from_string(&layout, arg);
- if (ret < 0) {
-#if FF_API_OLD_CHANNEL_LAYOUT
- uint64_t mask;
- AV_NOWARN_DEPRECATED({
- mask = av_get_channel_layout(arg);
- })
- if (!mask) {
-#endif
- av_log(NULL, AV_LOG_ERROR, "Unknown channel layout: %s\n", arg);
- return AVERROR(EINVAL);
-#if FF_API_OLD_CHANNEL_LAYOUT
- }
- av_log(NULL, AV_LOG_WARNING, "Channel layout '%s' uses a deprecated syntax.\n",
- arg);
- av_channel_layout_from_mask(&layout, mask);
-#endif
- }
-
- ret = opt_default_new(o, opt, arg);
- if (ret < 0)
- return ret;
-
- /* set 'ac' option based on channel layout */
- snprintf(layout_str, sizeof(layout_str), "%d", layout.nb_channels);
- stream_str = strchr(opt, ':');
- ac_str_size = 3 + (stream_str ? strlen(stream_str) : 0);
- ac_str = av_mallocz(ac_str_size);
- if (!ac_str)
- return AVERROR(ENOMEM);
- av_strlcpy(ac_str, "ac", 3);
- if (stream_str)
- av_strlcat(ac_str, stream_str, ac_str_size);
- ret = parse_option(o, ac_str, layout_str, options);
- av_free(ac_str);
-
- return ret;
-}
-
static int opt_audio_qscale(void *optctx, const char *opt, const char *arg)
{
OptionsContext *o = optctx;
@@ -3827,8 +3811,8 @@ const OptionDef options[] = {
{ "sample_fmt", OPT_AUDIO | HAS_ARG | OPT_EXPERT | OPT_SPEC |
OPT_STRING | OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(sample_fmts) },
"set sample format", "format" },
- { "channel_layout", OPT_AUDIO | HAS_ARG | OPT_EXPERT | OPT_PERFILE |
- OPT_INPUT | OPT_OUTPUT, { .func_arg = opt_channel_layout },
+ { "channel_layout", OPT_AUDIO | HAS_ARG | OPT_EXPERT | OPT_SPEC |
+ OPT_STRING | OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(audio_ch_layouts) },
"set channel layout", "layout" },
{ "af", OPT_AUDIO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_audio_filters },
"set audio filters", "filter_graph" },
--
2.35.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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 12+ messages in thread
* [FFmpeg-devel] [PATCH 1/4 v2] avformat/pcmdec: Add support for channel layouts for sln
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
` (3 preceding siblings ...)
2022-03-18 22:47 ` [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one James Almer
@ 2022-03-18 22:50 ` James Almer
2022-03-19 13:52 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Anton Khirnov
5 siblings, 0 replies; 12+ messages in thread
From: James Almer @ 2022-03-18 22:50 UTC (permalink / raw)
To: ffmpeg-devel
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavformat/pcmdec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
index dcd13787d5..a2bcfc2814 100644
--- a/libavformat/pcmdec.c
+++ b/libavformat/pcmdec.c
@@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes VIDC", NULL, VIDC)
#if CONFIG_SLN_DEMUXER
static const AVOption sln_options[] = {
{ "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
- { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
+ { "ch_layout", "", offsetof(PCMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
};
--
2.35.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-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
` (4 preceding siblings ...)
2022-03-18 22:50 ` [FFmpeg-devel] [PATCH 1/4 v2] avformat/pcmdec: Add support for channel layouts for sln James Almer
@ 2022-03-19 13:52 ` Anton Khirnov
2022-03-20 17:06 ` James Almer
5 siblings, 1 reply; 12+ messages in thread
From: Anton Khirnov @ 2022-03-19 13:52 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Quoting James Almer (2022-03-18 23:19:05)
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavformat/pcmdec.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
> index dcd13787d5..a2bcfc2814 100644
> --- a/libavformat/pcmdec.c
> +++ b/libavformat/pcmdec.c
> @@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes VIDC", NULL, VIDC)
> #if CONFIG_SLN_DEMUXER
> static const AVOption sln_options[] = {
> { "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
> - { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
> + { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
> + { "ch_layout", "", offsetof(PCMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
> { NULL },
> };
>
> --
> 2.35.1
For what purpose? The demuxer doesn't do anything with the value.
--
Anton Khirnov
_______________________________________________
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] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one
2022-03-18 22:47 ` [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one James Almer
@ 2022-03-19 18:29 ` Michael Niedermayer
2022-03-20 18:03 ` James Almer
0 siblings, 1 reply; 12+ messages in thread
From: Michael Niedermayer @ 2022-03-19 18:29 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 672 bytes --]
On Fri, Mar 18, 2022 at 07:47:48PM -0300, James Almer wrote:
> This is cleaner and allows fine tuning which stream the option is applied to.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> fftools/ffmpeg.h | 2 ++
> fftools/ffmpeg_opt.c | 84 ++++++++++++++++++--------------------------
> 2 files changed, 36 insertions(+), 50 deletions(-)
Not sure its intended or not but
This changes the output of
./ffmpeg -channel_layout 3.0 -ac 3 -f u8 -i /dev/zero -t 1 /tmp/file-old.wav
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
It is what and why we do it that matters, not just one of them.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: 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] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout
2022-03-19 13:52 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Anton Khirnov
@ 2022-03-20 17:06 ` James Almer
0 siblings, 0 replies; 12+ messages in thread
From: James Almer @ 2022-03-20 17:06 UTC (permalink / raw)
To: ffmpeg-devel
On 3/19/2022 10:52 AM, Anton Khirnov wrote:
> Quoting James Almer (2022-03-18 23:19:05)
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>> libavformat/pcmdec.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavformat/pcmdec.c b/libavformat/pcmdec.c
>> index dcd13787d5..a2bcfc2814 100644
>> --- a/libavformat/pcmdec.c
>> +++ b/libavformat/pcmdec.c
>> @@ -170,7 +170,8 @@ PCMDEF(vidc, "PCM Archimedes VIDC", NULL, VIDC)
>> #if CONFIG_SLN_DEMUXER
>> static const AVOption sln_options[] = {
>> { "sample_rate", "", offsetof(PCMAudioDemuxerContext, sample_rate), AV_OPT_TYPE_INT, {.i64 = 8000}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
>> - { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
>> + { "channels", "", offsetof(PCMAudioDemuxerContext, channels), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
>> + { "ch_layout", "", offsetof(PCMAudioDemuxerContext, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = "mono"}, 0, 0, AV_OPT_FLAG_DECODING_PARAM },
>> { NULL },
>> };
>>
>> --
>> 2.35.1
>
> For what purpose? The demuxer doesn't do anything with the value.
The demuxer calls pcm_read_header() as init, which uses it.
_______________________________________________
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] 12+ messages in thread
* Re: [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one
2022-03-19 18:29 ` Michael Niedermayer
@ 2022-03-20 18:03 ` James Almer
0 siblings, 0 replies; 12+ messages in thread
From: James Almer @ 2022-03-20 18:03 UTC (permalink / raw)
To: ffmpeg-devel
On 3/19/2022 3:29 PM, Michael Niedermayer wrote:
> On Fri, Mar 18, 2022 at 07:47:48PM -0300, James Almer wrote:
>> This is cleaner and allows fine tuning which stream the option is applied to.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>> fftools/ffmpeg.h | 2 ++
>> fftools/ffmpeg_opt.c | 84 ++++++++++++++++++--------------------------
>> 2 files changed, 36 insertions(+), 50 deletions(-)
>
> Not sure its intended or not but
> This changes the output of
>
No, it's probably not intended.
> ./ffmpeg -channel_layout 3.0 -ac 3 -f u8 -i /dev/zero -t 1 /tmp/file-old.wav
I assume (since i can't test) that a 2.1 layout is being set instead, if
any.
Guess i need to change how and with what priority "channels" and
"ch_layout" in pcm demuxer are parsed.
>
> thx
>
> [...]
>
>
> _______________________________________________
> 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".
_______________________________________________
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] 12+ messages in thread
end of thread, other threads:[~2022-03-20 18:04 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-18 22:19 [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 2/3] avformat/dfpwmdec: " James Almer
2022-03-18 22:19 ` [FFmpeg-devel] [PATCH 3/3] avformat/test/seek: set ch_layout instead of channels James Almer
2022-03-18 22:41 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Andreas Rheinhardt
2022-03-18 22:44 ` James Almer
2022-03-18 22:47 ` Andreas Rheinhardt
2022-03-18 22:47 ` [FFmpeg-devel] [PATCH 4/4] ffmpeg: replace custom channel_layout code with an SpecifierOpt based one James Almer
2022-03-19 18:29 ` Michael Niedermayer
2022-03-20 18:03 ` James Almer
2022-03-18 22:50 ` [FFmpeg-devel] [PATCH 1/4 v2] avformat/pcmdec: Add support for channel layouts for sln James Almer
2022-03-19 13:52 ` [FFmpeg-devel] [PATCH 1/3] avformat/slndec: add support to set channel layout Anton Khirnov
2022-03-20 17:06 ` James Almer
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