Commit 663b271c authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Merge branch...

Merge branch '1370-using-euler-angles-with-external-orientations-is-not-raising-an-error-message' into 'main'

Add sanity check for Euler/Quaternion angles for external orientations

See merge request !2219
parents 60690748 a75686d1
Loading
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -134,6 +134,9 @@ typedef enum
    IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT,
    IVAS_ERR_NO_FILE_OPEN,
    IVAS_ERR_SAMPLING_RATE_UNKNOWN,
#ifdef FIX_1370_EXTERNAL_ORIENTATION_CHECK
    IVAS_ERR_EXTERNAL_ORIENTATION_INVALID_FORMAT,
#endif

    /*----------------------------------------*
     *    renderer (lib_rend only)            *
@@ -271,6 +274,10 @@ static inline const char *ivas_error_to_string( ivas_error error_code )
            return "Invalid input format";
        case IVAS_ERR_INVALID_INDEX:
            return "Invalid index";
#ifdef FIX_1370_EXTERNAL_ORIENTATION_CHECK
        case IVAS_ERR_EXTERNAL_ORIENTATION_INVALID_FORMAT:
            return "Euler angles were detected in the input but only Quaternions are supported";
#endif
        default:
            break;
    }
+1 −0
Original line number Diff line number Diff line
@@ -167,6 +167,7 @@
#define FIX_1369_HQ_LR_OVERFLOW                         /* FhG: fix BASOP overflow in hq_lr_enc(), brings floating-point code inline with FX */
#define FIX_1376_MISSING_ISM_METADATA                   /* FhG: IVAS_rend: throw error if there exists an ISM input without a corresponding metadata file path */
#define FIX_1330_JBM_MEMORY                             /* VA: issue 1330: memory savings in the JBM decoder */
#define FIX_1370_EXTERNAL_ORIENTATION_CHECK             /* Nokia: add sanity check for Euler angles for external orientations */

/* #################### End BE switches ################################## */

+8 −0
Original line number Diff line number Diff line
@@ -174,6 +174,14 @@ ivas_error ExternalOrientationFileReading(
    }

    ( externalOrientationReader->frameCounter )++;
#ifdef FIX_1370_EXTERNAL_ORIENTATION_CHECK

    /* Only Quaternion orientations are supported, raise an error if Euler angles are detected in the input */
    if ( w == -3.0f )
    {
        return IVAS_ERR_EXTERNAL_ORIENTATION_INVALID_FORMAT;
    }
#endif

    pQuaternion->w = w;
    pQuaternion->x = x;