History

avutil/channel_layout: add a 5.1.2 layout using side channels

And rename the existing 5.1.2 to explicitly state it contains back channels.

James Almer committed 1 year ago

Commit da9dcab1 parent 551041e9 files · +16 −9Browse files

Unified · Split

9 files
  1. doc/APIchanges +3 −0
  2. libavutil/channel_layout.c +2 −1
  3. libavutil/channel_layout.h +2 −0
  4. libavutil/version.h +1 −1
  5. tests/ref/fate/channel_layout +2 −1
  6. tests/ref/fate/iamf-5_1_4 +2 −2
  7. tests/ref/fate/mov-mp4-iamf-5_1_4 +2 −2
  8. tests/streamgroups/audio_element-5_1_4 +1 −1
  9. tests/streamgroups/mix_presentation-5_1_4 +1 −1
doc/APIchanges+3−0
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 · 1 unmodified line
2 2
3API changes, most recent first:3API changes, most recent first:
4 4
52025-01-xx - xxxxxxxxxx - lavu 59.54.100 - frame.h
6 Add AV_CH_LAYOUT_5POINT1POINT2 and AV_CHANNEL_LAYOUT_5POINT1POINT2.
7
52024-12-xx - xxxxxxxxxx - lavu 59.53.100 - frame.h82024-12-xx - xxxxxxxxxx - lavu 59.53.100 - frame.h
6 Add av_frame_side_data_remove_by_props().9 Add av_frame_side_data_remove_by_props().
7 10
libavutil/channel_layout.c+2−1
@@ -213,7 +213,8 @@ static const struct channel_layout_name channel_layout_map[] = { · 212 unmodified lines
213 { "7.1", AV_CHANNEL_LAYOUT_7POINT1 },213 { "7.1", AV_CHANNEL_LAYOUT_7POINT1 },
214 { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK },214 { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK },
215 { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE },215 { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE },
216 { "5.1.2", AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK },216 { "5.1.2", AV_CHANNEL_LAYOUT_5POINT1POINT2 },
217 { "5.1.2(back)", AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK },
217 { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL },218 { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL },
218 { "cube", AV_CHANNEL_LAYOUT_CUBE },219 { "cube", AV_CHANNEL_LAYOUT_CUBE },
219 { "5.1.4", AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK },220 { "5.1.4", AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK },
libavutil/channel_layout.h+2−0
@@ -240,6 +240,7 @@ enum AVChannelOrder { · 239 unmodified lines
240#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)240#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
241#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)241#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
242#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)242#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
243#define AV_CH_LAYOUT_5POINT1POINT2 (AV_CH_LAYOUT_5POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
243#define AV_CH_LAYOUT_5POINT1POINT2_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)244#define AV_CH_LAYOUT_5POINT1POINT2_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
244#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)245#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
245#define AV_CH_LAYOUT_CUBE (AV_CH_LAYOUT_QUAD|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)246#define AV_CH_LAYOUT_CUBE (AV_CH_LAYOUT_QUAD|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
@@ -416,6 +417,7 @@ typedef struct AVChannelLayout { · 170 unmodified lines
416#define AV_CHANNEL_LAYOUT_7POINT1 AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1)417#define AV_CHANNEL_LAYOUT_7POINT1 AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1)
417#define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE)418#define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE)
418#define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK)419#define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK)
420#define AV_CHANNEL_LAYOUT_5POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_5POINT1POINT2)
419#define AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_5POINT1POINT2_BACK)421#define AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_5POINT1POINT2_BACK)
420#define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL)422#define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL)
421#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE)423#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE)
libavutil/version.h+1−1
@@ -79,7 +79,7 @@ · 78 unmodified lines
79 */79 */
80 80
81#define LIBAVUTIL_VERSION_MAJOR 5981#define LIBAVUTIL_VERSION_MAJOR 59
82#define LIBAVUTIL_VERSION_MINOR 5382#define LIBAVUTIL_VERSION_MINOR 54
83#define LIBAVUTIL_VERSION_MICRO 10083#define LIBAVUTIL_VERSION_MICRO 100
84 84
85#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \85#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
tests/ref/fate/channel_layout+2−1
@@ -25,7 +25,8 @@ hexagonal FL+FR+FC+BL+BR+BC · 24 unmodified lines
257.1 FL+FR+FC+LFE+BL+BR+SL+SR257.1 FL+FR+FC+LFE+BL+BR+SL+SR
267.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC267.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC
277.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR277.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR
285.1.2 FL+FR+FC+LFE+BL+BR+TFL+TFR285.1.2 FL+FR+FC+LFE+SL+SR+TFL+TFR
295.1.2(back) FL+FR+FC+LFE+BL+BR+TFL+TFR
29octagonal FL+FR+FC+BL+BR+BC+SL+SR30octagonal FL+FR+FC+BL+BR+BC+SL+SR
30cube FL+FR+BL+BR+TFL+TFR+TBL+TBR31cube FL+FR+BL+BR+TFL+TFR+TBL+TBR
315.1.4 FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR325.1.4 FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR
tests/ref/fate/iamf-5_1_4+2−2
@@ -116,7 +116,7 @@ output_gain_flags=0 · 115 unmodified lines
116output_gain=0/1116output_gain=0/1
117[/SUBCOMPONENT]117[/SUBCOMPONENT]
118[SUBCOMPONENT]118[SUBCOMPONENT]
119channel_layout=5.1.2119channel_layout=5.1.2(back)
120output_gain_flags=0120output_gain_flags=0
121output_gain=0/1121output_gain=0/1
122[/SUBCOMPONENT]122[/SUBCOMPONENT]
@@ -335,7 +335,7 @@ dialogue_anchored_loudness=0/1 · 212 unmodified lines
335album_anchored_loudness=0/1335album_anchored_loudness=0/1
336[/PIECE]336[/PIECE]
337[PIECE]337[PIECE]
338sound_system=5.1.2338sound_system=5.1.2(back)
339integrated_loudness=0/256339integrated_loudness=0/256
340digital_peak=0/256340digital_peak=0/256
341true_peak=0/1341true_peak=0/1
tests/ref/fate/mov-mp4-iamf-5_1_4+2−2
@@ -116,7 +116,7 @@ output_gain_flags=0 · 115 unmodified lines
116output_gain=0/1116output_gain=0/1
117[/SUBCOMPONENT]117[/SUBCOMPONENT]
118[SUBCOMPONENT]118[SUBCOMPONENT]
119channel_layout=5.1.2119channel_layout=5.1.2(back)
120output_gain_flags=0120output_gain_flags=0
121output_gain=0/1121output_gain=0/1
122[/SUBCOMPONENT]122[/SUBCOMPONENT]
@@ -357,7 +357,7 @@ dialogue_anchored_loudness=0/1 · 234 unmodified lines
357album_anchored_loudness=0/1357album_anchored_loudness=0/1
358[/PIECE]358[/PIECE]
359[PIECE]359[PIECE]
360sound_system=5.1.2360sound_system=5.1.2(back)
361integrated_loudness=0/256361integrated_loudness=0/256
362digital_peak=0/256362digital_peak=0/256
363true_peak=0/1363true_peak=0/1
tests/streamgroups/audio_element-5_1_4+1−1
@@ -3,5 +3,5 @@ demixing=dmixp_mode=1:parameter_id=998, · 2 unmodified lines
3recon_gain=parameter_id=101,3recon_gain=parameter_id=101,
4layer=ch_layout=stereo,4layer=ch_layout=stereo,
5layer=ch_layout=5.1,5layer=ch_layout=5.1,
6layer=ch_layout=5.1.2,6layer=ch_layout=5.1.2(back),
7layer=ch_layout=5.1.4,7layer=ch_layout=5.1.4,
tests/streamgroups/mix_presentation-5_1_4+1−1
@@ -1,2 +1,2 @@
1type=iamf_mix_presentation:id=2:stg=0:annotations=en-us=Mix_Presentation,1type=iamf_mix_presentation:id=2:stg=0:annotations=en-us=Mix_Presentation,
2submix=parameter_id=100:parameter_rate=48000:default_mix_gain=1.0|element=stg=0:parameter_id=100:headphones_rendering_mode=stereo:annotations=en-us=Scalable_Submix|layout=sound_system=stereo:integrated_loudness=1.0|layout=sound_system=5.1|layout=sound_system=5.1.2|layout=sound_system=5.1.4,2submix=parameter_id=100:parameter_rate=48000:default_mix_gain=1.0|element=stg=0:parameter_id=100:headphones_rendering_mode=stereo:annotations=en-us=Scalable_Submix|layout=sound_system=stereo:integrated_loudness=1.0|layout=sound_system=5.1|layout=sound_system=5.1.2(back)|layout=sound_system=5.1.4,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t