diff mbox series

[FFmpeg-devel,1/3] avformat/mov_chan: use the newly added channel ids for more exact mapping

Message ID 20240603213139.15089-1-cus@passwd.hu
State New
Headers show
Series [FFmpeg-devel,1/3] avformat/mov_chan: use the newly added channel ids for more exact mapping | expand

Checks

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

Commit Message

Marton Balint June 3, 2024, 9:31 p.m. UTC
Also make the iso_channel_position table consistent with what the AAC decoder
uses in avcodec/aac/aacdec_usac.c.

Fate changes are caused by the change of how 7.1 layout is mapped, previously
it included Side Surround channels, now it includes the Surround channels.

Signed-off-by: Marton Balint <cus@passwd.hu>
---
 libavformat/mov_chan.c     | 22 ++++++++--------------
 tests/ref/fate/mov-mp4-pcm |  2 +-
 2 files changed, 9 insertions(+), 15 deletions(-)

Comments

Marton Balint June 10, 2024, 7:23 p.m. UTC | #1
On Mon, 3 Jun 2024, Marton Balint wrote:

> Also make the iso_channel_position table consistent with what the AAC decoder
> uses in avcodec/aac/aacdec_usac.c.
>
> Fate changes are caused by the change of how 7.1 layout is mapped, previously
> it included Side Surround channels, now it includes the Surround channels.

Willa apply the series.

Regards,
Marton

