Commit d1ad7c6a authored by Jouni Paulus's avatar Jouni Paulus
Browse files

Merge branch '1217-object-edit-file-impr' into '1217-object-edit-file-interface-and-test-cases'

Object editing file improvements

See merge request !1922
parents f01f39a5 a3292251
Loading
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -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;
        }
    }
@@ -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;
            }
        }
+21 −3
Original line number Diff line number Diff line
@@ -32,20 +32,27 @@ the United Nations Convention on Contracts on the International Sales of Goods.

#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#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;
@@ -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
+12 −2
Original line number Diff line number Diff line
@@ -36,11 +36,18 @@ the United Nations Convention on Contracts on the International Sales of Goods.
#include <stdbool.h>
#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 */