obs-studio/plugins/obs-ffmpeg
pkv ad3df88fe3 obs-ffmpeg: Fix encoding of 2.1 with FFmpeg aac encoder
The aac spec has a list of default channel layouts that are implemented
by all aac encoders / decoders.
Unfortunately 2.1 is not in that list. When I wrote the surround sound
support into OBS, as a workaround I decided to encode 2.1 as
AV_CH_LAYOUT_SURROUND = FL+FR+FC.
The LFE channel is encoded as a regular audio channel which uses more
bits but this allows compatibility with all aac decoders.
Recently we updated to the new channel layout API of FFmpeg, but the
mapping of 2.1 to AV_CH_LAYOUT_SURROUND was forgotten in the FFmpeg
native aac encoder. This is remedied here.

Signed-off-by: pkv <pkv@obsproject.com>
2023-02-11 15:06:47 -08:00
..
data/locale Update translations from Crowdin 2023-01-08 04:10:37 +00:00
external obs-ffmpeg: Bump AMF version to v1.4.29 2022-12-03 15:39:38 -08:00
ffmpeg-mux libobs,libobs-opengl,obs-ffmpeg-mux: Calm deprecation warnings on *nix 2023-01-19 13:08:46 -05:00
obs-amf-test obs-ffmpeg, obs-qsv11: Ensure adapter order in encoder tests 2022-12-19 12:17:30 -08:00
obs-nvenc-test obs-ffmpeg, obs-qsv11: Ensure adapter order in encoder tests 2022-12-19 12:17:30 -08:00
CMakeLists.txt cmake,obs-ffmpeg: Refactor Libva finder 2023-01-25 13:14:41 -05:00
jim-nvenc-helpers.c obs-ffmpeg, obs-qsv11: Ensure adapter order in encoder tests 2022-12-19 12:17:30 -08:00
jim-nvenc-ver.h obs-ffmpeg: Add NVENC AV1 support 2022-10-07 14:34:39 -07:00
jim-nvenc.c obs-ffmpeg: Use compatibility options on nvnenc init fail 2022-11-17 10:55:06 -08:00
jim-nvenc.h obs-ffmpeg: Add NVENC AV1 support 2022-10-07 14:34:39 -07:00
obs-ffmpeg-audio-encoders.c obs-ffmpeg: Fix encoding of 2.1 with FFmpeg aac encoder 2023-02-11 15:06:47 -08:00
obs-ffmpeg-av1.c obs-ffmpeg: Use enum for av1 encoders 2022-12-05 19:19:20 -08:00
obs-ffmpeg-compat.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
obs-ffmpeg-config.h.in obs-ffmpeg: Add HEVC support to NVENC 2022-04-28 08:59:53 -07:00
obs-ffmpeg-formats.h UI,libobs,libobs-opengl,obs-ffmpeg: Remove unneeded cast in switches 2023-01-16 11:52:26 +01:00
obs-ffmpeg-hls-mux.c obs-ffmpeg: Use new priority parsing for HLS 2022-08-01 08:15:39 -07:00
obs-ffmpeg-logging.c obs-ffmpeg: Separate logging code 2019-07-09 10:07:24 -07:00
obs-ffmpeg-mpegts.c obs-ffmpeg: Improve chroma location decision 2022-12-03 15:24:18 -08:00
obs-ffmpeg-mux.c obs-ffmpeg: Improve chroma location decision 2022-12-03 15:24:18 -08:00
obs-ffmpeg-mux.h obs-ffmpeg: Always reset timestamp 2022-08-30 22:41:29 -04:00
obs-ffmpeg-nvenc.c obs-ffmpeg: Change default nvenc preset to P5 2022-11-18 12:38:54 -08:00
obs-ffmpeg-output.c obs-ffmpeg: Tell FFmpeg that BGRA uses alpha 2023-01-24 18:39:12 -08:00
obs-ffmpeg-output.h obs-ffmpeg: Direct setting of encryption & auth for SRT & RIST 2022-11-17 21:56:38 -05:00
obs-ffmpeg-rist.h obs-ffmpeg: Fix compilation warnings on Clang and GCC 2023-01-19 13:08:46 -05:00
obs-ffmpeg-source.c obs-ffmpeg: Remove unused variables 2023-02-05 02:55:24 -08:00
obs-ffmpeg-srt.h obs-ffmpeg: Initialize SRT stats object before requesting stats 2023-02-08 11:13:41 -08:00
obs-ffmpeg-url.h obs-ffmpeg: Native SRT/RIST for mpegts output 2022-07-30 17:03:10 +02:00
obs-ffmpeg-vaapi.c obs-ffmpeg: Set chroma location for VA-API 2022-12-11 14:12:36 -08:00
obs-ffmpeg-video-encoders.c obs-ffmpeg: Improve chroma location decision 2022-12-03 15:24:18 -08:00
obs-ffmpeg-video-encoders.h deps,libobs,plugins: Fix discarded-qualifiers warnings with FFmpeg 5 2022-07-22 08:50:36 -04:00
obs-ffmpeg.c obs-ffmpeg: Use Libva in FFmpeg VA-API 2022-11-20 11:30:40 +11:00
texture-amf-opts.hpp obs-ffmpeg: Add AMF AV1 encoder 2022-11-18 18:18:08 -08:00
texture-amf.cpp obs-ffmpeg, obs-qsv11: Ensure adapter order in encoder tests 2022-12-19 12:17:30 -08:00
vaapi-utils.c obs-ffmpeg: Use Libva in FFmpeg VA-API 2022-11-20 11:30:40 +11:00
vaapi-utils.h obs-ffmpeg: Use Libva in FFmpeg VA-API 2022-11-20 11:30:40 +11:00