Message ID | 20221030161412.1293-1-jamrial@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] avutil/channel_layout: add a cube channel layout | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
James Almer: > Signed-off-by: James Almer <jamrial@gmail.com> > --- > doc/APIchanges | 3 +++ > doc/utils.texi | 2 ++ > libavutil/channel_layout.c | 1 + > libavutil/channel_layout.h | 2 ++ > tests/ref/fate/channel_layout | 1 + > 5 files changed, 9 insertions(+) > > diff --git a/doc/APIchanges b/doc/APIchanges > index 5807bf8069..5aca1d1b5f 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -14,6 +14,9 @@ libavutil: 2021-04-27 > > API changes, most recent first: > > +2022-10-xx - xxxxxxxxxx - lavu 57.xx.xxx - channel_layout.h > + Add AV_CH_LAYOUT_CUBE and AV_CHANNEL_LAYOUT_CUBE. > + > 2022-10-11 - xxxxxxxxxx - lavu 57.39.101 - pixfmt.h > Add AV_PIX_FMT_RGBF32 and AV_PIX_FMT_RGBAF32. > > diff --git a/doc/utils.texi b/doc/utils.texi > index 627b55d154..907a6b87cb 100644 > --- a/doc/utils.texi > +++ b/doc/utils.texi > @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC > FL+FR+FC+LFE+FLC+FRC+SL+SR > @item octagonal > FL+FR+FC+BL+BR+BC+SL+SR > +@item cube > +FL+FR+BL+BR+TFL+TFR+TBL+TBR > @item hexadecagonal > FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR > @item downmix > diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c > index 21b70173b7..5af7ea0e01 100644 > --- a/libavutil/channel_layout.c > +++ b/libavutil/channel_layout.c > @@ -197,6 +197,7 @@ static const struct channel_layout_name channel_layout_map[] = { > { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, > { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, > { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, > + { "cube", AV_CHANNEL_LAYOUT_CUBE }, > { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, > { "downmix", AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, }, > { "22.2", AV_CHANNEL_LAYOUT_22POINT2, }, > diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h > index 059ff70841..3e69163360 100644 > --- a/libavutil/channel_layout.h > +++ b/libavutil/channel_layout.h > @@ -233,6 +233,7 @@ enum AVChannelOrder { > #define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) > #define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) > #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) > +#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) > #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) > #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) > #define AV_CH_LAYOUT_22POINT2 (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT) > @@ -389,6 +390,7 @@ typedef struct AVChannelLayout { > #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) > #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) > #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) > +#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE) > #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) > #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) > #define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, AV_CH_LAYOUT_22POINT2) > diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout > index 19bcbce7d8..02eaad0929 100644 > --- a/tests/ref/fate/channel_layout > +++ b/tests/ref/fate/channel_layout > @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC > 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC > 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR > octagonal FL+FR+FC+BL+BR+BC+SL+SR > +cube FL+FR+BL+BR+TFL+TFR+TBL+TBR > hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR > downmix DL+DR > 22.2 FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR Is this a common name or is this something you made up? - Andreas
On 10/30/2022 1:19 PM, Andreas Rheinhardt wrote: > James Almer: >> Signed-off-by: James Almer <jamrial@gmail.com> >> --- >> doc/APIchanges | 3 +++ >> doc/utils.texi | 2 ++ >> libavutil/channel_layout.c | 1 + >> libavutil/channel_layout.h | 2 ++ >> tests/ref/fate/channel_layout | 1 + >> 5 files changed, 9 insertions(+) >> >> diff --git a/doc/APIchanges b/doc/APIchanges >> index 5807bf8069..5aca1d1b5f 100644 >> --- a/doc/APIchanges >> +++ b/doc/APIchanges >> @@ -14,6 +14,9 @@ libavutil: 2021-04-27 >> >> API changes, most recent first: >> >> +2022-10-xx - xxxxxxxxxx - lavu 57.xx.xxx - channel_layout.h >> + Add AV_CH_LAYOUT_CUBE and AV_CHANNEL_LAYOUT_CUBE. >> + >> 2022-10-11 - xxxxxxxxxx - lavu 57.39.101 - pixfmt.h >> Add AV_PIX_FMT_RGBF32 and AV_PIX_FMT_RGBAF32. >> >> diff --git a/doc/utils.texi b/doc/utils.texi >> index 627b55d154..907a6b87cb 100644 >> --- a/doc/utils.texi >> +++ b/doc/utils.texi >> @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC >> FL+FR+FC+LFE+FLC+FRC+SL+SR >> @item octagonal >> FL+FR+FC+BL+BR+BC+SL+SR >> +@item cube >> +FL+FR+BL+BR+TFL+TFR+TBL+TBR >> @item hexadecagonal >> FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR >> @item downmix >> diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c >> index 21b70173b7..5af7ea0e01 100644 >> --- a/libavutil/channel_layout.c >> +++ b/libavutil/channel_layout.c >> @@ -197,6 +197,7 @@ static const struct channel_layout_name channel_layout_map[] = { >> { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, >> { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, >> { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, >> + { "cube", AV_CHANNEL_LAYOUT_CUBE }, >> { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, >> { "downmix", AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, }, >> { "22.2", AV_CHANNEL_LAYOUT_22POINT2, }, >> diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h >> index 059ff70841..3e69163360 100644 >> --- a/libavutil/channel_layout.h >> +++ b/libavutil/channel_layout.h >> @@ -233,6 +233,7 @@ enum AVChannelOrder { >> #define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) >> #define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) >> #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) >> +#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) >> #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) >> #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) >> #define AV_CH_LAYOUT_22POINT2 (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT) >> @@ -389,6 +390,7 @@ typedef struct AVChannelLayout { >> #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) >> #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) >> #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) >> +#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE) >> #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) >> #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) >> #define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, AV_CH_LAYOUT_22POINT2) >> diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout >> index 19bcbce7d8..02eaad0929 100644 >> --- a/tests/ref/fate/channel_layout >> +++ b/tests/ref/fate/channel_layout >> @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC >> 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC >> 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR >> octagonal FL+FR+FC+BL+BR+BC+SL+SR >> +cube FL+FR+BL+BR+TFL+TFR+TBL+TBR >> hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR >> downmix DL+DR >> 22.2 FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR > > Is this a common name or is this something you made up? It's the same as kAudioChannelLayoutTag_Cube from AudioChannelLayoutTag as defined by Apple and used in mov (see MOV_CH_LAYOUT_CUBE in lavf mov_chan.c). > > - Andreas > > _______________________________________________ > 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".
On 10/30/22, James Almer <jamrial@gmail.com> wrote: > > > On 10/30/2022 1:19 PM, Andreas Rheinhardt wrote: >> James Almer: >>> Signed-off-by: James Almer <jamrial@gmail.com> >>> --- >>> doc/APIchanges | 3 +++ >>> doc/utils.texi | 2 ++ >>> libavutil/channel_layout.c | 1 + >>> libavutil/channel_layout.h | 2 ++ >>> tests/ref/fate/channel_layout | 1 + >>> 5 files changed, 9 insertions(+) >>> >>> diff --git a/doc/APIchanges b/doc/APIchanges >>> index 5807bf8069..5aca1d1b5f 100644 >>> --- a/doc/APIchanges >>> +++ b/doc/APIchanges >>> @@ -14,6 +14,9 @@ libavutil: 2021-04-27 >>> >>> API changes, most recent first: >>> >>> +2022-10-xx - xxxxxxxxxx - lavu 57.xx.xxx - channel_layout.h >>> + Add AV_CH_LAYOUT_CUBE and AV_CHANNEL_LAYOUT_CUBE. >>> + >>> 2022-10-11 - xxxxxxxxxx - lavu 57.39.101 - pixfmt.h >>> Add AV_PIX_FMT_RGBF32 and AV_PIX_FMT_RGBAF32. >>> >>> diff --git a/doc/utils.texi b/doc/utils.texi >>> index 627b55d154..907a6b87cb 100644 >>> --- a/doc/utils.texi >>> +++ b/doc/utils.texi >>> @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC >>> FL+FR+FC+LFE+FLC+FRC+SL+SR >>> @item octagonal >>> FL+FR+FC+BL+BR+BC+SL+SR >>> +@item cube >>> +FL+FR+BL+BR+TFL+TFR+TBL+TBR >>> @item hexadecagonal >>> FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR >>> @item downmix >>> diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c >>> index 21b70173b7..5af7ea0e01 100644 >>> --- a/libavutil/channel_layout.c >>> +++ b/libavutil/channel_layout.c >>> @@ -197,6 +197,7 @@ static const struct channel_layout_name >>> channel_layout_map[] = { >>> { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, >>> { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, >>> { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, >>> + { "cube", AV_CHANNEL_LAYOUT_CUBE }, >>> { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, >>> { "downmix", AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, }, >>> { "22.2", AV_CHANNEL_LAYOUT_22POINT2, }, >>> diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h >>> index 059ff70841..3e69163360 100644 >>> --- a/libavutil/channel_layout.h >>> +++ b/libavutil/channel_layout.h >>> @@ -233,6 +233,7 @@ enum AVChannelOrder { >>> #define AV_CH_LAYOUT_7POINT1_WIDE >>> (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) >>> #define AV_CH_LAYOUT_7POINT1_WIDE_BACK >>> (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) >>> #define AV_CH_LAYOUT_OCTAGONAL >>> (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) >>> +#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) >>> #define AV_CH_LAYOUT_HEXADECAGONAL >>> (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) >>> #define AV_CH_LAYOUT_STEREO_DOWNMIX >>> (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) >>> #define AV_CH_LAYOUT_22POINT2 >>> (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT) >>> @@ -389,6 +390,7 @@ typedef struct AVChannelLayout { >>> #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, >>> AV_CH_LAYOUT_7POINT1_WIDE) >>> #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, >>> AV_CH_LAYOUT_7POINT1_WIDE_BACK) >>> #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, >>> AV_CH_LAYOUT_OCTAGONAL) >>> +#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, >>> AV_CH_LAYOUT_CUBE) >>> #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, >>> AV_CH_LAYOUT_HEXADECAGONAL) >>> #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, >>> AV_CH_LAYOUT_STEREO_DOWNMIX) >>> #define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, >>> AV_CH_LAYOUT_22POINT2) >>> diff --git a/tests/ref/fate/channel_layout >>> b/tests/ref/fate/channel_layout >>> index 19bcbce7d8..02eaad0929 100644 >>> --- a/tests/ref/fate/channel_layout >>> +++ b/tests/ref/fate/channel_layout >>> @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC >>> 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC >>> 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR >>> octagonal FL+FR+FC+BL+BR+BC+SL+SR >>> +cube FL+FR+BL+BR+TFL+TFR+TBL+TBR >>> hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR >>> downmix DL+DR >>> 22.2 >>> FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR >> >> Is this a common name or is this something you made up? > > It's the same as kAudioChannelLayoutTag_Cube from AudioChannelLayoutTag > as defined by Apple and used in mov (see MOV_CH_LAYOUT_CUBE in lavf > mov_chan.c). Yes, but that is not same as CUBE as used in ambisonics iiuc. > >> >> - Andreas >> >> _______________________________________________ >> 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". > _______________________________________________ > 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". >
diff --git a/doc/APIchanges b/doc/APIchanges index 5807bf8069..5aca1d1b5f 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2022-10-xx - xxxxxxxxxx - lavu 57.xx.xxx - channel_layout.h + Add AV_CH_LAYOUT_CUBE and AV_CHANNEL_LAYOUT_CUBE. + 2022-10-11 - xxxxxxxxxx - lavu 57.39.101 - pixfmt.h Add AV_PIX_FMT_RGBF32 and AV_PIX_FMT_RGBAF32. diff --git a/doc/utils.texi b/doc/utils.texi index 627b55d154..907a6b87cb 100644 --- a/doc/utils.texi +++ b/doc/utils.texi @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC FL+FR+FC+LFE+FLC+FRC+SL+SR @item octagonal FL+FR+FC+BL+BR+BC+SL+SR +@item cube +FL+FR+BL+BR+TFL+TFR+TBL+TBR @item hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR @item downmix diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 21b70173b7..5af7ea0e01 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -197,6 +197,7 @@ static const struct channel_layout_name channel_layout_map[] = { { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, + { "cube", AV_CHANNEL_LAYOUT_CUBE }, { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, { "downmix", AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, }, { "22.2", AV_CHANNEL_LAYOUT_22POINT2, }, diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index 059ff70841..3e69163360 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -233,6 +233,7 @@ enum AVChannelOrder { #define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) +#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) #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) #define AV_CH_LAYOUT_22POINT2 (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT) @@ -389,6 +390,7 @@ typedef struct AVChannelLayout { #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) +#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE) #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) #define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, AV_CH_LAYOUT_22POINT2) diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout index 19bcbce7d8..02eaad0929 100644 --- a/tests/ref/fate/channel_layout +++ b/tests/ref/fate/channel_layout @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR octagonal FL+FR+FC+BL+BR+BC+SL+SR +cube FL+FR+BL+BR+TFL+TFR+TBL+TBR hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR downmix DL+DR 22.2 FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR
Signed-off-by: James Almer <jamrial@gmail.com> --- doc/APIchanges | 3 +++ doc/utils.texi | 2 ++ libavutil/channel_layout.c | 1 + libavutil/channel_layout.h | 2 ++ tests/ref/fate/channel_layout | 1 + 5 files changed, 9 insertions(+)