From: Antoine Soulier via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> To: ffmpeg-devel@ffmpeg.org Cc: Antoine Soulier <asoulier@google.com> Subject: [FFmpeg-devel] [PATCH 4/6] doc: Add LC3/LC3plus muxer and encoder parameters documentation Date: Fri, 22 Mar 2024 17:01:03 +0000 Message-ID: <20240322170106.2243608-4-asoulier@google.com> (raw) In-Reply-To: <20240322170106.2243608-1-asoulier@google.com> Signed-off-by: Antoine Soulier <asoulier@google.com> Signed-off-by: Antoine SOULIER <asoulier@google.com> --- doc/encoders.texi | 57 +++++++++++++++++++++++++++++++++++++++ doc/general_contents.texi | 12 ++++++++- doc/muxers.texi | 4 +++ 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index 7c223ed74c..0719ba13cc 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -814,6 +814,63 @@ ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a @end example @end itemize +@anchor{liblc3-enc} +@section liblc3 + +liblc3 LC3 (Low Complexity Communication Codec) encoder wrapper. + +Requires the presence of the liblc3 headers and library during configuration. +You need to explicitly configure the build with @code{--enable-liblc3}. + +This encoder has support for the Bluetooth SIG LC3 codec for the LE Audio +protocol, and the following features of LC3plus: +@itemize @minus +@item +Frame duration of 2.5 and 5ms. +@item +High-Resolution mode, 48 KHz, and 96 kHz sampling rates. +@end itemize + +For more information see the liblc3 project at +@url{https://github.com/google/liblc3}. + +@subsection Options + +The following options are mapped on the shared FFmpeg codec options. + +@table @option +@item b +Set the bit rate in bits/s. This will determine the fixed size of the encoded +frames, for a selected frame duration. + +@item ar +Set the audio sampling rate (in Hz). + +@item channels +Set the number of audio channels. + +@item frame_duration +Set the audio frame duration in milliseconds. Default value is 10ms. +Allowed frame durations are 2.5ms, 5ms, 7.5ms and 10ms. +LC3 (Bluetooth LE Audio), allows 7.5ms and 10ms; and LC3plus 2.5ms, 5ms +and 10ms. + +The 10ms frame duration is available in LC3 and LC3 plus standard. +In this mode, the produced bitstream can be referenced either as LC3 or LC3plus. + +@item high_resolution +Enable the high-resolution mode if set to 1. The high-resolution mode is +available with all LC3plus frame durations and for a sampling rate 48 KHz, +and 96 KHz. + +The encoder automatically turns off this mode at lower sampling rates and +activates it at 96 KHz. + +This mode should be preferred at high bitrates. In this mode, the audio +bandwidth is always up to the Nyquist frequency, compared to LC3 at 48 KHz, +which limits the bandwidth to 20 KHz. +@end table + @anchor{libmp3lame} @section libmp3lame diff --git a/doc/general_contents.texi b/doc/general_contents.texi index f269cbd1a9..9e340fce7b 100644 --- a/doc/general_contents.texi +++ b/doc/general_contents.texi @@ -237,6 +237,14 @@ Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the instructions for installing the library. Then pass @code{--enable-libfdk-aac} to configure to enable it. +@subsection LC3 library + +FFmpeg can make use of the Google LC3 library for LC3 decoding & encoding. + +Go to @url{https://github.com/google/liblc3/} and follow the instructions for +installing the library. +Then pass @code{--enable-liblc3} to configure to enable it. + @section OpenH264 FFmpeg can make use of the OpenH264 library for H.264 decoding and encoding. @@ -1300,7 +1308,9 @@ following image formats are supported: @tab encoding and decoding supported through external library libilbc @item IMC (Intel Music Coder) @tab @tab X @item Interplay ACM @tab @tab X -@item MACE (Macintosh Audio Compression/Expansion) 3:1 @tab @tab X +@item LC3 @tab E @tab E + @tab supported through external library liblc3 +@item LC3plus @tab E @tab E @item MACE (Macintosh Audio Compression/Expansion) 6:1 @tab @tab X @item Marian's A-pac audio @tab @tab X @item MI-SC4 (Micronas SC-4 Audio) @tab @tab X diff --git a/doc/muxers.texi b/doc/muxers.texi index d9dd72e613..43dabe4499 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -132,6 +132,10 @@ to Annex B syntax if it's in length-prefixed mode. ITU-T H.265 / MPEG-H Part 2 HEVC video. Bitstream shall be converted to Annex B syntax if it's in length-prefixed mode. +@item lc3 @emph{audio} (lc3) +Bluetooth SIG Low Complexity Communication Codec audio. +ETSI TS 103 634 Low Complexity Communication Codec plus (LC3plus). + @item m4v @emph{video} MPEG-4 Part 2 video -- 2.44.0.396.g6e790dbe36-goog _______________________________________________ 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".
next prev parent reply other threads:[~2024-03-22 17:01 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-22 17:01 [FFmpeg-devel] [PATCH 1/6] avcodec/liblc3: Add encoding/decoding support of LC3 audio codec Antoine Soulier via ffmpeg-devel 2024-03-22 17:01 ` [FFmpeg-devel] [PATCH 2/6] avformat/lc3: Add file format for LC3/LC3plus transport Antoine Soulier via ffmpeg-devel 2024-03-22 17:01 ` [FFmpeg-devel] [PATCH 3/6] configure: Add option for enabling LC3/LC3plus wrapper Antoine Soulier via ffmpeg-devel 2024-03-22 17:01 ` Antoine Soulier via ffmpeg-devel [this message] 2024-03-22 17:01 ` [FFmpeg-devel] [PATCH 5/6] Changelog: Add LC3/LC3plus decoding/encoding support Antoine Soulier via ffmpeg-devel 2024-03-22 17:01 ` [FFmpeg-devel] [PATCH 6/6] MAINTAINERS: Add maintainer for LC3 audio codec wrapper Antoine Soulier via ffmpeg-devel 2024-03-22 17:20 ` Lynne 2024-03-22 17:25 ` Kieran Kunhya 2024-03-22 18:24 ` Michael Niedermayer 2024-03-23 22:41 ` [FFmpeg-devel] [PATCH 1/6] avcodec/liblc3: Add encoding/decoding support of LC3 audio codec Michael Niedermayer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240322170106.2243608-4-asoulier@google.com \ --to=ffmpeg-devel@ffmpeg.org \ --cc=asoulier@google.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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