[FFmpeg-devel] [PATCH 001/293 v8] avutil/channel_layout: Add a new channel layout API

Michael Niedermayer michael at niedermayer.cc
Thu Mar 17 21:39:18 EET 2022


On Tue, Mar 15, 2022 at 11:00:02PM -0300, James Almer wrote:
> On 3/15/2022 9:41 PM, Michael Niedermayer wrote:
> > On Mon, Jan 24, 2022 at 05:46:56PM -0300, James Almer wrote:
> > > From: Anton Khirnov <anton at khirnov.net>
> > > 
> > > The new API is more extensible and allows for custom layouts.
> > > More accurate information is exported, eg for decoders that do not
> > > set a channel layout, lavc will not make one up for them.
> > > 
> > > Deprecate the old API working with just uint64_t bitmasks.
> > > 
> > > Expanded and completed by Vittorio Giovara <vittorio.giovara at gmail.com>
> > > and James Almer <jamrial at gmail.com>.
> > > Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>
> > > Signed-off-by: James Almer <jamrial at gmail.com>
> > > ---
> > > Changes since last version:
> > > 
> > > *Both av_channel_layout_describe() and av_channel_layout_from_string() now
> > >   support a "2 channels (FL+LFE)" syntax, to signal native (usually
> > >   non-standard) or custom order layouts.
> > > *a single decimal value is now interpreted as a mask by
> > >   av_channel_layout_from_string(), same as a single hexadecimal value.
> > > *De-duplicated code by simplifying av_channel_layout_channel_from_string().
> > > 
> > > The entire set can still be found in
> > > https://github.com/jamrial/FFmpeg/commits/channel_layout4
> > > 
> > >   libavutil/channel_layout.c | 661 +++++++++++++++++++++++++++++++++----
> > >   libavutil/channel_layout.h | 551 +++++++++++++++++++++++++++++--
> > >   libavutil/version.h        |   1 +
> > >   3 files changed, 1110 insertions(+), 103 deletions(-)
> > 
> > didnt bisect but
> > 
> > this
> > ./ffmpeg -i ~/tickets/3542/out.mov -channel_layout stereo -acodec pcm_s16be file.mov
> > fails after the patchset but not before
> > 
> > [graph_0_in_0_0 @ 0x5642d659ec40] filter context - fmt: s16 r: 44100 layout: 3 ch: 2, incoming frame - fmt: s16 r: 44100 layout: 60000000 ch: 2 pts_time: 0
> > [graph_0_in_0_0 @ 0x5642d659ec40] Changing audio frame properties on the fly is not supported.
> > Error while filtering: Invalid argument
> > Failed to inject frame into filter network: Invalid argument
> > Error while processing the decoded data for stream #0:0
> > Conversion failed!
> 
> Should be fixed.

Heres another which broke around the channel change
./ffmpeg -i tickets//2064/mus_sympathy_for_the_devil_l.wav file.wav

"tickets//2064/mus_sympathy_for_the_devil_l.wav: Function not implemented"

file seems here:
https://www.djxmmx.net/ffmpeg/2064/

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220317/f2f33abd/attachment.sig>


More information about the ffmpeg-devel mailing list