diff --git a/apps/decoder.c b/apps/decoder.c index bcf7e6f5f9321744b3114a4a7394ed38437a4c7b..2b7ec6b5a7333a2d5020ad787fd32a811562222c 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -444,14 +444,14 @@ int main( #ifdef OBJECT_EDIT_FILE_INTERFACE /*------------------------------------------------------------------------------------------* - * Open object editing instructions file + * Open object editing instruction file *------------------------------------------------------------------------------------------*/ if ( arg.objEditFileName != NULL ) { if ( ( error = ObjectEditFileReader_open( arg.objEditFileName, &objectEditFileReader ) ) != IVAS_ERR_OK ) { - fprintf( stderr, "\nError: Can't open Object edit parameter file %s \n\n", arg.objEditFileName ); + fprintf( stderr, "\nError: Can't open Object editing instruction file %s \n\n", arg.objEditFileName ); goto cleanup; } } @@ -1527,11 +1527,11 @@ static bool parseCmdlIVAS_dec( if ( strcmp( argv[i], "NULL" ) == 0 || strcmp( argv[i], "null" ) == 0 ) { - arg->objEditFileName = NULL; /* use the built-in editing function */ + arg->objEditFileName = NULL; /* use the built-in editing function */ } else { - arg->objEditFileName = argv[i]; /* read edit instructions from this file */ + arg->objEditFileName = argv[i]; /* read edit instructions from this file */ } arg->objEditEnabled = true; @@ -2470,11 +2470,12 @@ static ivas_error decodeG192( { if ( ( error = ObjectEditFileReader_readNextFrame( objectEditFileReader ) ) != IVAS_ERR_OK ) { - fprintf( stderr, "\nError: could not read object edit information from file: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); + fprintf( stderr, "\nError: could not read object editing instructions from file: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); return error; } } #endif + /* Do object metadata editing here ... */ #ifdef OBJECT_EDIT_FILE_INTERFACE do_object_editing( &editableParameters, objectEditFileReader ); @@ -3290,7 +3291,7 @@ static ivas_error decodeVoIP( { if ( ( error = ObjectEditFileReader_readNextFrame( objectEditFileReader ) ) != IVAS_ERR_OK ) { - fprintf( stderr, "\nError: could not read object edit information from file: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); + fprintf( stderr, "\nError: could not read object editing instructions from file: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); return error; } } diff --git a/lib_util/obj_edit_file_reader.c b/lib_util/obj_edit_file_reader.c index 7abe94ea4b01515d9d42eb078971906161e1af6c..f4ea2c4b5bd2731fd1a80a5401a9d812d10ab8f6 100644 --- a/lib_util/obj_edit_file_reader.c +++ b/lib_util/obj_edit_file_reader.c @@ -32,20 +32,27 @@ the United Nations Convention on Contracts on the International Sales of Goods. #include #include -#include #include "obj_edit_file_reader.h" #include "prot.h" + +#ifdef OBJECT_EDIT_FILE_INTERFACE /*-----------------------------------------------------------------------* * ObjectEditFileReader_open() * * Allocate and initialize object editing reader *-----------------------------------------------------------------------*/ + ivas_error ObjectEditFileReader_open( const char *fileName, /* i : path to object edit description file */ ObjectEditFileReader **objEditReader /* o : ObjectEditFileReader handle */ ) { + if ( fileName == NULL || *objEditReader == NULL || objEditReader == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + ObjectEditFileReader *self; FILE *fileHandle; int16_t obj_idx; @@ -72,6 +79,7 @@ ivas_error ObjectEditFileReader_open( self->readInfo = (ReadObjectEditInfo *) calloc( sizeof( ReadObjectEditInfo ), 1 ); self->readInfo->bg_gain = 0.0f; self->readInfo->bg_gain_edited = false; + for ( obj_idx = 0; obj_idx < IVAS_MAX_NUM_OBJECTS; obj_idx++ ) { self->readInfo->obj_gain[obj_idx] = 0.0f; @@ -92,15 +100,22 @@ ivas_error ObjectEditFileReader_open( return IVAS_ERR_OK; } + /*---------------------------------------------------------------------* * ObjectEditFileReader_readNextFrame() * - * + * Read object editing parameters for current frame *---------------------------------------------------------------------*/ + ivas_error ObjectEditFileReader_readNextFrame( ObjectEditFileReader *objEditReader /* i/o: ObjectEditFileReader handle */ ) { + if ( objEditReader == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + if ( fgets( objEditReader->inLine, objEditReader->maxLineLen, objEditReader->editFileHandle ) != NULL ) { char *token; @@ -183,7 +198,7 @@ ivas_error ObjectEditFileReader_readNextFrame( } else if ( strcmp( param, "relgain" ) == 0 ) { - readEdits->obj_gain_relative[obj_idx] = ( strcmp( paramValue, "1" ) == 0); + readEdits->obj_gain_relative[obj_idx] = ( strcmp( paramValue, "1" ) == 0 ); } else if ( strcmp( param, "relazi" ) == 0 ) { @@ -237,11 +252,13 @@ ivas_error ObjectEditFileReader_readNextFrame( return IVAS_ERR_OK; } + /*-----------------------------------------------------------------------* * ObjectEditFileReader_close() * * Deallocates memory for the object edit file reader *-----------------------------------------------------------------------*/ + void ObjectEditFileReader_close( ObjectEditFileReader **objEditReader /* i/o: ObjectEditFileReader handle */ ) @@ -258,3 +275,4 @@ void ObjectEditFileReader_close( return; } +#endif diff --git a/lib_util/obj_edit_file_reader.h b/lib_util/obj_edit_file_reader.h index bab06367198372c92a590ea0ab8b72472d5810b1..80a164d8204e4740daafb7c58605fa3fff114f9d 100644 --- a/lib_util/obj_edit_file_reader.h +++ b/lib_util/obj_edit_file_reader.h @@ -36,11 +36,18 @@ the United Nations Convention on Contracts on the International Sales of Goods. #include #include "common_api_types.h" + +#ifdef OBJECT_EDIT_FILE_INTERFACE +/*---------------------------------------------------------------------* + * Constants ans structures + *---------------------------------------------------------------------*/ + #define OBJ_EDIT_GAIN_MIN 0.06309573f /* -24 dB */ #define OBJ_EDIT_GAIN_MAX 15.84893f /* +24 dB */ typedef struct ObjectEditFileReader ObjectEditFileReader; typedef struct ReadObjectEditInfo ReadObjectEditInfo; + struct ReadObjectEditInfo { float bg_gain; @@ -73,6 +80,7 @@ struct ObjectEditFileReader * * Allocate the ObjectEditFileReader. *---------------------------------------------------------------------*/ + /*! r: ObjectEditFileReader handle */ ivas_error ObjectEditFileReader_open( const char *fileName, /* i : path to object edit description file */ @@ -82,8 +90,9 @@ ivas_error ObjectEditFileReader_open( /*---------------------------------------------------------------------* * ObjectEditFileReader_readNextFrame() * - * + * Read object editing parameters for current frame *---------------------------------------------------------------------*/ + /*! r: error code */ ivas_error ObjectEditFileReader_readNextFrame( ObjectEditFileReader *objEditReader /* i/o: ObjectEditFileReader handle */ @@ -94,9 +103,10 @@ ivas_error ObjectEditFileReader_readNextFrame( * * Deallocate the ObjectEditFileReader. *---------------------------------------------------------------------*/ + void ObjectEditFileReader_close( ObjectEditFileReader **objEditReader /* i/o: pointer to ObjectEditFileReader handle */ ); - +#endif #endif /* OBJ_EDIT_FILE_READER_H */