Commit 1e5e8f48 authored by vaclav's avatar vaclav
Browse files

fix remaining issues with FIX_532_ISM_MD_INACTIVE in OMASA

parent d1b627a6
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -385,22 +385,28 @@ ivas_error ivas_masa_encode(
                {
                    /* signal NULL metadata frame */
                    push_next_indice( hMetaData, 1, ISM_METADATA_MD_FLAG_BITS );
                    hQMetaData->metadata_max_bits -= ISM_METADATA_MD_FLAG_BITS;

                    /* write the ISM class to ISM_NO_META and again the true ISM class */
                    push_next_indice( hMetaData, ISM_NO_META, ISM_METADATA_FLAG_BITS );
                    hQMetaData->metadata_max_bits -= ISM_METADATA_FLAG_BITS;
                    push_next_indice( hMetaData, hIsmMetaData[0]->ism_imp, ISM_METADATA_FLAG_BITS );
                    hQMetaData->metadata_max_bits -= ISM_METADATA_FLAG_BITS;
                }
                else
                {
                    push_next_indice( hMetaData, hIsmMetaData[0]->ism_imp, ISM_METADATA_FLAG_BITS );
                    hQMetaData->metadata_max_bits -= ISM_METADATA_FLAG_BITS;

                    if ( hIsmMetaData[0]->ism_imp == ISM_NO_META )
                    {
                        /* signal low-rate ISM_NO_META frame */
                        push_next_indice( hMetaData, 0, ISM_METADATA_MD_FLAG_BITS );
                        hQMetaData->metadata_max_bits -= ISM_METADATA_MD_FLAG_BITS;

                        /* signal presence of MD in low-rate ISM_NO_META frame */
                        push_next_indice( hMetaData, hIsmMetaData[0]->ism_md_lowrate_flag, ISM_METADATA_INACTIVE_FLAG_BITS );
                        hQMetaData->metadata_max_bits -= ISM_METADATA_INACTIVE_FLAG_BITS;
                    }
                }
#else
@@ -424,22 +430,28 @@ ivas_error ivas_masa_encode(
                    {
                        /* signal NULL metadata frame */
                        push_next_indice( hMetaData, 1, ISM_METADATA_MD_FLAG_BITS );
                        hQMetaData->metadata_max_bits -= ISM_METADATA_MD_FLAG_BITS;

                        /* write the ISM class to ISM_NO_META and again the true ISM class */
                        push_next_indice( hMetaData, ISM_NO_META, ISM_METADATA_FLAG_BITS );
                        hQMetaData->metadata_max_bits -= ISM_METADATA_FLAG_BITS;
                        push_next_indice( hMetaData, hIsmMetaData[i]->ism_imp, ISM_METADATA_FLAG_BITS );
                        hQMetaData->metadata_max_bits -= ISM_METADATA_FLAG_BITS;
                    }
                    else
                    {
                        push_next_indice( hMetaData, hIsmMetaData[i]->ism_imp, ISM_METADATA_FLAG_BITS );
                        hQMetaData->metadata_max_bits -= ISM_METADATA_FLAG_BITS;

                        if ( hIsmMetaData[i]->ism_imp == ISM_NO_META )
                        {
                            /* signal low-rate ISM_NO_META frame */
                            push_next_indice( hMetaData, 0, ISM_METADATA_MD_FLAG_BITS );
                            hQMetaData->metadata_max_bits -= ISM_METADATA_MD_FLAG_BITS;

                            /* signal presence of MD in low-rate ISM_NO_META frame */
                            push_next_indice( hMetaData, hIsmMetaData[i]->ism_md_lowrate_flag, ISM_METADATA_INACTIVE_FLAG_BITS );
                            hQMetaData->metadata_max_bits -= ISM_METADATA_INACTIVE_FLAG_BITS;
                        }
                    }
#else