Commit fb4b45b8 authored by Lauros Pajunen's avatar Lauros Pajunen
Browse files

Determine bitrate for rtpdump based on the number of encoded bits

parent 3ad4e261
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -898,7 +898,7 @@ int main(
            IVAS_RTPDUMP_PACKER_determinePIpresence( rtpdumpPacker );

            /* write rtpdump */
            rtpdumpPackerError = IVAS_RTPDUMP_PACKER_writeNextFrame( rtpdumpPacker, bitStream, numBits, totalBitrate,
            rtpdumpPackerError = IVAS_RTPDUMP_PACKER_writeNextFrame( rtpdumpPacker, bitStream, numBits,
                                                                     IVAS_isImmersiveFormat( hIvasEnc ), 0, false, NO_BANDWIDTH_REQUEST, NO_FORMAT_REQUEST );
            if ( rtpdumpPackerError != IVAS_RTPDUMP_PACKER_NO_ERROR )
            {
+18 −2
Original line number Diff line number Diff line
@@ -58,6 +58,21 @@ static void writeByteToRtp(
}


/*-----------------------------------------------------------------------*
 * determineBitrate()
 *
 * Determine bitrate based on the number of encoded bits.
 *-----------------------------------------------------------------------*/

static void determineBitrate(
    const int32_t numBits,                         /* i  : Number of bits contained in the data frame                      */
    int32_t *frameBitrate                          /* o  : Bitrate of the data frame                                       */
)
{
    *frameBitrate = numBits * IVAS_NUM_FRAMES_PER_SEC;
}


/*-----------------------------------------------------------------------*
 * ivasPayload_parseToc()
 *
@@ -871,7 +886,6 @@ IVAS_RTPDUMP_PACKER_ERROR IVAS_RTPDUMP_PACKER_writeNextFrame(
    IVAS_RTPDUMP_PACKER *self,                      /* i/o: IVAS rtpdump packer handle                                      */
    const uint16_t *bitStream,                      /* i  : Bitstream containing the data frame to be written               */
    int32_t numBits,                                /* i  : Number of bits contained in the data frame                      */
    int32_t frameBitrate,                           /* i  : Bitrate of the data frame                                       */
    bool isImmersiveFormat,                         /* i  : Flag to indicate if the frame is in immersive format (IVAS) or in mono format (EVS) */
    int32_t requestedBitrate,                       /* i  : Requested bitrate to be written as CMR in the packet            */
    bool requestImmersiveFormatBitrate,             /* i  : Flag to indicate if the requested bitrate is for immersive modes (IVAS) or mono mode (EVS) */
@@ -881,13 +895,15 @@ IVAS_RTPDUMP_PACKER_ERROR IVAS_RTPDUMP_PACKER_writeNextFrame(
{

    RTPDUMP_ERROR rtpdumpError;
    int32_t i, k;
    int32_t i, k, frameBitrate;
    char tempData;

    self->writingIndex = self->rtpPacket.headerSize;
    self->rtpPacket.payloadSize = 0;
    memset( self->rtpPacket.data, 0, sizeof( self->rtpPacket.data ) );

    determineBitrate( numBits, &frameBitrate );

    /* payload header */
    IVAS_RTPDUMP_PACKER_writeEbytes(self, requestedBitrate, requestImmersiveFormatBitrate, ivasBandwidthRequest, ivasFormatRequest );
    IVAS_RTPDUMP_PACKER_writeToc( self, frameBitrate, isImmersiveFormat, false );
+0 −1
Original line number Diff line number Diff line
@@ -348,7 +348,6 @@ IVAS_RTPDUMP_PACKER_ERROR IVAS_RTPDUMP_PACKER_writeNextFrame(
    IVAS_RTPDUMP_PACKER *self,                      /* i/o: IVAS rtpdump packer handle                                      */
    const uint16_t *bitStream,                      /* i  : Bitstream containing the data frame to be written               */
    int32_t numBits,                                /* i  : Number of bits contained in the data frame                      */
    int32_t frameBitrate,                           /* i  : Bitrate of the data frame                                       */
    bool isImmersiveFormat,                         /* i  : Flag to indicate if the frame is in immersive format (IVAS) or in mono format (EVS) */
    int32_t requestedBitrate,                       /* i  : Requested bitrate to be written as CMR in the packet            */
    bool requestImmersiveFormatBitrate,             /* i  : Flag to indicate if the requested bitrate is for immersive modes (IVAS) or mono mode (EVS) */