Message ID | 20240223143115.16521-15-anton@khirnov.net |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,01/38] lavu/opt: cosmetics, change option flags to (1 << N) style | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Hi Anton On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: > Will be useful in following commits. > --- breaks: ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. Input #0, mlp, from 'bug/401/mlp_5point1_downmixof6channel.mlp': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Audio: mlp, 48000 Hz, 5.1, s32 (24 bit) [mlp @ 0x55690e257900] Error setting option request_channel_layout to value 3. [aist#0:0/mlp @ 0x55690e254dc0] [dec:mlp @ 0x55690e256f40] Error while opening decoder: Invalid argument [aost#0:0/pcm_s16le @ 0x55690e255a80] Error initializing a simple filtergraph Error opening output file file-2-mlp_5point1_downmixof6channel.wav. Error opening output files: Invalid argument i suspect this isnt specific to the file but i can provide it if it doesnt reproduce with a other file thx [...]
On 2/23/2024 7:50 PM, Michael Niedermayer wrote: > Hi Anton > > On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: >> Will be useful in following commits. >> --- > > breaks: > > ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav fwiw, request_channel_layout will be removed in the upcoming bump. You should use -downmix stereo. > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > Input #0, mlp, from 'bug/401/mlp_5point1_downmixof6channel.mlp': > Duration: N/A, start: 0.000000, bitrate: N/A > Stream #0:0: Audio: mlp, 48000 Hz, 5.1, s32 (24 bit) > [mlp @ 0x55690e257900] Error setting option request_channel_layout to value 3. > [aist#0:0/mlp @ 0x55690e254dc0] [dec:mlp @ 0x55690e256f40] Error while opening decoder: Invalid argument > [aost#0:0/pcm_s16le @ 0x55690e255a80] Error initializing a simple filtergraph > Error opening output file file-2-mlp_5point1_downmixof6channel.wav. > Error opening output files: Invalid argument > > i suspect this isnt specific to the file but i can provide it if it > doesnt reproduce with a other file > > 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".
Quoting Michael Niedermayer (2024-02-23 23:50:10) > Hi Anton > > On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: > > Will be useful in following commits. > > --- > > breaks: > > ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > Input #0, mlp, from 'bug/401/mlp_5point1_downmixof6channel.mlp': > Duration: N/A, start: 0.000000, bitrate: N/A > Stream #0:0: Audio: mlp, 48000 Hz, 5.1, s32 (24 bit) > [mlp @ 0x55690e257900] Error setting option request_channel_layout to value 3. > [aist#0:0/mlp @ 0x55690e254dc0] [dec:mlp @ 0x55690e256f40] Error while opening decoder: Invalid argument > [aost#0:0/pcm_s16le @ 0x55690e255a80] Error initializing a simple filtergraph > Error opening output file file-2-mlp_5point1_downmixof6channel.wav. > Error opening output files: Invalid argument > > i suspect this isnt specific to the file but i can provide it if it > doesnt reproduce with a other file Cannot reproduce with another mlp or 5.1 ac3 file.
Quoting Anton Khirnov (2024-03-01 17:07:22) > Quoting Michael Niedermayer (2024-02-23 23:50:10) > > Hi Anton > > > > On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: > > > Will be useful in following commits. > > > --- > > > > breaks: > > > > ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav > > > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > > [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > > Input #0, mlp, from 'bug/401/mlp_5point1_downmixof6channel.mlp': > > Duration: N/A, start: 0.000000, bitrate: N/A > > Stream #0:0: Audio: mlp, 48000 Hz, 5.1, s32 (24 bit) > > [mlp @ 0x55690e257900] Error setting option request_channel_layout to value 3. > > [aist#0:0/mlp @ 0x55690e254dc0] [dec:mlp @ 0x55690e256f40] Error while opening decoder: Invalid argument > > [aost#0:0/pcm_s16le @ 0x55690e255a80] Error initializing a simple filtergraph > > Error opening output file file-2-mlp_5point1_downmixof6channel.wav. > > Error opening output files: Invalid argument > > > > i suspect this isnt specific to the file but i can provide it if it > > doesnt reproduce with a other file > > Cannot reproduce with another mlp or 5.1 ac3 file. Cannot reproduce with your sample either. Are you sure you're using the right code? It's branch 'avoption_list' in my tree.
On Sat, Feb 24, 2024 at 07:41:24PM -0300, James Almer wrote: > On 2/23/2024 7:50 PM, Michael Niedermayer wrote: > > Hi Anton > > > > On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: > > > Will be useful in following commits. > > > --- > > > > breaks: > > > > ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav > > fwiw, request_channel_layout will be removed in the upcoming bump. You > should use -downmix stereo. > > > > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > > [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. the error message should point to the new option thx [...]
On Sun, Mar 03, 2024 at 01:17:57PM +0100, Anton Khirnov wrote: > Quoting Anton Khirnov (2024-03-01 17:07:22) > > Quoting Michael Niedermayer (2024-02-23 23:50:10) > > > Hi Anton > > > > > > On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: > > > > Will be useful in following commits. > > > > --- > > > > > > breaks: > > > > > > ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav > > > > > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > > > [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info > > > [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > > > Input #0, mlp, from 'bug/401/mlp_5point1_downmixof6channel.mlp': > > > Duration: N/A, start: 0.000000, bitrate: N/A > > > Stream #0:0: Audio: mlp, 48000 Hz, 5.1, s32 (24 bit) > > > [mlp @ 0x55690e257900] Error setting option request_channel_layout to value 3. > > > [aist#0:0/mlp @ 0x55690e254dc0] [dec:mlp @ 0x55690e256f40] Error while opening decoder: Invalid argument > > > [aost#0:0/pcm_s16le @ 0x55690e255a80] Error initializing a simple filtergraph > > > Error opening output file file-2-mlp_5point1_downmixof6channel.wav. > > > Error opening output files: Invalid argument > > > > > > i suspect this isnt specific to the file but i can provide it if it > > > doesnt reproduce with a other file > > > > Cannot reproduce with another mlp or 5.1 ac3 file. > > Cannot reproduce with your sample either. Are you sure you're using the > right code? It's branch 'avoption_list' in my tree. it worked with "-downmix stereo" instead of "-request_channel_layout 3" as suggested by james thx [...]
On 3/5/2024 8:08 PM, Michael Niedermayer wrote: > On Sat, Feb 24, 2024 at 07:41:24PM -0300, James Almer wrote: >> On 2/23/2024 7:50 PM, Michael Niedermayer wrote: >>> Hi Anton >>> >>> On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: >>>> Will be useful in following commits. >>>> --- >>> >>> breaks: >>> >>> ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav >> >> fwiw, request_channel_layout will be removed in the upcoming bump. You >> should use -downmix stereo. >> >>> >>> [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. >>> [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info >>> [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. > > the error message should point to the new option The error message points to the option you tried to set. request_channel_layout is a valid but deprecated option separate from downmix. > > 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".
On 3/5/2024 8:12 PM, Michael Niedermayer wrote: > On Sun, Mar 03, 2024 at 01:17:57PM +0100, Anton Khirnov wrote: >> Quoting Anton Khirnov (2024-03-01 17:07:22) >>> Quoting Michael Niedermayer (2024-02-23 23:50:10) >>>> Hi Anton >>>> >>>> On Fri, Feb 23, 2024 at 02:58:36PM +0100, Anton Khirnov wrote: >>>>> Will be useful in following commits. >>>>> --- >>>> >>>> breaks: >>>> >>>> ./ffmpeg -y -request_channel_layout 3 -i bug/401/mlp_5point1_downmixof6channel.mlp -bitexact file-2-mlp_5point1_downmixof6channel.wav >>>> >>>> [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. >>>> [mlp @ 0x55690e23ed00] Failed to open codec in avformat_find_stream_info >>>> [mlp @ 0x55690e23ff80] Error setting option request_channel_layout to value 3. >>>> Input #0, mlp, from 'bug/401/mlp_5point1_downmixof6channel.mlp': >>>> Duration: N/A, start: 0.000000, bitrate: N/A >>>> Stream #0:0: Audio: mlp, 48000 Hz, 5.1, s32 (24 bit) >>>> [mlp @ 0x55690e257900] Error setting option request_channel_layout to value 3. >>>> [aist#0:0/mlp @ 0x55690e254dc0] [dec:mlp @ 0x55690e256f40] Error while opening decoder: Invalid argument >>>> [aost#0:0/pcm_s16le @ 0x55690e255a80] Error initializing a simple filtergraph >>>> Error opening output file file-2-mlp_5point1_downmixof6channel.wav. >>>> Error opening output files: Invalid argument >>>> >>>> i suspect this isnt specific to the file but i can provide it if it >>>> doesnt reproduce with a other file >>> >>> Cannot reproduce with another mlp or 5.1 ac3 file. >> >> Cannot reproduce with your sample either. Are you sure you're using the >> right code? It's branch 'avoption_list' in my tree. > > it worked with "-downmix stereo" instead of "-request_channel_layout 3" > as suggested by james Would be nice to find out why. downmix is a codec specific option whereas request_channel_layout is a global AVCodecContext option. Something here may have affected how child AVOptions are accessed. But if Anton can't reproduce it, then maybe your tree was dirty? > > 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".
diff --git a/libavutil/opt.c b/libavutil/opt.c index 0ca6d4d555..ebc8063dc6 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -484,13 +484,11 @@ static int set_string_channel_layout(void *obj, const AVOption *o, return av_channel_layout_from_string(channel_layout, val); } -int av_opt_set(void *obj, const char *name, const char *val, int search_flags) +static int opt_set_elem(void *obj, void *target_obj, const AVOption *o, + const char *val, void *dst) { - int ret = 0; - void *dst, *target_obj; - const AVOption *o = av_opt_find2(obj, name, NULL, 0, search_flags, &target_obj); - if (!o || !target_obj) - return AVERROR_OPTION_NOT_FOUND; + int ret; + FF_DISABLE_DEPRECATION_WARNINGS if (!val && (o->type != AV_OPT_TYPE_STRING && o->type != AV_OPT_TYPE_PIXEL_FMT && o->type != AV_OPT_TYPE_SAMPLE_FMT && @@ -503,13 +501,6 @@ FF_DISABLE_DEPRECATION_WARNINGS return AVERROR(EINVAL); FF_ENABLE_DEPRECATION_WARNINGS - if (o->flags & AV_OPT_FLAG_READONLY) - return AVERROR(EINVAL); - - if (o->flags & AV_OPT_FLAG_DEPRECATED) - av_log(obj, AV_LOG_WARNING, "The \"%s\" option is deprecated: %s\n", name, o->help); - - dst = ((uint8_t *)target_obj) + o->offset; switch (o->type) { case AV_OPT_TYPE_BOOL: return set_string_bool(obj, o, val, dst); @@ -589,6 +580,24 @@ FF_ENABLE_DEPRECATION_WARNINGS return AVERROR(EINVAL); } +int av_opt_set(void *obj, const char *name, const char *val, int search_flags) +{ + void *dst, *target_obj; + const AVOption *o = av_opt_find2(obj, name, NULL, 0, search_flags, &target_obj); + if (!o || !target_obj) + return AVERROR_OPTION_NOT_FOUND; + + if (o->flags & AV_OPT_FLAG_READONLY) + return AVERROR(EINVAL); + + if (o->flags & AV_OPT_FLAG_DEPRECATED) + av_log(obj, AV_LOG_WARNING, "The \"%s\" option is deprecated: %s\n", name, o->help); + + dst = ((uint8_t *)target_obj) + o->offset; + + return opt_set_elem(obj, target_obj, o, val, dst); +} + #define OPT_EVAL_NUMBER(name, opttype, vartype) \ int av_opt_eval_ ## name(void *obj, const AVOption *o, \ const char *val, vartype *name ## _out) \