Commit 478ae56f authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Implements contribution 40 - MASA descriptive metadata transmission.

parent 1799dca1
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1204,6 +1204,12 @@ enum

#define MASA_BIT_REDUCT_PARAM                   10
#define MASA_MAXIMUM_TWO_DIR_BANDS             18

#ifdef NOKIA_MASA_DESCRIPTIVE_META_TRANSMISSION
#define MASA_DESC_META_LEVEL2_BRATE             IVAS_64k
#define MASA_DESC_META_LEVEL3_BRATE             IVAS_96k
#endif

typedef enum
{
    MASA_STEREO_NOT_DEFINED,
+31 −0
Original line number Diff line number Diff line
@@ -415,3 +415,34 @@ void masa_sample_rate_band_correction(

    return;
}

#ifdef NOKIA_MASA_DESCRIPTIVE_META_TRANSMISSION
/*---------------------------------------------------------------
 * ivas_masa_map_meta_channel_layout_to_mc_ls_setup()
 *
 * Maps channel layout metadata from descriptive MASA metadata to
 * MC LS SETUP type.
 * -------------------------------------------------------------*/

/*! r : multi channel loudspeaker setup */
MC_LS_SETUP ivas_masa_map_meta_channel_layout_to_mc_ls_setup(
    const uint8_t channelLayout /* i: Input value from descriptive metadata */
)
{
    switch ( channelLayout )
    {
        case 0x3:
            return MC_LS_SETUP_5_1;
        case 0x4:
            return MC_LS_SETUP_5_1_2;
        case 0x5:
            return MC_LS_SETUP_5_1_4;
        case 0x6:
            return MC_LS_SETUP_7_1;
        case 0x7:
            return MC_LS_SETUP_7_1_4;
    }

    return MC_LS_SETUP_INVALID;
}
#endif
+7 −0
Original line number Diff line number Diff line
@@ -4604,6 +4604,13 @@ void ivas_masa_set_coding_config(
    const uint8_t isMcMasa                                      /* i  : toggle for selecting McMASA specific config     */
);

#ifdef NOKIA_MASA_DESCRIPTIVE_META_TRANSMISSION
/*! r : multi channel loudspeaker setup */
MC_LS_SETUP ivas_masa_map_meta_channel_layout_to_mc_ls_setup(
    const uint8_t channelLayout                                 /* i  : Input value from descriptive metadata           */
);
#endif

/*! r: Surround coherence significant flag */
uint8_t ivas_masa_surrcoh_signicant(
    float surroundingCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS],   /* i  : Surround coherence         */
+4 −0
Original line number Diff line number Diff line
@@ -2701,7 +2701,11 @@ const int16_t MASA_grouping_24_to_5[24] =
/*  IVAS_13k2, IVAS_16k4, IVAS_24k4, IVAS_32k, IVAS_48k, IVAS_64k, IVAS_80k, IVAS_96k,  IVAS_128k, IVAS_160k, IVAS_192k, IVAS_256k, IVAS_384k, IVAS_512k */
const int16_t masa_bits[IVAS_NUM_ACTIVE_BRATES] =
{
#ifdef NOKIA_MASA_DESCRIPTIVE_META_TRANSMISSION
    50,          60,          70,          85,         140,        188,        228,        266,         360,         442,         538,         842,         1024,        MASA_MAX_BITS
#else
    50,          60,          70,          85,         140,        180,        220,        256,         350,         432,         528,         832,         1024,        MASA_MAX_BITS
#endif
};

const int16_t masa_bits_LR_stereo[4] =
+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,8 @@
#define FIX_390_EXT_REND_MASA_META_COPY                 /* Nokia: Issue 390: Fixes MASA metadata copying to renderer. */
#define FIX_392_LATE_REVERB                             /* DLB : Issue 392: keep late reverb by default off when output config is not BINAURAL_ROOM*/

#define NOKIA_MASA_DESCRIPTIVE_META_TRANSMISSION        /* Nokia: Implements transmission and use of descriptive metadata. */

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
#endif
Loading