>
> Signed-off-by: Marton Balint <cus@passwd.hu>
> ---
> libavformat/mov_chan.c     | 22 ++++++++--------------
> tests/ref/fate/mov-mp4-pcm |  2 +-
> 2 files changed, 9 insertions(+), 15 deletions(-)
>
> diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c
> index 5ffacf64b5..53805c6a35 100644
> --- a/libavformat/mov_chan.c
> +++ b/libavformat/mov_chan.c
> @@ -85,12 +85,8 @@ enum {
>     iso_Lc   = AV_CHAN_FRONT_LEFT_OF_CENTER,
>     iso_Rc   = AV_CHAN_FRONT_RIGHT_OF_CENTER,
>     iso_Cs   = AV_CHAN_BACK_CENTER,
> -    /* Side and surround are not exactly the same, but in order to have
> -     * consistent 5.1/7.1 layouts we map them to the side channels. */
>     iso_Ls   = AV_CHAN_SIDE_LEFT,
> -    iso_Lss  = AV_CHAN_SIDE_LEFT,
>     iso_Rs   = AV_CHAN_SIDE_RIGHT,
> -    iso_Rss  = AV_CHAN_SIDE_RIGHT,
>     iso_Ts   = AV_CHAN_TOP_CENTER,
>     iso_Lv   = AV_CHAN_TOP_FRONT_LEFT,
>     iso_Cv   = AV_CHAN_TOP_FRONT_CENTER,
> @@ -110,6 +106,8 @@ enum {
>     iso_Cb   = AV_CHAN_BOTTOM_FRONT_CENTER,
>     iso_Lb   = AV_CHAN_BOTTOM_FRONT_LEFT,
>     iso_Rb   = AV_CHAN_BOTTOM_FRONT_RIGHT,
> +    iso_Lss  = AV_CHAN_SIDE_SURROUND_LEFT,
> +    iso_Rss  = AV_CHAN_SIDE_SURROUND_RIGHT,
>     /* The following have no exact counterparts */
>     iso_Lvs  = AV_CHAN_NONE,
>     iso_Rvs  = AV_CHAN_NONE,
> @@ -622,12 +620,10 @@ static const enum AVChannel iso_channel_position[] = {
>     AV_CHAN_LOW_FREQUENCY,
>
>     // 4: left surround
> -    // TODO
> -    AV_CHAN_NONE,
> +    AV_CHAN_SIDE_LEFT,
>
>     // 5: right surround
> -    // TODO
> -    AV_CHAN_NONE,
> +    AV_CHAN_SIDE_RIGHT,
>
>     // 6: left front centre
>     AV_CHAN_FRONT_LEFT_OF_CENTER,
> @@ -651,10 +647,10 @@ static const enum AVChannel iso_channel_position[] = {
>     AV_CHAN_SURROUND_DIRECT_RIGHT,
>
>     // 13: left side surround
> -    AV_CHAN_SIDE_LEFT,
> +    AV_CHAN_SIDE_SURROUND_LEFT,
>
>     // 14: right side surround
> -    AV_CHAN_SIDE_RIGHT,
> +    AV_CHAN_SIDE_SURROUND_RIGHT,
>
>     // 15: left wide front
>     AV_CHAN_WIDE_LEFT,
> @@ -702,12 +698,10 @@ static const enum AVChannel iso_channel_position[] = {
>     AV_CHAN_BOTTOM_FRONT_CENTER,
>
>     // 30: left vertical height surround
> -    // TODO
> -    AV_CHAN_NONE,
> +    AV_CHAN_TOP_SURROUND_LEFT,
>
>     // 31: right vertical height surround
> -    // TODO
> -    AV_CHAN_NONE,
> +    AV_CHAN_TOP_SURROUND_RIGHT,
>
>     // 32, 33, 34, 35, reserved
>     AV_CHAN_NONE,
> diff --git a/tests/ref/fate/mov-mp4-pcm b/tests/ref/fate/mov-mp4-pcm
> index 19a978df95..7cdca8629f 100644
> --- a/tests/ref/fate/mov-mp4-pcm
> +++ b/tests/ref/fate/mov-mp4-pcm
> @@ -1,4 +1,4 @@
> -462668dd69e7ce4fde4934d1d5978531 *tests/data/fate/mov-mp4-pcm.mp4
> +0c6802135e9eb442201c0c1b001259d6 *tests/data/fate/mov-mp4-pcm.mp4
> 10587977 tests/data/fate/mov-mp4-pcm.mp4
> #tb 0: 1/44100
> #media_type 0: audio
> -- 
> 2.35.3
>
> _______________________________________________
> 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 mbox series

Patch

diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c
index 5ffacf64b5..53805c6a35 100644
--- a/libavformat/mov_chan.c
+++ b/libavformat/mov_chan.c
@@ -85,12 +85,8 @@  enum {
     iso_Lc   = AV_CHAN_FRONT_LEFT_OF_CENTER,
     iso_Rc   = AV_CHAN_FRONT_RIGHT_OF_CENTER,
     iso_Cs   = AV_CHAN_BACK_CENTER,
-    /* Side and surround are not exactly the same, but in order to have
-     * consistent 5.1/7.1 layouts we map them to the side channels. */
     iso_Ls   = AV_CHAN_SIDE_LEFT,
-    iso_Lss  = AV_CHAN_SIDE_LEFT,
     iso_Rs   = AV_CHAN_SIDE_RIGHT,
-    iso_Rss  = AV_CHAN_SIDE_RIGHT,
     iso_Ts   = AV_CHAN_TOP_CENTER,
     iso_Lv   = AV_CHAN_TOP_FRONT_LEFT,
     iso_Cv   = AV_CHAN_TOP_FRONT_CENTER,
@@ -110,6 +106,8 @@  enum {
     iso_Cb   = AV_CHAN_BOTTOM_FRONT_CENTER,
     iso_Lb   = AV_CHAN_BOTTOM_FRONT_LEFT,
     iso_Rb   = AV_CHAN_BOTTOM_FRONT_RIGHT,
+    iso_Lss  = AV_CHAN_SIDE_SURROUND_LEFT,
+    iso_Rss  = AV_CHAN_SIDE_SURROUND_RIGHT,
     /* The following have no exact counterparts */
     iso_Lvs  = AV_CHAN_NONE,
     iso_Rvs  = AV_CHAN_NONE,
@@ -622,12 +620,10 @@  static const enum AVChannel iso_channel_position[] = {
     AV_CHAN_LOW_FREQUENCY,
 
     // 4: left surround
-    // TODO
-    AV_CHAN_NONE,
+    AV_CHAN_SIDE_LEFT,
 
     // 5: right surround
-    // TODO
-    AV_CHAN_NONE,
+    AV_CHAN_SIDE_RIGHT,
 
     // 6: left front centre
     AV_CHAN_FRONT_LEFT_OF_CENTER,
@@ -651,10 +647,10 @@  static const enum AVChannel iso_channel_position[] = {
     AV_CHAN_SURROUND_DIRECT_RIGHT,
 
     // 13: left side surround
-    AV_CHAN_SIDE_LEFT,
+    AV_CHAN_SIDE_SURROUND_LEFT,
 
     // 14: right side surround
-    AV_CHAN_SIDE_RIGHT,
+    AV_CHAN_SIDE_SURROUND_RIGHT,
 
     // 15: left wide front
     AV_CHAN_WIDE_LEFT,
@@ -702,12 +698,10 @@  static const enum AVChannel iso_channel_position[] = {
     AV_CHAN_BOTTOM_FRONT_CENTER,
 
     // 30: left vertical height surround
-    // TODO
-    AV_CHAN_NONE,
+    AV_CHAN_TOP_SURROUND_LEFT,
 
     // 31: right vertical height surround
-    // TODO
-    AV_CHAN_NONE,
+    AV_CHAN_TOP_SURROUND_RIGHT,
 
     // 32, 33, 34, 35, reserved
     AV_CHAN_NONE,
diff --git a/tests/ref/fate/mov-mp4-pcm b/tests/ref/fate/mov-mp4-pcm
index 19a978df95..7cdca8629f 100644
--- a/tests/ref/fate/mov-mp4-pcm
+++ b/tests/ref/fate/mov-mp4-pcm
@@ -1,4 +1,4 @@ 
-462668dd69e7ce4fde4934d1d5978531 *tests/data/fate/mov-mp4-pcm.mp4
+0c6802135e9eb442201c0c1b001259d6 *tests/data/fate/mov-mp4-pcm.mp4
 10587977 tests/data/fate/mov-mp4-pcm.mp4
 #tb 0: 1/44100
 #media_type 0: audio