0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
obs-studio/libobs/media-io
pkviet 645d6ae8dd libobs/media-io: Change speaker layout to match FFmpeg aac.
(This commit also modifies the obs-ffmpeg module)

The default channel layouts from aac spec are implemented in FFmpeg
native aac encoder as follows:

    AV_CH_LAYOUT_MONO,
    AV_CH_LAYOUT_STEREO,
    AV_CH_LAYOUT_SURROUND,
    AV_CH_LAYOUT_4POINT0,
    AV_CH_LAYOUT_5POINT0_BACK,
    AV_CH_LAYOUT_5POINT1_BACK,
    AV_CH_LAYOUT_7POINT1,

The correspondence of speaker layouts to AV_CH_LAYOUT from FFmpeg is
changed to reflect the previous table.

Although FFmpeg native aac encoder can now encode all the layouts listed
in avutil channel_layout.h (on master), there might be issues with older
FFmpeg binaries.

Note that 2.1 speaker layout will be encoded as AV_CH_LAYOUT_SURROUND
(FL FR FC) because it is not listed as the default layout for three
channels.

This just means some optimizations for LFE channel will not be used by
the encoder which will treat it as an SCE (single channel element).

Closes jp9000/obs-studio#1182
2018-02-06 06:14:24 -08:00
..
audio-io.c libobs/media-io: Reset audio array for each input 2016-01-26 11:49:36 -08:00
audio-io.h Merge pull request #1139 from takev/pulseaudio-surround-selection 2018-01-19 16:14:04 -08:00
audio-math.h libobs/media-io: Add common audio math functions 2015-06-26 03:40:27 -07:00
audio-resampler-ffmpeg.c libobs/media-io: Change speaker layout to match FFmpeg aac. 2018-02-06 06:14:24 -08:00
audio-resampler.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
format-conversion.c libobs/media-io: Fix decompress_420 function 2017-10-02 07:36:02 -07:00
format-conversion.h libobs: Add packed yuv to planar 4:4:4 conversion 2015-04-16 22:51:31 -07:00
frame-rate.h libobs/media-io: Add frame rate helpers 2015-11-14 15:37:47 +01:00
media-io-defs.h libobs: Move macro to internal C file 2017-10-02 07:36:02 -07:00
media-remux.c libobs/media-io: Add ifdef for newer FFmpeg functions 2017-12-06 07:46:49 -08:00
media-remux.h Add media remuxer to media-io 2014-10-12 06:27:33 +02:00
video-fourcc.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-frame.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-frame.h libobs/media-io: Add frame copying function 2014-12-31 04:03:45 -08:00
video-io.c libobs: Fix incomplete struct in scaler call 2017-12-24 11:13:20 +02:00
video-io.h libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-matrices.c libobs: Fix full range min/max output 2015-04-10 07:27:26 -07:00
video-scaler-ffmpeg.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-scaler.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00