コード例 #1
0
ファイル: bit_sbr.c プロジェクト: Distrotech/libaacplus
/*****************************************************************************

    description:  encodes SBR Header information
    returns:      number of bits written

*****************************************************************************/
static int
encodeSbrHeader (HANDLE_SBR_HEADER_DATA     sbrHeaderData,
                 HANDLE_SBR_BITSTREAM_DATA  sbrBitstreamData,
                 HANDLE_COMMON_DATA         cmonData,
                 SBR_ELEMENT_TYPE           sbrElem)

{
  int payloadBits = 0;

  

   /* counting previous operation */

   
  if (sbrBitstreamData->CRCActive) {

     
    cmonData->sbrCrcLen = 1;
  }
  else {

     
    cmonData->sbrCrcLen = 0;
  }


  
  if (sbrBitstreamData->HeaderActive) {

       
    payloadBits += WriteBits (&cmonData->sbrBitbuf, 1, 1);

       
    payloadBits += encodeSbrHeaderData (sbrHeaderData,
                                        &cmonData->sbrBitbuf,
                                        sbrElem);
  }
  else {

       
    payloadBits += WriteBits (&cmonData->sbrBitbuf, 0, 1);
  }


   
  cmonData->sbrHdrBits = payloadBits;

  

  return payloadBits;
}
コード例 #2
0
ファイル: bit_sbr.cpp プロジェクト: ShiftMediaProject/fdk-aac
void sbrEncoder_GetHeader(SBR_ENCODER *sbrEncoder, HANDLE_FDK_BITSTREAM hBs,
                          INT element_index, int fSendHeaders) {
  encodeSbrHeaderData(&sbrEncoder->sbrElement[element_index]->sbrHeaderData,
                      hBs);

  if (fSendHeaders == 0) {
    /* Prevent header being embedded into the SBR payload. */
    sbrEncoder->sbrElement[element_index]->sbrBitstreamData.NrSendHeaderData =
        -1;
    sbrEncoder->sbrElement[element_index]->sbrBitstreamData.HeaderActive = 0;
    sbrEncoder->sbrElement[element_index]
        ->sbrBitstreamData.CountSendHeaderData = -1;
  }
}
コード例 #3
0
ファイル: bit_sbr.cpp プロジェクト: ShiftMediaProject/fdk-aac
/*****************************************************************************

    functionname: encodeSbrHeader
    description:  encodes SBR Header information
    returns:      number of bits written
    input:
    output:

*****************************************************************************/
static INT encodeSbrHeader(HANDLE_SBR_HEADER_DATA sbrHeaderData,
                           HANDLE_SBR_BITSTREAM_DATA sbrBitstreamData,
                           HANDLE_COMMON_DATA cmonData) {
  INT payloadBits = 0;

  if (sbrBitstreamData->HeaderActive) {
    payloadBits += FDKwriteBits(&cmonData->sbrBitbuf, 1, 1);
    payloadBits += encodeSbrHeaderData(sbrHeaderData, &cmonData->sbrBitbuf);
  } else {
    payloadBits += FDKwriteBits(&cmonData->sbrBitbuf, 0, 1);
  }

  cmonData->sbrHdrBits = payloadBits;

  return payloadBits;
}