Commit d2df58e3 authored by vaclav's avatar vaclav
Browse files

write SBA order and planar flag at one common place

parent 0cf4adca
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -84,7 +84,13 @@ void ivas_write_format(
void ivas_write_format_sid(
    const IVAS_FORMAT ivas_format,                              /* i  : IVAS format                             */
    const int16_t element_mode,                                 /* i  : element bitrate                         */
#ifdef NONBE_FIX_1052_SBA_EXT
    BSTR_ENC_HANDLE hBstr,                                      /* i/o: encoder bitstream handle                */
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                   */
    const int16_t sba_planar                                    /* i  : SBA planar flag                         */
#else
    BSTR_ENC_HANDLE hBstr                                       /* i/o: encoder bitstream handle                */
#endif
);

ivas_error create_sce_enc(
+3 −9
Original line number Diff line number Diff line
@@ -599,16 +599,10 @@ ivas_error ivas_cpe_enc(

    if ( sts[0]->core_brate == SID_2k40 )
    {
        ivas_write_format_sid( ivas_format, hCPE->element_mode, sts[0]->hBstr );
#ifdef NONBE_FIX_1052_SBA_EXT
        if ( ivas_format == SBA_FORMAT )
        {
            /* Write SBA planar flag */
            push_indice( sts[0]->hBstr, IND_SMODE, st_ivas->hEncoderConfig->sba_planar, SBA_PLANAR_BITS );

            /* Write SBA order */
            push_indice( sts[0]->hBstr, IND_SMODE, st_ivas->hEncoderConfig->sba_order, SBA_ORDER_BITS );
        }
        ivas_write_format_sid( ivas_format, hCPE->element_mode, sts[0]->hBstr, hEncoderConfig->sba_order, hEncoderConfig->sba_planar );
#else
        ivas_write_format_sid( ivas_format, hCPE->element_mode, sts[0]->hBstr );
#endif
    }

+18 −1
Original line number Diff line number Diff line
@@ -135,7 +135,13 @@ void ivas_write_format(
void ivas_write_format_sid(
    const IVAS_FORMAT ivas_format, /* i  : IVAS format               */
    const int16_t element_mode,    /* i  : element bitrate           */
#ifdef NONBE_FIX_1052_SBA_EXT
    BSTR_ENC_HANDLE hBstr,   /* i/o: encoder bitstream handle  */
    const int16_t sba_order, /* i  : Ambisonic (SBA) order     */
    const int16_t sba_planar /* i  : SBA planar flag           */
#else
    BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle                */
#endif
)
{
    int16_t ind = 0; /* to avoid compilation warning */
@@ -193,6 +199,17 @@ void ivas_write_format_sid(

    push_indice( hBstr, IND_IVAS_FORMAT, ind, SID_FORMAT_NBITS );

#ifdef NONBE_FIX_1052_SBA_EXT
    if ( ivas_format == SBA_FORMAT )
    {
        /* Write SBA planar flag */
        push_indice( hBstr, IND_SMODE, sba_planar, SBA_PLANAR_BITS );

        /* Write SBA order */
        push_indice( hBstr, IND_SMODE, sba_order, SBA_ORDER_BITS );
    }
#endif

    return;
}

+4 −0
Original line number Diff line number Diff line
@@ -280,7 +280,11 @@ ivas_error ivas_ism_enc(

    if ( sid_flag )
    {
#ifdef NONBE_FIX_1052_SBA_EXT
        ivas_write_format_sid( st_ivas->hEncoderConfig->ivas_format, IVAS_SCE, st->hBstr, -1, -1 );
#else
        ivas_write_format_sid( st_ivas->hEncoderConfig->ivas_format, IVAS_SCE, st->hBstr );
#endif
    }

    /*only metadata encoding is needed for this case*/
+3 −9
Original line number Diff line number Diff line
@@ -223,16 +223,10 @@ ivas_error ivas_sce_enc(

    if ( st->core_brate == SID_2k40 )
    {
        ivas_write_format_sid( ivas_format, IVAS_SCE, st->hBstr );
#ifdef NONBE_FIX_1052_SBA_EXT
        if ( ivas_format == SBA_FORMAT )
        {
            /* Write SBA planar flag */
            push_indice( st->hBstr, IND_SMODE, st_ivas->hEncoderConfig->sba_planar, SBA_PLANAR_BITS );

            /* Write SBA order */
            push_indice( st->hBstr, IND_SMODE, st_ivas->hEncoderConfig->sba_order, SBA_ORDER_BITS );
        }
        ivas_write_format_sid( ivas_format, IVAS_SCE, st->hBstr, st_ivas->hEncoderConfig->sba_order, st_ivas->hEncoderConfig->sba_planar );
#else
        ivas_write_format_sid( ivas_format, IVAS_SCE, st->hBstr );
#endif
    }