_Z17FDK_Delay_DestroyP15FDK_SignalDelay:
  164|     22|void FDK_Delay_Destroy(FDK_SignalDelay* data) {
  165|     22|  if (data->delay_line != NULL) {
  ------------------
  |  Branch (165:7): [True: 0, False: 22]
  ------------------
  166|      0|    FDKfree(data->delay_line);
  167|      0|  }
  168|     22|  data->delay_line = NULL;
  169|     22|  data->delay = 0;
  170|     22|  data->num_channels = 0;
  171|       |
  172|     22|  return;
  173|     22|}

_Z19aacDecoder_drcResetP8CDrcInfo:
  172|     22|void aacDecoder_drcReset(HANDLE_AAC_DRC self) {
  173|     22|  self->applyExtGain = 0;
  174|     22|  self->additionalGainPrev = AACDEC_DRC_GAIN_INIT_VALUE;
  ------------------
  |  |  114|     22|  (FL2FXCONST_DBL(                 \
  |  |  ------------------
  |  |  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  |  |  ------------------
  |  |  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  |  |  ------------------
  |  |  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|     22|      1.0f / (1 << AACDEC_DRC_GAIN_SCALING))) /* Init value for DRC gains */
  ------------------
  175|     22|  self->additionalGainFilterState = AACDEC_DRC_GAIN_INIT_VALUE;
  ------------------
  |  |  114|     22|  (FL2FXCONST_DBL(                 \
  |  |  ------------------
  |  |  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  |  |  ------------------
  |  |  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  |  |  ------------------
  |  |  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|     22|      1.0f / (1 << AACDEC_DRC_GAIN_SCALING))) /* Init value for DRC gains */
  ------------------
  176|     22|  self->additionalGainFilterState1 = AACDEC_DRC_GAIN_INIT_VALUE;
  ------------------
  |  |  114|     22|  (FL2FXCONST_DBL(                 \
  |  |  ------------------
  |  |  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  |  |  ------------------
  |  |  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  |  |  ------------------
  |  |  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  115|     22|      1.0f / (1 << AACDEC_DRC_GAIN_SCALING))) /* Init value for DRC gains */
  ------------------
  177|     22|}
_Z18aacDecoder_drcInitP8CDrcInfo:
  186|     22|void aacDecoder_drcInit(HANDLE_AAC_DRC self) {
  187|     22|  CDrcParams *pParams;
  188|       |
  189|     22|  if (self == NULL) {
  ------------------
  |  Branch (189:7): [True: 0, False: 22]
  ------------------
  190|      0|    return;
  191|      0|  }
  192|       |
  193|       |  /* init control fields */
  194|     22|  self->enable = OFF;
  ------------------
  |  |  134|     22|#define OFF 0
  ------------------
  195|     22|  self->numThreads = 0;
  196|       |
  197|       |  /* init params */
  198|     22|  pParams = &self->params;
  199|     22|  pParams->bsDelayEnable = 0;
  200|     22|  pParams->cut = FL2FXCONST_DBL(0.0f);
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  201|     22|  pParams->usrCut = FL2FXCONST_DBL(0.0f);
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|     22|  pParams->boost = FL2FXCONST_DBL(0.0f);
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|     22|  pParams->usrBoost = FL2FXCONST_DBL(0.0f);
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|     22|  pParams->targetRefLevel = 96;
  205|     22|  pParams->expiryFrame = AACDEC_DRC_DFLT_EXPIRY_FRAMES;
  ------------------
  |  |  118|     22|  (0) /* Default DRC data expiry time in AAC frames   */
  ------------------
  206|     22|  pParams->applyHeavyCompression = OFF;
  ------------------
  |  |  134|     22|#define OFF 0
  ------------------
  207|     22|  pParams->usrApplyHeavyCompression = OFF;
  ------------------
  |  |  134|     22|#define OFF 0
  ------------------
  208|       |
  209|     22|  pParams->defaultPresentationMode = DISABLED_PARAMETER_HANDLING;
  210|     22|  pParams->encoderTargetLevel = MAX_REFERENCE_LEVEL; /* worst case assumption */
  ------------------
  |  |  128|     22|#define MAX_REFERENCE_LEVEL (127)
  ------------------
  211|       |
  212|     22|  self->update = 1;
  213|     22|  self->numOutChannels = 0;
  214|     22|  self->prevAacNumChannels = 0;
  215|       |
  216|       |  /* initial program ref level = target ref level */
  217|     22|  self->progRefLevel = pParams->targetRefLevel;
  218|     22|  self->progRefLevelPresent = 0;
  219|     22|  self->presMode = -1;
  220|       |
  221|     22|  aacDecoder_drcReset(self);
  222|     22|}
_Z22aacDecoder_drcSetParamP8CDrcInfo16AACDEC_DRC_PARAMi:
  252|     44|                                         AACDEC_DRC_PARAM param, INT value) {
  253|     44|  AAC_DECODER_ERROR ErrorStatus = AAC_DEC_OK;
  254|       |
  255|     44|  switch (param) {
  256|      0|    case DRC_CUT_SCALE:
  ------------------
  |  Branch (256:5): [True: 0, False: 44]
  ------------------
  257|       |      /* set attenuation scale factor */
  258|      0|      if ((value < 0) || (value > DRC_MAX_QUANT_FACTOR)) {
  ------------------
  |  |  117|      0|#define DRC_MAX_QUANT_FACTOR (DRC_MAX_QUANT_STEPS - 1)
  |  |  ------------------
  |  |  |  |  116|      0|#define DRC_MAX_QUANT_STEPS (1 << DRC_PARAMETER_BITS)
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define DRC_PARAMETER_BITS (7)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (258:11): [True: 0, False: 0]
  |  Branch (258:26): [True: 0, False: 0]
  ------------------
  259|      0|        return AAC_DEC_SET_PARAM_FAIL;
  260|      0|      }
  261|      0|      if (self == NULL) {
  ------------------
  |  Branch (261:11): [True: 0, False: 0]
  ------------------
  262|      0|        return AAC_DEC_INVALID_HANDLE;
  263|      0|      }
  264|      0|      self->params.usrCut = (FIXP_DBL)(
  265|      0|          (INT)(DRC_PARAM_QUANT_STEP >> DRC_PARAM_SCALE) * (INT)value);
  ------------------
  |  |  119|      0|  (FL2FXCONST_DBL(1.0f / (float)DRC_MAX_QUANT_FACTOR))
  |  |  ------------------
  |  |  |  |  192|      0|  (FIXP_DBL)(                                                                \
  |  |  |  |  193|      0|      ((val) >= 0)                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (193:7): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  |  |  194|      0|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  198|      0|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                        (INT)(DRC_PARAM_QUANT_STEP >> DRC_PARAM_SCALE) * (INT)value);
  ------------------
  |  |  120|      0|#define DRC_PARAM_SCALE (1)
  ------------------
  266|      0|      self->update = 1;
  267|      0|      break;
  268|      0|    case DRC_BOOST_SCALE:
  ------------------
  |  Branch (268:5): [True: 0, False: 44]
  ------------------
  269|       |      /* set boost factor */
  270|      0|      if ((value < 0) || (value > DRC_MAX_QUANT_FACTOR)) {
  ------------------
  |  |  117|      0|#define DRC_MAX_QUANT_FACTOR (DRC_MAX_QUANT_STEPS - 1)
  |  |  ------------------
  |  |  |  |  116|      0|#define DRC_MAX_QUANT_STEPS (1 << DRC_PARAMETER_BITS)
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|      0|#define DRC_PARAMETER_BITS (7)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (270:11): [True: 0, False: 0]
  |  Branch (270:26): [True: 0, False: 0]
  ------------------
  271|      0|        return AAC_DEC_SET_PARAM_FAIL;
  272|      0|      }
  273|      0|      if (self == NULL) {
  ------------------
  |  Branch (273:11): [True: 0, False: 0]
  ------------------
  274|      0|        return AAC_DEC_INVALID_HANDLE;
  275|      0|      }
  276|      0|      self->params.usrBoost = (FIXP_DBL)(
  277|      0|          (INT)(DRC_PARAM_QUANT_STEP >> DRC_PARAM_SCALE) * (INT)value);
  ------------------
  |  |  119|      0|  (FL2FXCONST_DBL(1.0f / (float)DRC_MAX_QUANT_FACTOR))
  |  |  ------------------
  |  |  |  |  192|      0|  (FIXP_DBL)(                                                                \
  |  |  |  |  193|      0|      ((val) >= 0)                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (193:7): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  |  |  194|      0|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  198|      0|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                        (INT)(DRC_PARAM_QUANT_STEP >> DRC_PARAM_SCALE) * (INT)value);
  ------------------
  |  |  120|      0|#define DRC_PARAM_SCALE (1)
  ------------------
  278|      0|      self->update = 1;
  279|      0|      break;
  280|      0|    case TARGET_REF_LEVEL:
  ------------------
  |  Branch (280:5): [True: 0, False: 44]
  ------------------
  281|      0|      if (value > MAX_REFERENCE_LEVEL || value < -MAX_REFERENCE_LEVEL) {
  ------------------
  |  |  128|      0|#define MAX_REFERENCE_LEVEL (127)
  ------------------
                    if (value > MAX_REFERENCE_LEVEL || value < -MAX_REFERENCE_LEVEL) {
  ------------------
  |  |  128|      0|#define MAX_REFERENCE_LEVEL (127)
  ------------------
  |  Branch (281:11): [True: 0, False: 0]
  |  Branch (281:42): [True: 0, False: 0]
  ------------------
  282|      0|        return AAC_DEC_SET_PARAM_FAIL;
  283|      0|      }
  284|      0|      if (self == NULL) {
  ------------------
  |  Branch (284:11): [True: 0, False: 0]
  ------------------
  285|      0|        return AAC_DEC_INVALID_HANDLE;
  286|      0|      }
  287|      0|      if (value < 0) {
  ------------------
  |  Branch (287:11): [True: 0, False: 0]
  ------------------
  288|      0|        self->params.targetRefLevel = -1;
  289|      0|      } else {
  290|      0|        if (self->params.targetRefLevel != (SCHAR)value) {
  ------------------
  |  Branch (290:13): [True: 0, False: 0]
  ------------------
  291|      0|          self->params.targetRefLevel = (SCHAR)value;
  292|      0|          self->progRefLevel = (SCHAR)value; /* Always set the program reference
  293|       |                                                level equal to the target level
  294|       |                                                according to 4.5.2.7.3 of
  295|       |                                                ISO/IEC 14496-3. */
  296|      0|        }
  297|      0|        self->update = 1;
  298|      0|      }
  299|      0|      break;
  300|      0|    case APPLY_HEAVY_COMPRESSION:
  ------------------
  |  Branch (300:5): [True: 0, False: 44]
  ------------------
  301|      0|      if ((value != OFF) && (value != ON)) {
  ------------------
  |  |  134|      0|#define OFF 0
  ------------------
                    if ((value != OFF) && (value != ON)) {
  ------------------
  |  |  135|      0|#define ON 1
  ------------------
  |  Branch (301:11): [True: 0, False: 0]
  |  Branch (301:29): [True: 0, False: 0]
  ------------------
  302|      0|        return AAC_DEC_SET_PARAM_FAIL;
  303|      0|      }
  304|      0|      if (self == NULL) {
  ------------------
  |  Branch (304:11): [True: 0, False: 0]
  ------------------
  305|      0|        return AAC_DEC_INVALID_HANDLE;
  306|      0|      }
  307|       |      /* Store new parameter value */
  308|      0|      self->params.usrApplyHeavyCompression = (UCHAR)value;
  309|      0|      self->update = 1;
  310|      0|      break;
  311|      0|    case DEFAULT_PRESENTATION_MODE:
  ------------------
  |  Branch (311:5): [True: 0, False: 44]
  ------------------
  312|      0|      if (value < AAC_DRC_PARAMETER_HANDLING_DISABLED ||
  ------------------
  |  Branch (312:11): [True: 0, False: 0]
  ------------------
  313|      0|          value > AAC_DRC_PRESENTATION_MODE_2_DEFAULT) {
  ------------------
  |  Branch (313:11): [True: 0, False: 0]
  ------------------
  314|      0|        return AAC_DEC_SET_PARAM_FAIL;
  315|      0|      }
  316|      0|      if (self == NULL) {
  ------------------
  |  Branch (316:11): [True: 0, False: 0]
  ------------------
  317|      0|        return AAC_DEC_INVALID_HANDLE;
  318|      0|      }
  319|      0|      self->params.defaultPresentationMode =
  320|      0|          (AACDEC_DRC_PARAMETER_HANDLING)value;
  321|      0|      self->update = 1;
  322|      0|      break;
  323|      0|    case ENCODER_TARGET_LEVEL:
  ------------------
  |  Branch (323:5): [True: 0, False: 44]
  ------------------
  324|      0|      if (value > MAX_REFERENCE_LEVEL || value < 0) {
  ------------------
  |  |  128|      0|#define MAX_REFERENCE_LEVEL (127)
  ------------------
  |  Branch (324:11): [True: 0, False: 0]
  |  Branch (324:42): [True: 0, False: 0]
  ------------------
  325|      0|        return AAC_DEC_SET_PARAM_FAIL;
  326|      0|      }
  327|      0|      if (self == NULL) {
  ------------------
  |  Branch (327:11): [True: 0, False: 0]
  ------------------
  328|      0|        return AAC_DEC_INVALID_HANDLE;
  329|      0|      }
  330|      0|      self->params.encoderTargetLevel = (UCHAR)value;
  331|      0|      self->update = 1;
  332|      0|      break;
  333|     44|    case DRC_BS_DELAY:
  ------------------
  |  Branch (333:5): [True: 44, False: 0]
  ------------------
  334|     44|      if (value < 0 || value > 1) {
  ------------------
  |  Branch (334:11): [True: 0, False: 44]
  |  Branch (334:24): [True: 0, False: 44]
  ------------------
  335|      0|        return AAC_DEC_SET_PARAM_FAIL;
  336|      0|      }
  337|     44|      if (self == NULL) {
  ------------------
  |  Branch (337:11): [True: 0, False: 44]
  ------------------
  338|      0|        return AAC_DEC_INVALID_HANDLE;
  339|      0|      }
  340|     44|      self->params.bsDelayEnable = value;
  341|     44|      break;
  342|      0|    case DRC_DATA_EXPIRY_FRAME:
  ------------------
  |  Branch (342:5): [True: 0, False: 44]
  ------------------
  343|      0|      if (self == NULL) {
  ------------------
  |  Branch (343:11): [True: 0, False: 0]
  ------------------
  344|      0|        return AAC_DEC_INVALID_HANDLE;
  345|      0|      }
  346|      0|      self->params.expiryFrame = (value > 0) ? (UINT)value : 0;
  ------------------
  |  Branch (346:34): [True: 0, False: 0]
  ------------------
  347|      0|      break;
  348|      0|    case MAX_OUTPUT_CHANNELS:
  ------------------
  |  Branch (348:5): [True: 0, False: 44]
  ------------------
  349|      0|      if (self == NULL) {
  ------------------
  |  Branch (349:11): [True: 0, False: 0]
  ------------------
  350|      0|        return AAC_DEC_INVALID_HANDLE;
  351|      0|      }
  352|      0|      self->numOutChannels = (INT)value;
  353|      0|      self->update = 1;
  354|      0|      break;
  355|      0|    default:
  ------------------
  |  Branch (355:5): [True: 0, False: 44]
  ------------------
  356|      0|      return AAC_DEC_SET_PARAM_FAIL;
  357|     44|  } /* switch(param) */
  358|       |
  359|     44|  return ErrorStatus;
  360|     44|}

_Z23CAacDecoder_AncDataInitP8CAncDataPhi:
  341|     22|                                          unsigned char *buffer, int size) {
  342|     22|  if (size >= 0) {
  ------------------
  |  Branch (342:7): [True: 22, False: 0]
  ------------------
  343|     22|    ancData->buffer = buffer;
  344|     22|    ancData->bufferSize = size;
  345|       |
  346|     22|    CAacDecoder_AncDataReset(ancData);
  347|       |
  348|     22|    return AAC_DEC_OK;
  349|     22|  }
  350|       |
  351|      0|  return AAC_DEC_ANC_DATA_ERROR;
  352|     22|}
_Z16CAacDecoder_Open14TRANSPORT_TYPE:
 1282|     22|{
 1283|     22|  HANDLE_AACDECODER self;
 1284|       |
 1285|     22|  self = GetAacDecoder();
 1286|     22|  if (self == NULL) {
  ------------------
  |  Branch (1286:7): [True: 0, False: 22]
  ------------------
 1287|      0|    goto bail;
 1288|      0|  }
 1289|       |
 1290|     22|  FDK_QmfDomain_ClearRequested(&self->qmfDomain.globalConf);
 1291|       |
 1292|       |  /* Assign channel mapping info arrays (doing so removes dependency of settings
 1293|       |   * header in API header). */
 1294|     22|  self->streamInfo.pChannelIndices = self->channelIndices;
 1295|     22|  self->streamInfo.pChannelType = self->channelType;
 1296|     22|  self->downscaleFactor = 1;
 1297|     22|  self->downscaleFactorInBS = 1;
 1298|       |
 1299|       |  /* initialize anc data */
 1300|     22|  CAacDecoder_AncDataInit(&self->ancData, NULL, 0);
 1301|       |
 1302|       |  /* initialize stream info */
 1303|     22|  CStreamInfoInit(&self->streamInfo);
 1304|       |
 1305|       |  /* initialize progam config */
 1306|     22|  CProgramConfig_Init(&self->pce);
 1307|       |
 1308|       |  /* initialize error concealment common data */
 1309|     22|  CConcealment_InitCommonData(&self->concealCommonData);
 1310|     22|  self->concealMethodUser = ConcealMethodNone; /* undefined -> auto mode */
 1311|       |
 1312|     22|  self->hDrcInfo = GetDrcInfo();
 1313|     22|  if (self->hDrcInfo == NULL) {
  ------------------
  |  Branch (1313:7): [True: 0, False: 22]
  ------------------
 1314|      0|    goto bail;
 1315|      0|  }
 1316|       |  /* Init common DRC structure */
 1317|     22|  aacDecoder_drcInit(self->hDrcInfo);
 1318|       |  /* Set default frame delay */
 1319|     22|  aacDecoder_drcSetParam(self->hDrcInfo, DRC_BS_DELAY,
 1320|     22|                         CConcealment_GetDelay(&self->concealCommonData));
 1321|     22|  self->workBufferCore1 = (FIXP_DBL *)GetWorkBufferCore1();
 1322|       |
 1323|     22|  self->workBufferCore2 = GetWorkBufferCore2();
 1324|     22|  if (self->workBufferCore2 == NULL) goto bail;
  ------------------
  |  Branch (1324:7): [True: 0, False: 22]
  ------------------
 1325|       |
 1326|       |  /* When RSVD60 is active use dedicated memory for core decoding */
 1327|     22|  self->pTimeData2 = GetWorkBufferCore5();
 1328|     22|  self->timeData2Size = GetRequiredMemWorkBufferCore5();
 1329|     22|  if (self->pTimeData2 == NULL) {
  ------------------
  |  Branch (1329:7): [True: 0, False: 22]
  ------------------
 1330|      0|    goto bail;
 1331|      0|  }
 1332|       |
 1333|     22|  return self;
 1334|       |
 1335|      0|bail:
 1336|      0|  CAacDecoder_Close(self);
 1337|       |
 1338|       |  return NULL;
 1339|     22|}
_Z17CAacDecoder_CloseP20AAC_DECODER_INSTANCE:
 1500|     22|LINKSPEC_CPP void CAacDecoder_Close(HANDLE_AACDECODER self) {
 1501|     22|  if (self == NULL) return;
  ------------------
  |  Branch (1501:7): [True: 0, False: 22]
  ------------------
 1502|       |
 1503|     22|  CAacDecoder_DeInit(self, 0);
 1504|       |
 1505|     22|  {
 1506|     22|    int ch;
 1507|    198|    for (ch = 0; ch < (8); ch++) {
  ------------------
  |  Branch (1507:18): [True: 176, False: 22]
  ------------------
 1508|    176|      if (self->pTimeDataFlush[ch] != NULL) {
  ------------------
  |  Branch (1508:11): [True: 0, False: 176]
  ------------------
 1509|      0|        FreeTimeDataFlush(&self->pTimeDataFlush[ch]);
 1510|      0|      }
 1511|    176|    }
 1512|     22|  }
 1513|       |
 1514|     22|  if (self->hDrcInfo) {
  ------------------
  |  Branch (1514:7): [True: 22, False: 0]
  ------------------
 1515|     22|    FreeDrcInfo(&self->hDrcInfo);
 1516|     22|  }
 1517|       |
 1518|     22|  if (self->workBufferCore1 != NULL) {
  ------------------
  |  Branch (1518:7): [True: 22, False: 0]
  ------------------
 1519|     22|    FreeWorkBufferCore1((CWorkBufferCore1 **)&self->workBufferCore1);
 1520|     22|  }
 1521|       |
 1522|       |  /* Free WorkBufferCore2 */
 1523|     22|  if (self->workBufferCore2 != NULL) {
  ------------------
  |  Branch (1523:7): [True: 22, False: 0]
  ------------------
 1524|     22|    FreeWorkBufferCore2(&self->workBufferCore2);
 1525|     22|  }
 1526|     22|  if (self->pTimeData2 != NULL) {
  ------------------
  |  Branch (1526:7): [True: 22, False: 0]
  ------------------
 1527|     22|    FreeWorkBufferCore5(&self->pTimeData2);
 1528|     22|  }
 1529|       |
 1530|     22|  FDK_QmfDomain_Close(&self->qmfDomain);
 1531|       |
 1532|     22|  FreeAacDecoder(&self);
 1533|     22|}
aacdecoder.cpp:_ZL24CAacDecoder_AncDataResetP8CAncData:
  321|     22|static AAC_DECODER_ERROR CAacDecoder_AncDataReset(CAncData *ancData) {
  322|     22|  int i;
  323|    198|  for (i = 0; i < 8; i++) {
  ------------------
  |  Branch (323:15): [True: 176, False: 22]
  ------------------
  324|    176|    ancData->offset[i] = 0;
  325|    176|  }
  326|     22|  ancData->nrElements = 0;
  327|       |
  328|     22|  return AAC_DEC_OK;
  329|     22|}
aacdecoder.cpp:_ZL15CStreamInfoInitP11CStreamInfo:
 1239|     22|static void CStreamInfoInit(CStreamInfo *pStreamInfo) {
 1240|     22|  pStreamInfo->aacSampleRate = 0;
 1241|     22|  pStreamInfo->profile = -1;
 1242|     22|  pStreamInfo->aot = AOT_NONE;
 1243|       |
 1244|     22|  pStreamInfo->channelConfig = -1;
 1245|     22|  pStreamInfo->bitRate = 0;
 1246|     22|  pStreamInfo->aacSamplesPerFrame = 0;
 1247|       |
 1248|     22|  pStreamInfo->extAot = AOT_NONE;
 1249|     22|  pStreamInfo->extSamplingRate = 0;
 1250|       |
 1251|     22|  pStreamInfo->flags = 0;
 1252|       |
 1253|     22|  pStreamInfo->epConfig = -1; /* default: no ER */
 1254|       |
 1255|     22|  pStreamInfo->numChannels = 0;
 1256|     22|  pStreamInfo->sampleRate = 0;
 1257|     22|  pStreamInfo->frameSize = 0;
 1258|       |
 1259|     22|  pStreamInfo->outputDelay = 0;
 1260|       |
 1261|       |  /* DRC */
 1262|     22|  pStreamInfo->drcProgRefLev =
 1263|     22|      -1; /* set program reference level to not indicated */
 1264|     22|  pStreamInfo->drcPresMode = -1; /* default: presentation mode not indicated */
 1265|       |
 1266|     22|  pStreamInfo->outputLoudness = -1; /* default: no loudness metadata present */
 1267|     22|}
aacdecoder.cpp:_ZL18CAacDecoder_DeInitP20AAC_DECODER_INSTANCEi:
 1343|     22|                               const int subStreamIndex) {
 1344|     22|  int ch;
 1345|     22|  int aacChannelOffset = 0, aacChannels = (8);
 1346|     22|  int numElements = (3 * ((8) * 2) + (((8) * 2)) / 2 + 4 * (1) + 1),
 1347|     22|      elementOffset = 0;
 1348|       |
 1349|     22|  if (self == NULL) return;
  ------------------
  |  Branch (1349:7): [True: 0, False: 22]
  ------------------
 1350|       |
 1351|     22|  {
 1352|     22|    self->ascChannels[0] = 0;
 1353|     22|    self->elements[0] = ID_END;
 1354|     22|  }
 1355|       |
 1356|    198|  for (ch = aacChannelOffset; ch < aacChannelOffset + aacChannels; ch++) {
  ------------------
  |  Branch (1356:31): [True: 176, False: 22]
  ------------------
 1357|    176|    if (self->pAacDecoderChannelInfo[ch] != NULL) {
  ------------------
  |  Branch (1357:9): [True: 0, False: 176]
  ------------------
 1358|      0|      if (self->pAacDecoderChannelInfo[ch]->pComStaticData != NULL) {
  ------------------
  |  Branch (1358:11): [True: 0, False: 0]
  ------------------
 1359|      0|        if (self->pAacDecoderChannelInfo[ch]
  ------------------
  |  Branch (1359:13): [True: 0, False: 0]
  ------------------
 1360|      0|                ->pComStaticData->pWorkBufferCore1 != NULL) {
 1361|      0|          if (ch == aacChannelOffset) {
  ------------------
  |  Branch (1361:15): [True: 0, False: 0]
  ------------------
 1362|      0|            FreeWorkBufferCore1(&self->pAacDecoderChannelInfo[ch]
 1363|      0|                                     ->pComStaticData->pWorkBufferCore1);
 1364|      0|          }
 1365|      0|        }
 1366|      0|        if (self->pAacDecoderChannelInfo[ch]
  ------------------
  |  Branch (1366:13): [True: 0, False: 0]
  ------------------
 1367|      0|                ->pComStaticData->cplxPredictionData != NULL) {
 1368|      0|          FreeCplxPredictionData(&self->pAacDecoderChannelInfo[ch]
 1369|      0|                                      ->pComStaticData->cplxPredictionData);
 1370|      0|        }
 1371|       |        /* Avoid double free of linked pComStaticData in case of CPE by settings
 1372|       |         * pointer to NULL. */
 1373|      0|        if (ch < (8) - 1) {
  ------------------
  |  Branch (1373:13): [True: 0, False: 0]
  ------------------
 1374|      0|          if ((self->pAacDecoderChannelInfo[ch + 1] != NULL) &&
  ------------------
  |  Branch (1374:15): [True: 0, False: 0]
  ------------------
 1375|      0|              (self->pAacDecoderChannelInfo[ch + 1]->pComStaticData ==
  ------------------
  |  Branch (1375:15): [True: 0, False: 0]
  ------------------
 1376|      0|               self->pAacDecoderChannelInfo[ch]->pComStaticData)) {
 1377|      0|            self->pAacDecoderChannelInfo[ch + 1]->pComStaticData = NULL;
 1378|      0|          }
 1379|      0|        }
 1380|      0|        FDKfree(self->pAacDecoderChannelInfo[ch]->pComStaticData);
 1381|      0|        self->pAacDecoderChannelInfo[ch]->pComStaticData = NULL;
 1382|      0|      }
 1383|      0|      if (self->pAacDecoderChannelInfo[ch]->pComData != NULL) {
  ------------------
  |  Branch (1383:11): [True: 0, False: 0]
  ------------------
 1384|       |        /* Avoid double free of linked pComData in case of CPE by settings
 1385|       |         * pointer to NULL. */
 1386|      0|        if (ch < (8) - 1) {
  ------------------
  |  Branch (1386:13): [True: 0, False: 0]
  ------------------
 1387|      0|          if ((self->pAacDecoderChannelInfo[ch + 1] != NULL) &&
  ------------------
  |  Branch (1387:15): [True: 0, False: 0]
  ------------------
 1388|      0|              (self->pAacDecoderChannelInfo[ch + 1]->pComData ==
  ------------------
  |  Branch (1388:15): [True: 0, False: 0]
  ------------------
 1389|      0|               self->pAacDecoderChannelInfo[ch]->pComData)) {
 1390|      0|            self->pAacDecoderChannelInfo[ch + 1]->pComData = NULL;
 1391|      0|          }
 1392|      0|        }
 1393|      0|        if (ch == aacChannelOffset) {
  ------------------
  |  Branch (1393:13): [True: 0, False: 0]
  ------------------
 1394|      0|          FreeWorkBufferCore6(
 1395|      0|              (SCHAR **)&self->pAacDecoderChannelInfo[ch]->pComData);
 1396|      0|        } else {
 1397|      0|          FDKafree(self->pAacDecoderChannelInfo[ch]->pComData);
 1398|      0|        }
 1399|      0|        self->pAacDecoderChannelInfo[ch]->pComData = NULL;
 1400|      0|      }
 1401|      0|    }
 1402|    176|    if (self->pAacDecoderStaticChannelInfo[ch] != NULL) {
  ------------------
  |  Branch (1402:9): [True: 0, False: 176]
  ------------------
 1403|      0|      if (self->pAacDecoderStaticChannelInfo[ch]->pOverlapBuffer != NULL) {
  ------------------
  |  Branch (1403:11): [True: 0, False: 0]
  ------------------
 1404|      0|        FreeOverlapBuffer(
 1405|      0|            &self->pAacDecoderStaticChannelInfo[ch]->pOverlapBuffer);
 1406|      0|      }
 1407|      0|      if (self->pAacDecoderStaticChannelInfo[ch]->hArCo != NULL) {
  ------------------
  |  Branch (1407:11): [True: 0, False: 0]
  ------------------
 1408|      0|        CArco_Destroy(self->pAacDecoderStaticChannelInfo[ch]->hArCo);
 1409|      0|      }
 1410|      0|      FreeAacDecoderStaticChannelInfo(&self->pAacDecoderStaticChannelInfo[ch]);
 1411|      0|    }
 1412|    176|    if (self->pAacDecoderChannelInfo[ch] != NULL) {
  ------------------
  |  Branch (1412:9): [True: 0, False: 176]
  ------------------
 1413|      0|      FreeAacDecoderChannelInfo(&self->pAacDecoderChannelInfo[ch]);
 1414|      0|    }
 1415|    176|  }
 1416|       |
 1417|     22|  {
 1418|     22|    int el;
 1419|  1.36k|    for (el = elementOffset; el < elementOffset + numElements; el++) {
  ------------------
  |  Branch (1419:30): [True: 1.34k, False: 22]
  ------------------
 1420|  1.34k|      if (self->cpeStaticData[el] != NULL) {
  ------------------
  |  Branch (1420:11): [True: 0, False: 1.34k]
  ------------------
 1421|      0|        FreeCpePersistentData(&self->cpeStaticData[el]);
 1422|      0|      }
 1423|  1.34k|    }
 1424|     22|  }
 1425|       |
 1426|     22|  FDK_Delay_Destroy(&self->usacResidualDelay);
 1427|       |
 1428|     22|  self->aacChannels = 0;
 1429|     22|  self->streamInfo.aacSampleRate = 0;
 1430|     22|  self->streamInfo.sampleRate = 0;
 1431|       |  /* This samplerate value is checked for configuration change, not the others
 1432|       |   * above. */
 1433|     22|  self->samplingRateInfo[subStreamIndex].samplingRate = 0;
 1434|     22|}

aacDecoder_Open:
  957|     55|                                               UINT nrOfLayers) {
  958|     55|  AAC_DECODER_INSTANCE *aacDec = NULL;
  959|     55|  HANDLE_TRANSPORTDEC pIn;
  960|     55|  int err = 0;
  961|     55|  int stereoConfigIndex = -1;
  962|       |
  963|     55|  UINT nrOfLayers_min = fMin(nrOfLayers, (UINT)1);
  964|       |
  965|       |  /* Allocate transport layer struct. */
  966|     55|  pIn = transportDec_Open(transportFmt, TP_FLAG_MPEG4, nrOfLayers_min);
  ------------------
  |  |  322|     55|#define TP_FLAG_MPEG4 1
  ------------------
  967|     55|  if (pIn == NULL) {
  ------------------
  |  Branch (967:7): [True: 33, False: 22]
  ------------------
  968|     33|    return NULL;
  969|     33|  }
  970|       |
  971|       |  /* Allocate AAC decoder core struct. */
  972|     22|  aacDec = CAacDecoder_Open(transportFmt);
  973|       |
  974|     22|  if (aacDec == NULL) {
  ------------------
  |  Branch (974:7): [True: 0, False: 22]
  ------------------
  975|      0|    transportDec_Close(&pIn);
  976|      0|    goto bail;
  977|      0|  }
  978|     22|  aacDec->hInput = pIn;
  979|       |
  980|     22|  aacDec->nrOfLayers = nrOfLayers_min;
  981|       |
  982|       |  /* Setup channel mapping descriptor. */
  983|     22|  FDK_chMapDescr_init(&aacDec->mapDescr, NULL, 0, 0);
  984|       |
  985|       |  /* Register Config Update callback. */
  986|     22|  transportDec_RegisterAscCallback(pIn, aacDecoder_ConfigCallback,
  987|     22|                                   (void *)aacDec);
  988|       |
  989|       |  /* Register Free Memory callback. */
  990|     22|  transportDec_RegisterFreeMemCallback(pIn, aacDecoder_FreeMemCallback,
  991|     22|                                       (void *)aacDec);
  992|       |
  993|       |  /* Register config switch control callback. */
  994|     22|  transportDec_RegisterCtrlCFGChangeCallback(
  995|     22|      pIn, aacDecoder_CtrlCFGChangeCallback, (void *)aacDec);
  996|       |
  997|     22|  FDKmemclear(&aacDec->qmfDomain, sizeof(FDK_QMF_DOMAIN));
  998|       |  /* open SBR decoder */
  999|     22|  if (SBRDEC_OK != sbrDecoder_Open(&aacDec->hSbrDecoder, &aacDec->qmfDomain)) {
  ------------------
  |  Branch (999:7): [True: 0, False: 22]
  ------------------
 1000|      0|    err = -1;
 1001|      0|    goto bail;
 1002|      0|  }
 1003|     22|  aacDec->qmfModeUser = NOT_DEFINED;
 1004|     22|  transportDec_RegisterSbrCallback(aacDec->hInput, aacDecoder_SbrCallback,
 1005|     22|                                   (void *)aacDec->hSbrDecoder);
 1006|       |
 1007|     22|  if (mpegSurroundDecoder_Open(
  ------------------
  |  Branch (1007:7): [True: 0, False: 22]
  ------------------
 1008|     22|          (CMpegSurroundDecoder **)&aacDec->pMpegSurroundDecoder,
 1009|     22|          stereoConfigIndex, &aacDec->qmfDomain)) {
 1010|      0|    err = -1;
 1011|      0|    goto bail;
 1012|      0|  }
 1013|       |  /* Set MPEG Surround defaults */
 1014|     22|  aacDec->mpsEnableUser = 0;
 1015|     22|  aacDec->mpsEnableCurr = 0;
 1016|     22|  aacDec->mpsApplicable = 0;
 1017|     22|  aacDec->mpsOutputMode = (SCHAR)SACDEC_OUT_MODE_NORMAL;
 1018|     22|  transportDec_RegisterSscCallback(pIn, aacDecoder_SscCallback, (void *)aacDec);
 1019|       |
 1020|     22|  {
 1021|     22|    if (FDK_drcDec_Open(&(aacDec->hUniDrcDecoder), DRC_DEC_ALL) != 0) {
  ------------------
  |  Branch (1021:9): [True: 0, False: 22]
  ------------------
 1022|      0|      err = -1;
 1023|      0|      goto bail;
 1024|      0|    }
 1025|     22|  }
 1026|       |
 1027|     22|  transportDec_RegisterUniDrcConfigCallback(pIn, aacDecoder_UniDrcCallback,
 1028|     22|                                            (void *)aacDec,
 1029|     22|                                            aacDec->loudnessInfoSetPosition);
 1030|     22|  aacDec->defaultTargetLoudness = (SCHAR)96;
 1031|       |
 1032|     22|  pcmDmx_Open(&aacDec->hPcmUtils);
 1033|     22|  if (aacDec->hPcmUtils == NULL) {
  ------------------
  |  Branch (1033:7): [True: 0, False: 22]
  ------------------
 1034|      0|    err = -1;
 1035|      0|    goto bail;
 1036|      0|  }
 1037|       |
 1038|     22|  aacDec->hLimiter =
 1039|     22|      pcmLimiter_Create(TDL_ATTACK_DEFAULT_MS, TDL_RELEASE_DEFAULT_MS,
  ------------------
  |  |  109|     22|#define TDL_ATTACK_DEFAULT_MS (15)  /* default attack  time in ms */
  ------------------
                    pcmLimiter_Create(TDL_ATTACK_DEFAULT_MS, TDL_RELEASE_DEFAULT_MS,
  ------------------
  |  |  110|     22|#define TDL_RELEASE_DEFAULT_MS (50) /* default release time in ms */
  ------------------
 1040|     22|                        (FIXP_DBL)MAXVAL_DBL, (8), 96000);
  ------------------
  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  ------------------
 1041|     22|  if (NULL == aacDec->hLimiter) {
  ------------------
  |  Branch (1041:7): [True: 0, False: 22]
  ------------------
 1042|      0|    err = -1;
 1043|      0|    goto bail;
 1044|      0|  }
 1045|     22|  aacDec->limiterEnableUser = (UCHAR)-1;
 1046|     22|  aacDec->limiterEnableCurr = 0;
 1047|       |
 1048|       |  /* Assure that all modules have same delay */
 1049|     22|  if (setConcealMethod(aacDec,
  ------------------
  |  Branch (1049:7): [True: 0, False: 22]
  ------------------
 1050|     22|                       CConcealment_GetMethod(&aacDec->concealCommonData))) {
 1051|      0|    err = -1;
 1052|      0|    goto bail;
 1053|      0|  }
 1054|       |
 1055|     22|bail:
 1056|     22|  if (err == -1) {
  ------------------
  |  Branch (1056:7): [True: 0, False: 22]
  ------------------
 1057|      0|    aacDecoder_Close(aacDec);
 1058|       |    aacDec = NULL;
 1059|      0|  }
 1060|     22|  return aacDec;
 1061|     22|}
aacDecoder_Close:
 2044|     22|LINKSPEC_CPP void aacDecoder_Close(HANDLE_AACDECODER self) {
 2045|     22|  if (self == NULL) return;
  ------------------
  |  Branch (2045:7): [True: 0, False: 22]
  ------------------
 2046|       |
 2047|     22|  if (self->hLimiter != NULL) {
  ------------------
  |  Branch (2047:7): [True: 22, False: 0]
  ------------------
 2048|     22|    pcmLimiter_Destroy(self->hLimiter);
 2049|     22|  }
 2050|       |
 2051|     22|  if (self->hPcmUtils != NULL) {
  ------------------
  |  Branch (2051:7): [True: 22, False: 0]
  ------------------
 2052|     22|    pcmDmx_Close(&self->hPcmUtils);
 2053|     22|  }
 2054|       |
 2055|     22|  FDK_drcDec_Close(&self->hUniDrcDecoder);
 2056|       |
 2057|     22|  if (self->pMpegSurroundDecoder != NULL) {
  ------------------
  |  Branch (2057:7): [True: 22, False: 0]
  ------------------
 2058|     22|    mpegSurroundDecoder_Close(
 2059|     22|        (CMpegSurroundDecoder *)self->pMpegSurroundDecoder);
 2060|     22|  }
 2061|       |
 2062|     22|  if (self->hSbrDecoder != NULL) {
  ------------------
  |  Branch (2062:7): [True: 22, False: 0]
  ------------------
 2063|     22|    sbrDecoder_Close(&self->hSbrDecoder);
 2064|     22|  }
 2065|       |
 2066|     22|  if (self->hInput != NULL) {
  ------------------
  |  Branch (2066:7): [True: 22, False: 0]
  ------------------
 2067|     22|    transportDec_Close(&self->hInput);
 2068|     22|  }
 2069|       |
 2070|     22|  CAacDecoder_Close(self);
 2071|     22|}
aacdecoder_lib.cpp:_ZL16setConcealMethodP20AAC_DECODER_INSTANCEi:
  565|     22|    const INT method) {
  566|     22|  AAC_DECODER_ERROR errorStatus = AAC_DEC_OK;
  567|     22|  CConcealParams *pConcealData = NULL;
  568|     22|  int method_revert = 0;
  569|     22|  HANDLE_SBRDECODER hSbrDec = NULL;
  570|     22|  HANDLE_AAC_DRC hDrcInfo = NULL;
  571|     22|  HANDLE_PCM_DOWNMIX hPcmDmx = NULL;
  572|     22|  CConcealmentMethod backupMethod = ConcealMethodNone;
  573|     22|  int backupDelay = 0;
  574|     22|  int bsDelay = 0;
  575|       |
  576|       |  /* check decoder handle */
  577|     22|  if (self != NULL) {
  ------------------
  |  Branch (577:7): [True: 22, False: 0]
  ------------------
  578|     22|    pConcealData = &self->concealCommonData;
  579|     22|    hSbrDec = self->hSbrDecoder;
  580|     22|    hDrcInfo = self->hDrcInfo;
  581|     22|    hPcmDmx = self->hPcmUtils;
  582|     22|    if (self->flags[0] & (AC_USAC | AC_RSVD50 | AC_RSV603DA) && method >= 2) {
  ------------------
  |  |  307|     22|#define AC_USAC 0x000100        /*!< USAC */
  ------------------
                  if (self->flags[0] & (AC_USAC | AC_RSVD50 | AC_RSV603DA) && method >= 2) {
  ------------------
  |  |  310|     22|#define AC_RSVD50 0x004000      /*!< Rsvd50 */
  ------------------
                  if (self->flags[0] & (AC_USAC | AC_RSVD50 | AC_RSV603DA) && method >= 2) {
  ------------------
  |  |  308|     22|#define AC_RSV603DA 0x000200    /*!< RSVD60 3D audio */
  ------------------
  |  Branch (582:9): [True: 0, False: 22]
  |  Branch (582:65): [True: 0, False: 0]
  ------------------
  583|       |      /* Interpolation concealment is not implemented for USAC/RSVD50 */
  584|       |      /* errorStatus = AAC_DEC_SET_PARAM_FAIL;
  585|       |         goto bail; */
  586|      0|      method_revert = 1;
  587|      0|    }
  588|     22|    if (self->flags[0] & (AC_USAC | AC_RSVD50 | AC_RSV603DA) && method >= 2) {
  ------------------
  |  |  307|     22|#define AC_USAC 0x000100        /*!< USAC */
  ------------------
                  if (self->flags[0] & (AC_USAC | AC_RSVD50 | AC_RSV603DA) && method >= 2) {
  ------------------
  |  |  310|     22|#define AC_RSVD50 0x004000      /*!< Rsvd50 */
  ------------------
                  if (self->flags[0] & (AC_USAC | AC_RSVD50 | AC_RSV603DA) && method >= 2) {
  ------------------
  |  |  308|     22|#define AC_RSV603DA 0x000200    /*!< RSVD60 3D audio */
  ------------------
  |  Branch (588:9): [True: 0, False: 22]
  |  Branch (588:65): [True: 0, False: 0]
  ------------------
  589|       |      /* Interpolation concealment is not implemented for USAC/RSVD50 */
  590|      0|      errorStatus = AAC_DEC_SET_PARAM_FAIL;
  591|      0|      goto bail;
  592|      0|    }
  593|     22|  }
  594|       |
  595|       |  /* Get current method/delay */
  596|     22|  backupMethod = CConcealment_GetMethod(pConcealData);
  597|     22|  backupDelay = CConcealment_GetDelay(pConcealData);
  598|       |
  599|       |  /* Be sure to set AAC and SBR concealment method simultaneously! */
  600|     22|  errorStatus = CConcealment_SetParams(
  601|     22|      pConcealData,
  602|     22|      (method_revert == 0) ? (int)method : (int)1,  // concealMethod
  ------------------
  |  Branch (602:7): [True: 22, False: 0]
  ------------------
  603|     22|      AACDEC_CONCEAL_PARAM_NOT_SPECIFIED,           // concealFadeOutSlope
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  604|     22|      AACDEC_CONCEAL_PARAM_NOT_SPECIFIED,           // concealFadeInSlope
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  605|     22|      AACDEC_CONCEAL_PARAM_NOT_SPECIFIED,           // concealMuteRelease
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  606|     22|      AACDEC_CONCEAL_PARAM_NOT_SPECIFIED            // concealComfNoiseLevel
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  607|     22|  );
  608|     22|  if ((errorStatus != AAC_DEC_OK) && (errorStatus != AAC_DEC_INVALID_HANDLE)) {
  ------------------
  |  Branch (608:7): [True: 0, False: 22]
  |  Branch (608:38): [True: 0, False: 0]
  ------------------
  609|      0|    goto bail;
  610|      0|  }
  611|       |
  612|       |  /* Get new delay */
  613|     22|  bsDelay = CConcealment_GetDelay(pConcealData);
  614|       |
  615|     22|  {
  616|     22|    SBR_ERROR sbrErr = SBRDEC_OK;
  617|       |
  618|       |    /* set SBR bitstream delay */
  619|     22|    sbrErr = sbrDecoder_SetParam(hSbrDec, SBR_SYSTEM_BITSTREAM_DELAY, bsDelay);
  620|       |
  621|     22|    switch (sbrErr) {
  622|     22|      case SBRDEC_OK:
  ------------------
  |  Branch (622:7): [True: 22, False: 0]
  ------------------
  623|     22|      case SBRDEC_NOT_INITIALIZED:
  ------------------
  |  Branch (623:7): [True: 0, False: 22]
  ------------------
  624|     22|        if (self != NULL) {
  ------------------
  |  Branch (624:13): [True: 22, False: 0]
  ------------------
  625|       |          /* save the param value and set later
  626|       |             (when SBR has been initialized) */
  627|     22|          self->sbrParams.bsDelay = bsDelay;
  628|     22|        }
  629|     22|        break;
  630|      0|      default:
  ------------------
  |  Branch (630:7): [True: 0, False: 22]
  ------------------
  631|      0|        errorStatus = AAC_DEC_SET_PARAM_FAIL;
  632|      0|        goto bail;
  633|     22|    }
  634|     22|  }
  635|       |
  636|     22|  errorStatus = aacDecoder_drcSetParam(hDrcInfo, DRC_BS_DELAY, bsDelay);
  637|     22|  if ((errorStatus != AAC_DEC_OK) && (errorStatus != AAC_DEC_INVALID_HANDLE)) {
  ------------------
  |  Branch (637:7): [True: 0, False: 22]
  |  Branch (637:38): [True: 0, False: 0]
  ------------------
  638|      0|    goto bail;
  639|      0|  }
  640|       |
  641|     22|  if (errorStatus == AAC_DEC_OK) {
  ------------------
  |  Branch (641:7): [True: 22, False: 0]
  ------------------
  642|     22|    PCMDMX_ERROR err = pcmDmx_SetParam(hPcmDmx, DMX_BS_DATA_DELAY, bsDelay);
  643|     22|    switch (err) {
  644|      0|      case PCMDMX_INVALID_HANDLE:
  ------------------
  |  Branch (644:7): [True: 0, False: 22]
  ------------------
  645|      0|        errorStatus = AAC_DEC_INVALID_HANDLE;
  646|      0|        break;
  647|     22|      case PCMDMX_OK:
  ------------------
  |  Branch (647:7): [True: 22, False: 0]
  ------------------
  648|     22|        break;
  649|      0|      default:
  ------------------
  |  Branch (649:7): [True: 0, False: 22]
  ------------------
  650|      0|        errorStatus = AAC_DEC_SET_PARAM_FAIL;
  651|      0|        goto bail;
  652|     22|    }
  653|     22|  }
  654|       |
  655|     22|bail:
  656|     22|  if ((errorStatus != AAC_DEC_OK) && (errorStatus != AAC_DEC_INVALID_HANDLE)) {
  ------------------
  |  Branch (656:7): [True: 0, False: 22]
  |  Branch (656:38): [True: 0, False: 0]
  ------------------
  657|       |    /* Revert to the initial state */
  658|      0|    CConcealment_SetParams(
  659|      0|        pConcealData, (int)backupMethod, AACDEC_CONCEAL_PARAM_NOT_SPECIFIED,
  ------------------
  |  |  108|      0|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  660|      0|        AACDEC_CONCEAL_PARAM_NOT_SPECIFIED, AACDEC_CONCEAL_PARAM_NOT_SPECIFIED,
  ------------------
  |  |  108|      0|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
                      AACDEC_CONCEAL_PARAM_NOT_SPECIFIED, AACDEC_CONCEAL_PARAM_NOT_SPECIFIED,
  ------------------
  |  |  108|      0|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  661|      0|        AACDEC_CONCEAL_PARAM_NOT_SPECIFIED);
  ------------------
  |  |  108|      0|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  662|       |    /* Revert SBR bitstream delay */
  663|      0|    sbrDecoder_SetParam(hSbrDec, SBR_SYSTEM_BITSTREAM_DELAY, backupDelay);
  664|       |    /* Revert DRC bitstream delay */
  665|      0|    aacDecoder_drcSetParam(hDrcInfo, DRC_BS_DELAY, backupDelay);
  666|       |    /* Revert PCM mixdown bitstream delay */
  667|      0|    pcmDmx_SetParam(hPcmDmx, DMX_BS_DATA_DELAY, backupDelay);
  668|      0|  }
  669|       |
  670|     22|  return errorStatus;
  671|     22|}

_Z27CConcealment_InitCommonDataP14CConcealParams:
  265|     22|void CConcealment_InitCommonData(CConcealParams *pConcealCommonData) {
  266|     22|  if (pConcealCommonData != NULL) {
  ------------------
  |  Branch (266:7): [True: 22, False: 0]
  ------------------
  267|     22|    int i;
  268|       |
  269|       |    /* Set default error concealment technique */
  270|     22|    pConcealCommonData->method = ConcealMethodInter;
  271|       |
  272|     22|    pConcealCommonData->numFadeOutFrames = CONCEAL_DFLT_FADEOUT_FRAMES;
  ------------------
  |  |  161|     22|#define CONCEAL_DFLT_FADEOUT_FRAMES (6)
  ------------------
  273|     22|    pConcealCommonData->numFadeInFrames = CONCEAL_DFLT_FADEIN_FRAMES;
  ------------------
  |  |  162|     22|#define CONCEAL_DFLT_FADEIN_FRAMES (5)
  ------------------
  274|     22|    pConcealCommonData->numMuteReleaseFrames = CONCEAL_DFLT_MUTE_RELEASE_FRAMES;
  ------------------
  |  |  163|     22|#define CONCEAL_DFLT_MUTE_RELEASE_FRAMES (0)
  ------------------
  275|       |
  276|     22|    pConcealCommonData->comfortNoiseLevel =
  277|     22|        (FIXP_DBL)CONCEAL_DFLT_COMF_NOISE_LEVEL;
  ------------------
  |  |  156|     22|#define CONCEAL_DFLT_COMF_NOISE_LEVEL (0x100000)
  ------------------
  278|       |
  279|       |    /* Init fade factors (symetric) */
  280|     22|    pConcealCommonData->fadeOutFactor[0] =
  281|     22|        FL2FXCONST_SGL(CONCEAL_DFLT_FADE_FACTOR);
  ------------------
  |  |  180|     22|  (FIXP_SGL)(                                                                \
  |  |  181|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (181:7): [True: 22, Folded]
  |  |  ------------------
  |  |  182|     22|          ? ((((double)(val) * (FRACT_FIX_SCALE) + 0.5) >=                   \
  |  |  ------------------
  |  |  |  |  146|     22|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     22|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (182:14): [Folded, False: 22]
  |  |  ------------------
  |  |  183|     22|              (double)(MAXVAL_SGL))                                          \
  |  |  ------------------
  |  |  |  |  152|     22|  ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
  |  |  ------------------
  |  |  184|     22|                 ? (SHORT)(MAXVAL_SGL)                                       \
  |  |  ------------------
  |  |  |  |  152|      0|  ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
  |  |  ------------------
  |  |  185|     22|                 : (SHORT)((double)(val) * (double)(FRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  146|     22|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     22|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  186|     22|          : ((((double)(val) * (FRACT_FIX_SCALE)-0.5) <=                     \
  |  |  ------------------
  |  |  |  |  146|      0|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (186:14): [Folded, False: 0]
  |  |  ------------------
  |  |  187|      0|              (double)(MINVAL_SGL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  177|      0|#define MINVAL_SGL_CONST MINVAL_SGL
  |  |  |  |  ------------------
  |  |  |  |  |  |  154|      0|  ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  188|      0|                 ? (SHORT)(MINVAL_SGL_CONST)                                 \
  |  |  ------------------
  |  |  |  |  177|      0|#define MINVAL_SGL_CONST MINVAL_SGL
  |  |  |  |  ------------------
  |  |  |  |  |  |  154|      0|  ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  189|      0|                 : (SHORT)((double)(val) * (double)(FRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  146|      0|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|     22|    pConcealCommonData->fadeInFactor[0] = pConcealCommonData->fadeOutFactor[0];
  283|       |
  284|    704|    for (i = 1; i < CONCEAL_MAX_NUM_FADE_FACTORS; i++) {
  ------------------
  |  |  113|    704|#define CONCEAL_MAX_NUM_FADE_FACTORS (32)
  ------------------
  |  Branch (284:17): [True: 682, False: 22]
  ------------------
  285|    682|      pConcealCommonData->fadeOutFactor[i] =
  286|    682|          FX_DBL2FX_SGL(fMult(pConcealCommonData->fadeOutFactor[i - 1],
  ------------------
  |  |  220|  2.72k|#define FX_DBL2FX_SGL(val) ((FIXP_SGL)((val) >> (DFRACT_BITS - FRACT_BITS)))
  |  |  ------------------
  |  |  |  |  113|    682|#define DFRACT_BITS 32 /* double precision */
  |  |  ------------------
  |  |               #define FX_DBL2FX_SGL(val) ((FIXP_SGL)((val) >> (DFRACT_BITS - FRACT_BITS)))
  |  |  ------------------
  |  |  |  |  112|    682|#define FRACT_BITS 16  /* single precision */
  |  |  ------------------
  |  |  |  Branch (220:41): [Folded, False: 682]
  |  |  |  Branch (220:41): [Folded, False: 0]
  |  |  |  Branch (220:41): [True: 682, Folded]
  |  |  ------------------
  ------------------
  287|    682|                              FL2FXCONST_SGL(CONCEAL_DFLT_FADE_FACTOR)));
  288|    682|      pConcealCommonData->fadeInFactor[i] =
  289|    682|          pConcealCommonData->fadeOutFactor[i];
  290|    682|    }
  291|     22|  }
  292|     22|}
_Z22CConcealment_GetMethodP14CConcealParams:
  300|     44|CConcealmentMethod CConcealment_GetMethod(CConcealParams *pConcealCommonData) {
  301|     44|  CConcealmentMethod method = ConcealMethodNone;
  302|       |
  303|     44|  if (pConcealCommonData != NULL) {
  ------------------
  |  Branch (303:7): [True: 44, False: 0]
  ------------------
  304|     44|    method = pConcealCommonData->method;
  305|     44|  }
  306|       |
  307|     44|  return (method);
  308|     44|}
_Z22CConcealment_SetParamsP14CConcealParamsiiiii:
  375|     22|                       FIXP_DBL comfNoiseLevel) {
  376|       |  /* set concealment technique */
  377|     22|  if (method != AACDEC_CONCEAL_PARAM_NOT_SPECIFIED) {
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  |  Branch (377:7): [True: 22, False: 0]
  ------------------
  378|     22|    switch ((CConcealmentMethod)method) {
  379|      0|      case ConcealMethodMute:
  ------------------
  |  Branch (379:7): [True: 0, False: 22]
  ------------------
  380|      0|      case ConcealMethodNoise:
  ------------------
  |  Branch (380:7): [True: 0, False: 22]
  ------------------
  381|     22|      case ConcealMethodInter:
  ------------------
  |  Branch (381:7): [True: 22, False: 0]
  ------------------
  382|       |        /* Be sure to enable delay adjustment of SBR decoder! */
  383|     22|        if (concealParams == NULL) {
  ------------------
  |  Branch (383:13): [True: 0, False: 22]
  ------------------
  384|      0|          return AAC_DEC_INVALID_HANDLE;
  385|     22|        } else {
  386|       |          /* set param */
  387|     22|          concealParams->method = (CConcealmentMethod)method;
  388|     22|        }
  389|     22|        break;
  390|       |
  391|     22|      default:
  ------------------
  |  Branch (391:7): [True: 0, False: 22]
  ------------------
  392|      0|        return AAC_DEC_SET_PARAM_FAIL;
  393|     22|    }
  394|     22|  }
  395|       |
  396|       |  /* set number of frames for fade-out slope */
  397|     22|  if (fadeOutSlope != AACDEC_CONCEAL_PARAM_NOT_SPECIFIED) {
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  |  Branch (397:7): [True: 0, False: 22]
  ------------------
  398|      0|    if ((fadeOutSlope < CONCEAL_MAX_NUM_FADE_FACTORS) && (fadeOutSlope >= 0)) {
  ------------------
  |  |  113|      0|#define CONCEAL_MAX_NUM_FADE_FACTORS (32)
  ------------------
  |  Branch (398:9): [True: 0, False: 0]
  |  Branch (398:58): [True: 0, False: 0]
  ------------------
  399|      0|      if (concealParams == NULL) {
  ------------------
  |  Branch (399:11): [True: 0, False: 0]
  ------------------
  400|      0|        return AAC_DEC_INVALID_HANDLE;
  401|      0|      } else {
  402|       |        /* set param */
  403|      0|        concealParams->numFadeOutFrames = fadeOutSlope;
  404|      0|      }
  405|      0|    } else {
  406|      0|      return AAC_DEC_SET_PARAM_FAIL;
  407|      0|    }
  408|      0|  }
  409|       |
  410|       |  /* set number of frames for fade-in slope */
  411|     22|  if (fadeInSlope != AACDEC_CONCEAL_PARAM_NOT_SPECIFIED) {
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  |  Branch (411:7): [True: 0, False: 22]
  ------------------
  412|      0|    if ((fadeInSlope < CONCEAL_MAX_NUM_FADE_FACTORS) && (fadeInSlope >= 0)) {
  ------------------
  |  |  113|      0|#define CONCEAL_MAX_NUM_FADE_FACTORS (32)
  ------------------
  |  Branch (412:9): [True: 0, False: 0]
  |  Branch (412:57): [True: 0, False: 0]
  ------------------
  413|      0|      if (concealParams == NULL) {
  ------------------
  |  Branch (413:11): [True: 0, False: 0]
  ------------------
  414|      0|        return AAC_DEC_INVALID_HANDLE;
  415|      0|      } else {
  416|       |        /* set param */
  417|      0|        concealParams->numFadeInFrames = fadeInSlope;
  418|      0|      }
  419|      0|    } else {
  420|      0|      return AAC_DEC_SET_PARAM_FAIL;
  421|      0|    }
  422|      0|  }
  423|       |
  424|       |  /* set number of error-free frames after which the muting will be released */
  425|     22|  if (muteRelease != AACDEC_CONCEAL_PARAM_NOT_SPECIFIED) {
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  |  Branch (425:7): [True: 0, False: 22]
  ------------------
  426|      0|    if ((muteRelease < (CONCEAL_MAX_NUM_FADE_FACTORS << 1)) &&
  ------------------
  |  |  113|      0|#define CONCEAL_MAX_NUM_FADE_FACTORS (32)
  ------------------
  |  Branch (426:9): [True: 0, False: 0]
  ------------------
  427|      0|        (muteRelease >= 0)) {
  ------------------
  |  Branch (427:9): [True: 0, False: 0]
  ------------------
  428|      0|      if (concealParams == NULL) {
  ------------------
  |  Branch (428:11): [True: 0, False: 0]
  ------------------
  429|      0|        return AAC_DEC_INVALID_HANDLE;
  430|      0|      } else {
  431|       |        /* set param */
  432|      0|        concealParams->numMuteReleaseFrames = muteRelease;
  433|      0|      }
  434|      0|    } else {
  435|      0|      return AAC_DEC_SET_PARAM_FAIL;
  436|      0|    }
  437|      0|  }
  438|       |
  439|       |  /* set confort noise level which will be inserted while in state 'muting' */
  440|     22|  if (comfNoiseLevel != (FIXP_DBL)AACDEC_CONCEAL_PARAM_NOT_SPECIFIED) {
  ------------------
  |  |  108|     22|#define AACDEC_CONCEAL_PARAM_NOT_SPECIFIED (0xFFFE)
  ------------------
  |  Branch (440:7): [True: 0, False: 22]
  ------------------
  441|      0|    if ((comfNoiseLevel < (FIXP_DBL)0) ||
  ------------------
  |  Branch (441:9): [True: 0, False: 0]
  ------------------
  442|      0|        (comfNoiseLevel > (FIXP_DBL)MAXVAL_DBL)) {
  ------------------
  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  ------------------
  |  Branch (442:9): [True: 0, False: 0]
  ------------------
  443|      0|      return AAC_DEC_SET_PARAM_FAIL;
  444|      0|    }
  445|      0|    if (concealParams == NULL) {
  ------------------
  |  Branch (445:9): [True: 0, False: 0]
  ------------------
  446|      0|      return AAC_DEC_INVALID_HANDLE;
  447|      0|    } else {
  448|      0|      concealParams->comfortNoiseLevel = (FIXP_DBL)comfNoiseLevel;
  449|      0|    }
  450|      0|  }
  451|       |
  452|     22|  return (AAC_DEC_OK);
  453|     22|}
_Z21CConcealment_GetDelayP14CConcealParams:
 1651|     66|UINT CConcealment_GetDelay(CConcealParams *pConcealCommonData) {
 1652|     66|  UINT frameDelay = 0;
 1653|       |
 1654|     66|  if (pConcealCommonData != NULL) {
  ------------------
  |  Branch (1654:7): [True: 66, False: 0]
  ------------------
 1655|     66|    switch (pConcealCommonData->method) {
 1656|      0|      case ConcealMethodTonal:
  ------------------
  |  Branch (1656:7): [True: 0, False: 66]
  ------------------
 1657|     66|      case ConcealMethodInter:
  ------------------
  |  Branch (1657:7): [True: 66, False: 0]
  ------------------
 1658|     66|        frameDelay = 1;
 1659|     66|        break;
 1660|      0|      default:
  ------------------
  |  Branch (1660:7): [True: 0, False: 66]
  ------------------
 1661|      0|        break;
 1662|     66|    }
 1663|     66|  }
 1664|       |
 1665|     66|  return frameDelay;
 1666|     66|}

FDK_drcDec_Open:
  216|     22|                const DRC_DEC_FUNCTIONAL_RANGE functionalRange) {
  217|     22|  DRC_ERROR dErr = DE_OK;
  218|     22|  DRCDEC_SELECTION_PROCESS_RETURN sErr = DRCDEC_SELECTION_PROCESS_NO_ERROR;
  219|     22|  HANDLE_DRC_DECODER hDrcDec;
  220|       |
  221|     22|  *phDrcDec = (HANDLE_DRC_DECODER)FDKcalloc(1, sizeof(DRC_DECODER));
  222|     22|  if (!*phDrcDec) return DRC_DEC_OUT_OF_MEMORY;
  ------------------
  |  Branch (222:7): [True: 0, False: 22]
  ------------------
  223|     22|  hDrcDec = *phDrcDec;
  224|       |
  225|     22|  hDrcDec->functionalRange = functionalRange;
  226|       |
  227|     22|  hDrcDec->status = DRC_DEC_NOT_INITIALIZED;
  228|     22|  hDrcDec->codecMode = DRC_DEC_CODEC_MODE_UNDEFINED;
  229|       |
  230|     22|  if (hDrcDec->functionalRange & DRC_DEC_SELECTION) {
  ------------------
  |  Branch (230:7): [True: 22, False: 0]
  ------------------
  231|     22|    sErr = drcDec_SelectionProcess_Create(&(hDrcDec->hSelectionProc));
  232|     22|    if (sErr) return DRC_DEC_OUT_OF_MEMORY;
  ------------------
  |  Branch (232:9): [True: 0, False: 22]
  ------------------
  233|     22|    sErr = drcDec_SelectionProcess_Init(hDrcDec->hSelectionProc);
  234|     22|    if (sErr) return DRC_DEC_NOT_OK;
  ------------------
  |  Branch (234:9): [True: 0, False: 22]
  ------------------
  235|     22|    hDrcDec->selProcInputDiff = 1;
  236|     22|  }
  237|       |
  238|     22|  if (hDrcDec->functionalRange & DRC_DEC_GAIN) {
  ------------------
  |  Branch (238:7): [True: 22, False: 0]
  ------------------
  239|     22|    dErr = drcDec_GainDecoder_Open(&(hDrcDec->hGainDec));
  240|     22|    if (dErr) return DRC_DEC_OUT_OF_MEMORY;
  ------------------
  |  Branch (240:9): [True: 0, False: 22]
  ------------------
  241|     22|  }
  242|       |
  243|     22|  return DRC_DEC_OK;
  244|     22|}
FDK_drcDec_Close:
  361|     22|FDK_drcDec_Close(HANDLE_DRC_DECODER* phDrcDec) {
  362|     22|  HANDLE_DRC_DECODER hDrcDec;
  363|       |
  364|     22|  if (phDrcDec == NULL) {
  ------------------
  |  Branch (364:7): [True: 0, False: 22]
  ------------------
  365|      0|    return DRC_DEC_OK;
  366|      0|  }
  367|       |
  368|     22|  hDrcDec = *phDrcDec;
  369|       |
  370|     22|  if (hDrcDec == NULL) return DRC_DEC_NOT_OPENED;
  ------------------
  |  Branch (370:7): [True: 0, False: 22]
  ------------------
  371|       |
  372|     22|  if (hDrcDec->functionalRange & DRC_DEC_GAIN) {
  ------------------
  |  Branch (372:7): [True: 22, False: 0]
  ------------------
  373|     22|    drcDec_GainDecoder_Close(&(hDrcDec->hGainDec));
  374|     22|  }
  375|       |
  376|     22|  if (hDrcDec->functionalRange & DRC_DEC_SELECTION) {
  ------------------
  |  Branch (376:7): [True: 22, False: 0]
  ------------------
  377|     22|    drcDec_SelectionProcess_Delete(&(hDrcDec->hSelectionProc));
  378|     22|  }
  379|       |
  380|     22|  FDKfree(*phDrcDec);
  381|     22|  *phDrcDec = NULL;
  382|       |
  383|     22|  return DRC_DEC_OK;
  384|     22|}

_Z23drcDec_GainDecoder_OpenPP16DRC_GAIN_DECODER:
  158|     22|drcDec_GainDecoder_Open(HANDLE_DRC_GAIN_DECODER* phGainDec) {
  159|     22|  DRC_GAIN_DECODER* hGainDec = NULL;
  160|       |
  161|     22|  hGainDec = (DRC_GAIN_DECODER*)FDKcalloc(1, sizeof(DRC_GAIN_DECODER));
  162|     22|  if (hGainDec == NULL) return DE_MEMORY_ERROR;
  ------------------
  |  Branch (162:7): [True: 0, False: 22]
  ------------------
  163|       |
  164|     22|  hGainDec->multiBandActiveDrcIndex = -1;
  165|     22|  hGainDec->channelGainActiveDrcIndex = -1;
  166|       |
  167|     22|  *phGainDec = hGainDec;
  168|       |
  169|     22|  return DE_OK;
  170|     22|}
_Z24drcDec_GainDecoder_ClosePP16DRC_GAIN_DECODER:
  243|     22|drcDec_GainDecoder_Close(HANDLE_DRC_GAIN_DECODER* phGainDec) {
  244|     22|  if (*phGainDec != NULL) {
  ------------------
  |  Branch (244:7): [True: 22, False: 0]
  ------------------
  245|     22|    FDKfree(*phGainDec);
  246|     22|    *phGainDec = NULL;
  247|     22|  }
  248|       |
  249|     22|  return DE_OK;
  250|     22|}

_Z30drcDec_SelectionProcess_CreatePP26s_drcdec_selection_process:
  436|     22|drcDec_SelectionProcess_Create(HANDLE_DRC_SELECTION_PROCESS* phInstance) {
  437|     22|  HANDLE_DRC_SELECTION_PROCESS hInstance;
  438|     22|  hInstance = (HANDLE_DRC_SELECTION_PROCESS)FDKcalloc(
  439|     22|      1, sizeof(struct s_drcdec_selection_process));
  440|       |
  441|     22|  if (!hInstance) return DRCDEC_SELECTION_PROCESS_OUTOFMEMORY;
  ------------------
  |  Branch (441:7): [True: 0, False: 22]
  ------------------
  442|       |
  443|     22|  hInstance->codecMode = SEL_PROC_CODEC_MODE_UNDEFINED;
  444|       |
  445|     22|  *phInstance = hInstance;
  446|     22|  return DRCDEC_SELECTION_PROCESS_NO_ERROR;
  447|     22|}
_Z28drcDec_SelectionProcess_InitP26s_drcdec_selection_process:
  450|     22|drcDec_SelectionProcess_Init(HANDLE_DRC_SELECTION_PROCESS hInstance) {
  451|     22|  if (!hInstance) return DRCDEC_SELECTION_PROCESS_NOT_OK;
  ------------------
  |  Branch (451:7): [True: 0, False: 22]
  ------------------
  452|       |
  453|     22|  _initDefaultParams(&hInstance->selProcInput);
  454|     22|  return DRCDEC_SELECTION_PROCESS_NO_ERROR;
  455|     22|}
_Z30drcDec_SelectionProcess_DeletePP26s_drcdec_selection_process:
  647|     22|drcDec_SelectionProcess_Delete(HANDLE_DRC_SELECTION_PROCESS* phInstance) {
  648|     22|  if (phInstance == NULL || *phInstance == NULL)
  ------------------
  |  Branch (648:7): [True: 0, False: 22]
  |  Branch (648:29): [True: 0, False: 22]
  ------------------
  649|      0|    return DRCDEC_SELECTION_PROCESS_INVALID_HANDLE;
  650|       |
  651|     22|  FDKfree(*phInstance);
  652|       |  *phInstance = NULL;
  653|     22|  return DRCDEC_SELECTION_PROCESS_NO_ERROR;
  654|     22|}
drcDec_selectionProcess.cpp:_ZL18_initDefaultParamsP14SEL_PROC_INPUT:
  737|     22|    HANDLE_SEL_PROC_INPUT hSelProcInput) {
  738|     22|  DRCDEC_SELECTION_PROCESS_RETURN retVal = DRCDEC_SELECTION_PROCESS_NO_ERROR;
  739|       |
  740|     22|  if (hSelProcInput == NULL) return DRCDEC_SELECTION_PROCESS_INVALID_HANDLE;
  ------------------
  |  Branch (740:7): [True: 0, False: 22]
  ------------------
  741|       |
  742|       |  /* system parameters */
  743|     22|  hSelProcInput->baseChannelCount = -1;
  744|     22|  hSelProcInput->baseLayout = -1;
  745|     22|  hSelProcInput->targetConfigRequestType = TCRT_DOWNMIX_ID;
  746|     22|  hSelProcInput->numDownmixIdRequests = 0;
  747|       |
  748|       |  /* loudness normalization parameters */
  749|     22|  hSelProcInput->albumMode = 0;
  750|     22|  hSelProcInput->peakLimiterPresent = 0;
  751|     22|  hSelProcInput->loudnessNormalizationOn = 1;
  752|     22|  hSelProcInput->targetLoudness = FL2FXCONST_DBL(-24.0f / (float)(1 << 7));
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [Folded, False: 22]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 22]
  |  |  ------------------
  |  |  199|     22|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|     22|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|     22|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|     22|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  753|     22|  hSelProcInput->loudnessDeviationMax = DEFAULT_LOUDNESS_DEVIATION_MAX;
  ------------------
  |  |  137|     22|#define DEFAULT_LOUDNESS_DEVIATION_MAX 63
  ------------------
  754|     22|  hSelProcInput->loudnessMeasurementMethod = MDR_ANCHOR_LOUDNESS;
  755|     22|  hSelProcInput->loudnessMeasurementSystem = MSR_EXPERT_PANEL;
  756|     22|  hSelProcInput->loudnessMeasurementPreProc = LPR_DEFAULT;
  757|     22|  hSelProcInput->deviceCutOffFrequency = 500;
  758|     22|  hSelProcInput->loudnessNormalizationGainDbMax =
  759|     22|      (FIXP_DBL)MAXVAL_DBL; /* infinity as default */
  ------------------
  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  ------------------
  760|     22|  hSelProcInput->loudnessNormalizationGainModificationDb = (FIXP_DBL)0;
  761|     22|  hSelProcInput->outputPeakLevelMax = (FIXP_DBL)0;
  762|     22|  if (hSelProcInput->peakLimiterPresent == 1) {
  ------------------
  |  Branch (762:7): [True: 0, False: 22]
  ------------------
  763|      0|    hSelProcInput->outputPeakLevelMax = FL2FXCONST_DBL(6.0f / (float)(1 << 7));
  ------------------
  |  |  192|      0|  (FIXP_DBL)(                                                                \
  |  |  193|      0|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 0, Folded]
  |  |  ------------------
  |  |  194|      0|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|      0|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  764|      0|  }
  765|       |
  766|       |  /* dynamic range control parameters */
  767|     22|  hSelProcInput->dynamicRangeControlOn = 1;
  768|       |
  769|     22|  hSelProcInput->numDrcFeatureRequests = 0;
  770|       |
  771|       |  /* other parameters */
  772|     22|  hSelProcInput->boost = FL2FXCONST_SGL(1.f / (float)(1 << 1));
  ------------------
  |  |  180|     22|  (FIXP_SGL)(                                                                \
  |  |  181|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (181:7): [True: 22, Folded]
  |  |  ------------------
  |  |  182|     22|          ? ((((double)(val) * (FRACT_FIX_SCALE) + 0.5) >=                   \
  |  |  ------------------
  |  |  |  |  146|     22|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     22|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (182:14): [Folded, False: 22]
  |  |  ------------------
  |  |  183|     22|              (double)(MAXVAL_SGL))                                          \
  |  |  ------------------
  |  |  |  |  152|     22|  ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
  |  |  ------------------
  |  |  184|     22|                 ? (SHORT)(MAXVAL_SGL)                                       \
  |  |  ------------------
  |  |  |  |  152|      0|  ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
  |  |  ------------------
  |  |  185|     22|                 : (SHORT)((double)(val) * (double)(FRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  146|     22|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     22|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  186|     22|          : ((((double)(val) * (FRACT_FIX_SCALE)-0.5) <=                     \
  |  |  ------------------
  |  |  |  |  146|      0|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (186:14): [Folded, False: 0]
  |  |  ------------------
  |  |  187|      0|              (double)(MINVAL_SGL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  177|      0|#define MINVAL_SGL_CONST MINVAL_SGL
  |  |  |  |  ------------------
  |  |  |  |  |  |  154|      0|  ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  188|      0|                 ? (SHORT)(MINVAL_SGL_CONST)                                 \
  |  |  ------------------
  |  |  |  |  177|      0|#define MINVAL_SGL_CONST MINVAL_SGL
  |  |  |  |  ------------------
  |  |  |  |  |  |  154|      0|  ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  189|      0|                 : (SHORT)((double)(val) * (double)(FRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  146|      0|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  773|     22|  hSelProcInput->compress = FL2FXCONST_SGL(1.f / (float)(1 << 1));
  ------------------
  |  |  180|     22|  (FIXP_SGL)(                                                                \
  |  |  181|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (181:7): [True: 22, Folded]
  |  |  ------------------
  |  |  182|     22|          ? ((((double)(val) * (FRACT_FIX_SCALE) + 0.5) >=                   \
  |  |  ------------------
  |  |  |  |  146|     22|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     22|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (182:14): [Folded, False: 22]
  |  |  ------------------
  |  |  183|     22|              (double)(MAXVAL_SGL))                                          \
  |  |  ------------------
  |  |  |  |  152|     22|  ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
  |  |  ------------------
  |  |  184|     22|                 ? (SHORT)(MAXVAL_SGL)                                       \
  |  |  ------------------
  |  |  |  |  152|      0|  ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
  |  |  ------------------
  |  |  185|     22|                 : (SHORT)((double)(val) * (double)(FRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  146|     22|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|     22|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  186|     22|          : ((((double)(val) * (FRACT_FIX_SCALE)-0.5) <=                     \
  |  |  ------------------
  |  |  |  |  146|      0|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (186:14): [Folded, False: 0]
  |  |  ------------------
  |  |  187|      0|              (double)(MINVAL_SGL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  177|      0|#define MINVAL_SGL_CONST MINVAL_SGL
  |  |  |  |  ------------------
  |  |  |  |  |  |  154|      0|  ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  188|      0|                 ? (SHORT)(MINVAL_SGL_CONST)                                 \
  |  |  ------------------
  |  |  |  |  177|      0|#define MINVAL_SGL_CONST MINVAL_SGL
  |  |  |  |  ------------------
  |  |  |  |  |  |  154|      0|  ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  189|      0|                 : (SHORT)((double)(val) * (double)(FRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  146|      0|#define FRACT_FIX_SCALE ((INT64(1) << (FRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  112|      0|#define FRACT_BITS 16  /* single precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  774|     22|  hSelProcInput->drcCharacteristicTarget = 0;
  775|       |
  776|     22|  return retVal;
  777|     22|}

tpdec_lib.cpp:_ZL16FDKinitBitStreamP13FDK_BITSTREAMPhjj10FDK_BS_CFG:
  166|     21|                      FDK_BS_CFG config = BS_READER) {
  167|     21|  FDK_InitBitBuffer(&hBitStream->hBitBuf, pBuffer, bufSize, validBits);
  168|       |
  169|       |  /* init cache */
  170|     21|  hBitStream->CacheWord = hBitStream->BitsInCache = 0;
  171|     21|  hBitStream->ConfigCache = config;
  172|     21|}

_Z4fMinjj:
  416|     55|inline UINT fMin(UINT a, UINT b) { return fixmin_UI(a, b); }
  ------------------
  |  |  129|     55|#define fixmin_UI(a, b) fixmin(a, b)
  ------------------
conceal.cpp:_ZL5fMultss:
  238|    682|FDK_INLINE LONG fMult(SHORT a, SHORT b) { return fixmul_SS(a, b); }
fixpoint_math.cpp:_ZL5fMultii:
  241|    704|FDK_INLINE LONG fMult(LONG a, LONG b) { return fixmul_DD(a, b); }
fixpoint_math.cpp:_ZL4fAbsi:
  275|     44|FDK_INLINE FIXP_DBL fAbs(FIXP_DBL x) { return fixabs_D(x); }
fixpoint_math.cpp:_ZL12fMultAddDiv2isi:
  317|    660|FDK_INLINE FIXP_DBL fMultAddDiv2(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b) {
  318|    660|  return fixmadddiv2_SD(x, a, b);
  319|    660|}
fixpoint_math.cpp:_ZL9fMultDiv2ii:
  248|    704|FDK_INLINE LONG fMultDiv2(LONG a, LONG b) { return fixmuldiv2_DD(a, b); }
fixpoint_math.cpp:_ZL6fNormzi:
  292|     44|FDK_INLINE INT fNormz(FIXP_DBL x) { return fixnormz_D(x); }
fixpoint_math.cpp:_ZL12fMultAddDiv2iii:
  314|     44|FDK_INLINE FIXP_DBL fMultAddDiv2(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b) {
  315|     44|  return fixmadddiv2_DD(x, a, b);
  316|     44|}
fixpoint_math.cpp:_ZL5fNormi:
  294|     44|FDK_INLINE INT fNorm(FIXP_DBL x) { return fixnorm_D(x); }

_Z14fixmadddiv2_DDiii:
  124|    704|inline FIXP_DBL fixmadddiv2_DD(FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
  125|    704|  return (x + fMultDiv2(a, b));
  126|    704|}
_Z14fixmadddiv2_SDisi:
  130|    660|inline FIXP_DBL fixmadddiv2_SD(FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
  131|       |#ifdef FUNCTION_fixmadddiv2_DS
  132|       |  return fixmadddiv2_DS(x, b, a);
  133|       |#else
  134|    660|  return fixmadddiv2_DD(x, FX_SGL2FX_DBL(a), b);
  ------------------
  |  |  219|    660|  ((FIXP_DBL)((LONG)(val) << (DFRACT_BITS - FRACT_BITS)))
  |  |  ------------------
  |  |  |  |  113|    660|#define DFRACT_BITS 32 /* double precision */
  |  |  ------------------
  |  |                 ((FIXP_DBL)((LONG)(val) << (DFRACT_BITS - FRACT_BITS)))
  |  |  ------------------
  |  |  |  |  112|    660|#define FRACT_BITS 16  /* single precision */
  |  |  ------------------
  ------------------
  135|    660|#endif
  136|    660|}

_Z6fixminIjET_S0_S0_:
  113|     55|inline T fixmin(T a, T b) {
  114|     55|  return (a < b ? a : b);
  ------------------
  |  Branch (114:11): [True: 2, False: 53]
  ------------------
  115|     55|}

_Z9fixmul_SSss:
  163|    682|inline LONG fixmul_SS(const SHORT a, const SHORT b) { return (a * b) << 1; }

fixpoint_math.cpp:_ZL5fLog2iiPi:
  807|     44|FDK_INLINE FIXP_DBL fLog2(FIXP_DBL x_m, INT x_e, INT *result_e) {
  808|     44|  FIXP_DBL result_m;
  809|       |
  810|       |  /* Short cut for zero and negative numbers. */
  811|     44|  if (x_m <= FL2FXCONST_DBL(0.0f)) {
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 44, Folded]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 44]
  |  |  ------------------
  |  |  195|     44|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     44|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     44|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (811:7): [True: 0, False: 44]
  ------------------
  812|      0|    *result_e = DFRACT_BITS - 1;
  ------------------
  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  ------------------
  813|      0|    return FL2FXCONST_DBL(-1.0f);
  ------------------
  |  |  192|      0|  (FIXP_DBL)(                                                                \
  |  |  193|      0|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [Folded, False: 0]
  |  |  ------------------
  |  |  194|      0|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|      0|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [True: 0, Folded]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  814|      0|  }
  815|       |
  816|       |  /* Calculate log2() */
  817|     44|  {
  818|     44|    FIXP_DBL x2_m;
  819|       |
  820|       |    /* Move input value x_m * 2^x_e toward 1.0, where the taylor approximation
  821|       |       of the function log(1-x) centered at 0 is most accurate. */
  822|     44|    {
  823|     44|      INT b_norm;
  824|       |
  825|     44|      b_norm = fNormz(x_m) - 1;
  826|     44|      x2_m = x_m << b_norm;
  827|     44|      x_e = x_e - b_norm;
  828|     44|    }
  829|       |
  830|       |    /* map x from log(x) domain to log(1-x) domain. */
  831|     44|    x2_m = -(x2_m + FL2FXCONST_DBL(-1.0));
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [Folded, False: 44]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [True: 44, Folded]
  |  |  ------------------
  |  |  199|     44|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|     44|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|     44|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|     44|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|     44|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|     44|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  832|       |
  833|       |    /* Taylor polynomial approximation of ln(1-x) */
  834|     44|    {
  835|     44|      FIXP_DBL px2_m;
  836|     44|      result_m = FL2FXCONST_DBL(0.0);
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 44, Folded]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 44]
  |  |  ------------------
  |  |  195|     44|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     44|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     44|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  837|     44|      px2_m = x2_m;
  838|    484|      for (int i = 0; i < LD_PRECISION; i++) {
  ------------------
  |  |  117|    484|#define LD_PRECISION 10
  ------------------
  |  Branch (838:23): [True: 440, False: 44]
  ------------------
  839|    440|        result_m = fMultAddDiv2(result_m, ldCoeff[i], px2_m);
  840|    440|        px2_m = fMult(px2_m, x2_m);
  841|    440|      }
  842|     44|    }
  843|       |    /* Multiply result with 1/ln(2) = 1.0 + 0.442695040888 (get log2(x) from
  844|       |     * ln(x) result). */
  845|     44|    result_m =
  846|     44|        fMultAddDiv2(result_m, result_m,
  847|     44|                     FL2FXCONST_DBL(2.0 * 0.4426950408889634073599246810019));
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 44, Folded]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 44]
  |  |  ------------------
  |  |  195|     44|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     44|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     44|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  848|       |
  849|       |    /* Add exponent part. log2(x_m * 2^x_e) = log2(x_m) + x_e */
  850|     44|    if (x_e != 0) {
  ------------------
  |  Branch (850:9): [True: 44, False: 0]
  ------------------
  851|     44|      int enorm;
  852|       |
  853|     44|      enorm = DFRACT_BITS - fNorm((FIXP_DBL)x_e);
  ------------------
  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  ------------------
  854|       |      /* The -1 in the right shift of result_m compensates the fMultDiv2() above
  855|       |       * in the taylor polynomial evaluation loop.*/
  856|     44|      result_m = (result_m >> (enorm - 1)) +
  857|     44|                 ((FIXP_DBL)x_e << (DFRACT_BITS - 1 - enorm));
  ------------------
  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  ------------------
  858|       |
  859|     44|      *result_e = enorm;
  860|     44|    } else {
  861|       |      /* 1 compensates the fMultDiv2() above in the taylor polynomial evaluation
  862|       |       * loop.*/
  863|      0|      *result_e = 1;
  864|      0|    }
  865|     44|  }
  866|       |
  867|     44|  return result_m;
  868|     44|}

_Z10scaleValueii:
  155|     44|) {
  156|     44|  if (scalefactor > 0)
  ------------------
  |  Branch (156:7): [True: 44, False: 0]
  ------------------
  157|     44|    return (value << scalefactor);
  158|      0|  else
  159|      0|    return (value >> (-scalefactor));
  160|     44|}

_Z8fixabs_Di:
  110|     44|inline INT fixabs_D(INT x) { return ((x) > (INT)(0)) ? (x) : -(x); }
  ------------------
  |  Branch (110:37): [True: 44, False: 0]
  ------------------

_Z10fixnormz_Di:
  111|    132|inline INT fixnormz_D(LONG value) {
  112|    132|  INT result;
  113|       |
  114|    132|  if (value != 0) {
  ------------------
  |  Branch (114:7): [True: 132, False: 0]
  ------------------
  115|    132|    result = __builtin_clz(value);
  116|    132|  } else {
  117|      0|    result = 32;
  118|      0|  }
  119|    132|  return result;
  120|    132|}
_Z9fixnorm_Di:
  122|     88|inline INT fixnorm_D(LONG value) {
  123|     88|  INT result;
  124|     88|  if (value == 0) {
  ------------------
  |  Branch (124:7): [True: 0, False: 88]
  ------------------
  125|      0|    return 0;
  126|      0|  }
  127|     88|  if (value < 0) {
  ------------------
  |  Branch (127:7): [True: 44, False: 44]
  ------------------
  128|     44|    value = ~value;
  129|     44|  }
  130|     88|  result = fixnormz_D(value);
  131|     88|  return result - 1;
  132|     88|}

_Z9fixmul_DDii:
  164|    704|inline INT fixmul_DD(INT a, const INT b) {
  165|    704|  INT result;
  166|       |
  167|    704|  asm("imul %2;\n"
  168|    704|      "shl $1, %0;\n"
  169|    704|      : "=d"(result), "+a"(a)
  170|    704|      : "r"(b));
  171|       |
  172|    704|  return result;
  173|    704|}
_Z13fixmuldiv2_DDii:
  175|    704|inline INT fixmuldiv2_DD(INT a, const INT b) {
  176|    704|  INT result;
  177|       |
  178|    704|  asm("imul %2;" : "=d"(result), "+a"(a) : "r"(b));
  179|       |
  180|    704|  return result;
  181|    704|}

_Z7invFixpi:
  154|     44|inline FIXP_DBL invFixp(FIXP_DBL op) {
  155|     44|  float result;
  156|     44|  INT result_e;
  157|     44|  if ((op == (FIXP_DBL)0) || (op == (FIXP_DBL)1)) {
  ------------------
  |  Branch (157:7): [True: 0, False: 44]
  |  Branch (157:30): [True: 0, False: 44]
  ------------------
  158|      0|    return ((LONG)0x7fffffff);
  159|      0|  }
  160|     44|  result = (float)(1.0 / (float)(INT)op);
  161|     44|  result = frexpf(result, &result_e);
  162|     44|  result = ldexpf(result, 31 + result_e);
  163|       |
  164|     44|  return (FIXP_DBL)(INT)result;
  165|     44|}

FDK_InitBitBuffer:
  127|     21|                       UINT validBits) {
  128|     21|  hBitBuf->ValidBits = validBits;
  129|     21|  hBitBuf->ReadOffset = 0;
  130|     21|  hBitBuf->WriteOffset = 0;
  131|     21|  hBitBuf->BitNdx = 0;
  132|       |
  133|     21|  hBitBuf->Buffer = pBuffer;
  134|     21|  hBitBuf->bufSize = bufSize;
  135|     21|  hBitBuf->bufBits = (bufSize << 3);
  136|       |  /*assure bufsize (2^n) */
  137|     21|  FDK_ASSERT(hBitBuf->ValidBits <= hBitBuf->bufBits);
  ------------------
  |  |  221|     21|#define FDK_ASSERT(x) assert(x)
  ------------------
  |  Branch (137:3): [True: 21, False: 0]
  ------------------
  138|     21|  FDK_ASSERT((bufSize > 0) && (bufSize <= MAX_BUFSIZE_BYTES));
  ------------------
  |  |  221|     21|#define FDK_ASSERT(x) assert(x)
  ------------------
  |  Branch (138:3): [True: 21, False: 0]
  |  Branch (138:3): [True: 21, False: 0]
  |  Branch (138:3): [True: 21, False: 0]
  ------------------
  139|     21|  {
  140|     21|    UINT x = 0, n = bufSize;
  141|    357|    for (x = 0; n > 0; x++, n >>= 1) {
  ------------------
  |  Branch (141:17): [True: 336, False: 21]
  ------------------
  142|    336|    }
  143|     21|    if (bufSize != ((UINT)1 << (x - 1))) {
  ------------------
  |  Branch (143:9): [True: 0, False: 21]
  ------------------
  144|       |      FDK_ASSERT(0);
  ------------------
  |  |  221|      0|#define FDK_ASSERT(x) assert(x)
  ------------------
  |  Branch (144:7): [Folded, False: 0]
  ------------------
  145|      0|    }
  146|     21|  }
  147|     21|}

_Z10FDKcrcInitP11FDK_CRCINFOjjj:
  229|      3|                const UINT crcStartValue, const UINT crcLen) {
  230|       |  /* crc polynom example:
  231|       |  x^16 + x^15 + x^5 + x^0        (1) 1000 0000 0010 0001 -> 0x8021
  232|       |  x^16 + x^15 + x^2 + x^0        (1) 1000 0000 0000 0101 -> 0x8005
  233|       |  x^16 + x^12 + x^5 + x^0        (1) 0001 0000 0010 0001 -> 0x1021
  234|       |  x^8 + x^4 + x^3 + x^2 + x^0              (1) 0001 1101 -> 0x001d */
  235|       |
  236|      3|  hCrcInfo->crcLen = crcLen;
  237|      3|  hCrcInfo->crcPoly = crcPoly;
  238|      3|  hCrcInfo->startValue = crcStartValue;
  239|      3|  hCrcInfo->crcMask = (crcLen) ? (1 << (crcLen - 1)) : 0;
  ------------------
  |  Branch (239:23): [True: 3, False: 0]
  ------------------
  240|       |
  241|      3|  FDKcrcReset(hCrcInfo);
  242|       |
  243|      3|  hCrcInfo->pCrcLookup =
  244|      3|      0; /* Preset 0 for "crcLen" != 16 or unknown 16-bit polynoms "crcPoly" */
  245|       |
  246|      3|  if (hCrcInfo->crcLen == 16) {
  ------------------
  |  Branch (246:7): [True: 2, False: 1]
  ------------------
  247|      2|    switch (crcPoly) {
  248|      0|      case 0x8021:
  ------------------
  |  Branch (248:7): [True: 0, False: 2]
  ------------------
  249|      0|        hCrcInfo->pCrcLookup = crcLookup_16_15_5_0;
  250|      0|        break;
  251|      2|      case 0x8005:
  ------------------
  |  Branch (251:7): [True: 2, False: 0]
  ------------------
  252|      2|        hCrcInfo->pCrcLookup = crcLookup_16_15_2_0;
  253|      2|        break;
  254|      0|      case 0x1021:
  ------------------
  |  Branch (254:7): [True: 0, False: 2]
  ------------------
  255|      0|        hCrcInfo->pCrcLookup = crcLookup_16_12_5_0;
  256|      0|        break;
  257|      0|      case 0x001d:
  ------------------
  |  Branch (257:7): [True: 0, False: 2]
  ------------------
  258|      0|      default:
  ------------------
  |  Branch (258:7): [True: 0, False: 2]
  ------------------
  259|       |        /* no lookup table */
  260|      0|        break;
  261|      2|    }
  262|      2|  }
  263|      3|}
_Z11FDKcrcResetP11FDK_CRCINFO:
  265|      3|void FDKcrcReset(HANDLE_FDK_CRCINFO hCrcInfo) {
  266|      3|  int i;
  267|       |
  268|      3|  hCrcInfo->crcValue = hCrcInfo->startValue;
  269|       |
  270|     12|  for (i = 0; i < MAX_CRC_REGS; i++) {
  ------------------
  |  |  109|     12|  3 /*!< Maximal number of overlapping crc region in ADTS channel pair element \
  ------------------
  |  Branch (270:15): [True: 9, False: 3]
  ------------------
  271|      9|    hCrcInfo->crcRegData[i].isActive = 0;
  272|      9|  }
  273|      3|  hCrcInfo->regStart = 0;
  274|      3|  hCrcInfo->regStop = 0;
  275|      3|}

_Z15fdkFreeMatrix1DPv:
  119|    132|void fdkFreeMatrix1D(void *p) {
  120|    132|  if (p != NULL) {
  ------------------
  |  Branch (120:7): [True: 132, False: 0]
  ------------------
  121|    132|    FDKfree_L(p);
  122|    132|  }
  123|    132|}
_Z17fdkCallocMatrix1Djj:
  131|    132|void *fdkCallocMatrix1D(UINT dim1, UINT size) { return FDKcalloc(dim1, size); }

_Z28FDK_QmfDomain_ClearRequestedP17FDK_QMF_DOMAIN_GC:
  779|     22|void FDK_QmfDomain_ClearRequested(HANDLE_FDK_QMF_DOMAIN_GC hgc) {
  780|     22|  hgc->qmfDomainExplicitConfig = 0;
  781|     22|  hgc->flags_requested = 0;
  782|     22|  hgc->nInputChannels_requested = 0;
  783|     22|  hgc->nOutputChannels_requested = 0;
  784|     22|  hgc->parkChannel_requested = 0;
  785|     22|  hgc->nBandsAnalysis_requested = 0;
  786|     22|  hgc->nBandsSynthesis_requested = 0;
  787|     22|  hgc->nQmfTimeSlots_requested = 0;
  788|     22|  hgc->nQmfOvTimeSlots_requested = 0;
  789|     22|  hgc->nQmfProcBands_requested = 0;
  790|     22|  hgc->nQmfProcChannels_requested = 0;
  791|     22|}
_Z19FDK_QmfDomain_CloseP14FDK_QMF_DOMAIN:
 1009|     22|void FDK_QmfDomain_Close(HANDLE_FDK_QMF_DOMAIN hqd) {
 1010|     22|  FDK_QmfDomain_FreeWorkBuffer(hqd);
 1011|       |
 1012|     22|  FDK_QmfDomain_FreePersistentMemory(hqd);
 1013|     22|}
FDK_qmf_domain.cpp:_ZL28FDK_QmfDomain_FreeWorkBufferP14FDK_QMF_DOMAIN:
  987|     22|static void FDK_QmfDomain_FreeWorkBuffer(HANDLE_FDK_QMF_DOMAIN hqd) {
  988|     22|  FIXP_DBL **pWorkBuffer = hqd->globalConf.pWorkBuffer;
  989|       |
  990|     22|  if (pWorkBuffer[0]) FreeQmfWorkBufferCore6(&pWorkBuffer[0]);
  ------------------
  |  Branch (990:7): [True: 0, False: 22]
  ------------------
  991|     22|  if (pWorkBuffer[1]) FreeQmfWorkBufferCore1(&pWorkBuffer[1]);
  ------------------
  |  Branch (991:7): [True: 0, False: 22]
  ------------------
  992|     22|  if (pWorkBuffer[2]) FreeQmfWorkBufferCore3(&pWorkBuffer[2]);
  ------------------
  |  Branch (992:7): [True: 0, False: 22]
  ------------------
  993|     22|  if (pWorkBuffer[3]) FreeQmfWorkBufferCore4(&pWorkBuffer[3]);
  ------------------
  |  Branch (993:7): [True: 0, False: 22]
  ------------------
  994|     22|  if (pWorkBuffer[4]) FreeQmfWorkBufferCore7(&pWorkBuffer[4]);
  ------------------
  |  Branch (994:7): [True: 0, False: 22]
  ------------------
  995|     22|}
FDK_qmf_domain.cpp:_ZL34FDK_QmfDomain_FreePersistentMemoryP14FDK_QMF_DOMAIN:
  199|     22|static int FDK_QmfDomain_FreePersistentMemory(HANDLE_FDK_QMF_DOMAIN qd) {
  200|     22|  int err = 0;
  201|     22|  int ch;
  202|       |
  203|    220|  for (ch = 0; ch < ((8) + (1)); ch++) {
  ------------------
  |  Branch (203:16): [True: 198, False: 22]
  ------------------
  204|    198|    if (qd->QmfDomainIn[ch].pAnaQmfStates) {
  ------------------
  |  Branch (204:9): [True: 0, False: 198]
  ------------------
  205|      0|      if (qd->globalConf.nBandsAnalysis == QMF_DOMAIN_ANALYSIS_QMF_BANDS_16) {
  ------------------
  |  |  137|      0|#define QMF_DOMAIN_ANALYSIS_QMF_BANDS_16 (16)
  ------------------
  |  Branch (205:11): [True: 0, False: 0]
  ------------------
  206|      0|        FreeAnaQmfStates16(&qd->QmfDomainIn[ch].pAnaQmfStates);
  207|      0|      } else if (qd->globalConf.nBandsAnalysis ==
  ------------------
  |  Branch (207:18): [True: 0, False: 0]
  ------------------
  208|      0|                 QMF_DOMAIN_ANALYSIS_QMF_BANDS_24) {
  ------------------
  |  |  138|      0|#define QMF_DOMAIN_ANALYSIS_QMF_BANDS_24 (24)
  ------------------
  209|      0|        FreeAnaQmfStates24(&qd->QmfDomainIn[ch].pAnaQmfStates);
  210|      0|      } else if (qd->globalConf.nBandsAnalysis ==
  ------------------
  |  Branch (210:18): [True: 0, False: 0]
  ------------------
  211|      0|                 QMF_DOMAIN_ANALYSIS_QMF_BANDS_32) {
  ------------------
  |  |  139|      0|#define QMF_DOMAIN_ANALYSIS_QMF_BANDS_32 (32)
  ------------------
  212|      0|        FreeAnaQmfStates32(&qd->QmfDomainIn[ch].pAnaQmfStates);
  213|      0|      } else {
  214|      0|        FreeAnaQmfStates(&qd->QmfDomainIn[ch].pAnaQmfStates);
  215|      0|      }
  216|      0|    }
  217|       |
  218|    198|    if (qd->QmfDomainIn[ch].pOverlapBuffer) {
  ------------------
  |  Branch (218:9): [True: 0, False: 198]
  ------------------
  219|      0|      if (qd->globalConf.nQmfOvTimeSlots == QMF_DOMAIN_OV_TIMESLOTS_16) {
  ------------------
  |  |  144|      0|#define QMF_DOMAIN_OV_TIMESLOTS_16 (3)
  ------------------
  |  Branch (219:11): [True: 0, False: 0]
  ------------------
  220|      0|        FreeQmfOverlapBuffer16(&qd->QmfDomainIn[ch].pOverlapBuffer);
  221|      0|      } else if (qd->globalConf.nQmfOvTimeSlots == QMF_DOMAIN_OV_TIMESLOTS_32) {
  ------------------
  |  |  145|      0|#define QMF_DOMAIN_OV_TIMESLOTS_32 (6)
  ------------------
  |  Branch (221:18): [True: 0, False: 0]
  ------------------
  222|      0|        FreeQmfOverlapBuffer32(&qd->QmfDomainIn[ch].pOverlapBuffer);
  223|      0|      } else {
  224|      0|        FreeQmfOverlapBuffer(&qd->QmfDomainIn[ch].pOverlapBuffer);
  225|      0|      }
  226|      0|    }
  227|       |
  228|    198|    if (qd->QmfDomainIn[ch].hQmfSlotsReal) {
  ------------------
  |  Branch (228:9): [True: 0, False: 198]
  ------------------
  229|      0|      if (qd->globalConf.nQmfTimeSlots == QMF_DOMAIN_TIMESLOTS_16) {
  ------------------
  |  |  141|      0|#define QMF_DOMAIN_TIMESLOTS_16 (16)
  ------------------
  |  Branch (229:11): [True: 0, False: 0]
  ------------------
  230|      0|        FreeQmfSlotsReal16(&qd->QmfDomainIn[ch].hQmfSlotsReal);
  231|      0|      } else if (qd->globalConf.nQmfTimeSlots == QMF_DOMAIN_TIMESLOTS_32) {
  ------------------
  |  |  142|      0|#define QMF_DOMAIN_TIMESLOTS_32 (32)
  ------------------
  |  Branch (231:18): [True: 0, False: 0]
  ------------------
  232|      0|        FreeQmfSlotsReal32(&qd->QmfDomainIn[ch].hQmfSlotsReal);
  233|      0|      } else {
  234|      0|        FreeQmfSlotsReal(&qd->QmfDomainIn[ch].hQmfSlotsReal);
  235|      0|      }
  236|      0|    }
  237|       |
  238|    198|    if (qd->QmfDomainIn[ch].hQmfSlotsImag) {
  ------------------
  |  Branch (238:9): [True: 0, False: 198]
  ------------------
  239|      0|      if (qd->globalConf.nQmfTimeSlots == QMF_DOMAIN_TIMESLOTS_16) {
  ------------------
  |  |  141|      0|#define QMF_DOMAIN_TIMESLOTS_16 (16)
  ------------------
  |  Branch (239:11): [True: 0, False: 0]
  ------------------
  240|      0|        FreeQmfSlotsImag16(&qd->QmfDomainIn[ch].hQmfSlotsImag);
  241|      0|      }
  242|      0|      if (qd->globalConf.nQmfTimeSlots == QMF_DOMAIN_TIMESLOTS_32) {
  ------------------
  |  |  142|      0|#define QMF_DOMAIN_TIMESLOTS_32 (32)
  ------------------
  |  Branch (242:11): [True: 0, False: 0]
  ------------------
  243|      0|        FreeQmfSlotsImag32(&qd->QmfDomainIn[ch].hQmfSlotsImag);
  244|      0|      } else {
  245|      0|        FreeQmfSlotsImag(&qd->QmfDomainIn[ch].hQmfSlotsImag);
  246|      0|      }
  247|      0|    }
  248|    198|  }
  249|       |
  250|    220|  for (ch = 0; ch < ((8) + (1)); ch++) {
  ------------------
  |  Branch (250:16): [True: 198, False: 22]
  ------------------
  251|    198|    if (qd->QmfDomainOut[ch].pSynQmfStates) {
  ------------------
  |  Branch (251:9): [True: 0, False: 198]
  ------------------
  252|      0|      FreeSynQmfStates(&qd->QmfDomainOut[ch].pSynQmfStates);
  253|      0|    }
  254|    198|  }
  255|       |
  256|     22|  return err;
  257|     22|}

_Z5f2PowiiPi:
  593|     44|FIXP_DBL f2Pow(const FIXP_DBL exp_m, const INT exp_e, INT *result_e) {
  594|     44|  FIXP_DBL frac_part, result_m;
  595|     44|  INT int_part;
  596|       |
  597|     44|  if (exp_e > 0) {
  ------------------
  |  Branch (597:7): [True: 0, False: 44]
  ------------------
  598|      0|    INT exp_bits = DFRACT_BITS - 1 - exp_e;
  ------------------
  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  ------------------
  599|      0|    int_part = exp_m >> exp_bits;
  600|      0|    frac_part = exp_m - (FIXP_DBL)(int_part << exp_bits);
  601|      0|    frac_part = frac_part << exp_e;
  602|     44|  } else {
  603|     44|    int_part = 0;
  604|     44|    frac_part = exp_m >> -exp_e;
  605|     44|  }
  606|       |
  607|       |  /* Best accuracy is around 0, so try to get there with the fractional part. */
  608|     44|  if (frac_part > FL2FXCONST_DBL(0.5f)) {
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 44, Folded]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 44]
  |  |  ------------------
  |  |  195|     44|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     44|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     44|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (608:7): [True: 0, False: 44]
  ------------------
  609|      0|    int_part = int_part + 1;
  610|      0|    frac_part = frac_part + FL2FXCONST_DBL(-1.0f);
  ------------------
  |  |  192|      0|  (FIXP_DBL)(                                                                \
  |  |  193|      0|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [Folded, False: 0]
  |  |  ------------------
  |  |  194|      0|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|      0|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [True: 0, Folded]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  611|      0|  }
  612|     44|  if (frac_part < FL2FXCONST_DBL(-0.5f)) {
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [Folded, False: 44]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 44]
  |  |  ------------------
  |  |  199|     44|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|     44|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|     44|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|     44|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (612:7): [True: 0, False: 44]
  ------------------
  613|      0|    int_part = int_part - 1;
  614|      0|    frac_part = -(FL2FXCONST_DBL(-1.0f) - frac_part);
  ------------------
  |  |  192|      0|  (FIXP_DBL)(                                                                \
  |  |  193|      0|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [Folded, False: 0]
  |  |  ------------------
  |  |  194|      0|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 0]
  |  |  ------------------
  |  |  195|      0|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|      0|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|      0|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [True: 0, Folded]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  615|      0|  }
  616|       |
  617|       |  /* "+ 1" compensates fMultAddDiv2() of the polynomial evaluation below. */
  618|     44|  *result_e = int_part + 1;
  619|       |
  620|       |  /* Evaluate taylor polynomial which approximates 2^x */
  621|     44|  {
  622|     44|    FIXP_DBL p;
  623|       |
  624|       |    /* result_m ~= 2^frac_part */
  625|     44|    p = frac_part;
  626|       |    /* First taylor series coefficient a_0 = 1.0, scaled by 0.5 due to
  627|       |     * fMultDiv2(). */
  628|     44|    result_m = FL2FXCONST_DBL(1.0f / 2.0f);
  ------------------
  |  |  192|     44|  (FIXP_DBL)(                                                                \
  |  |  193|     44|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 44, Folded]
  |  |  ------------------
  |  |  194|     44|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 44]
  |  |  ------------------
  |  |  195|     44|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     44|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     44|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     44|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     44|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     44|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     44|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  629|    264|    for (INT i = 0; i < POW2_PRECISION; i++) {
  ------------------
  |  |  128|    264|#define POW2_PRECISION 5
  ------------------
  |  Branch (629:21): [True: 220, False: 44]
  ------------------
  630|       |      /* next taylor series term: a_i * x^i, x=0 */
  631|    220|      result_m = fMultAddDiv2(result_m, pow2Coeff[i], p);
  632|    220|      p = fMult(p, frac_part);
  633|    220|    }
  634|     44|  }
  635|     44|  return result_m;
  636|     44|}
_Z4fPowiiiiPi:
  649|     44|              INT *result_e) {
  650|     44|  INT ans_lg2_e, baselg2_e;
  651|     44|  FIXP_DBL base_lg2, ans_lg2, result;
  652|       |
  653|     44|  if (base_m <= (FIXP_DBL)0) {
  ------------------
  |  Branch (653:7): [True: 0, False: 44]
  ------------------
  654|      0|    result = (FIXP_DBL)0;
  655|      0|    *result_e = 0;
  656|      0|    return result;
  657|      0|  }
  658|       |
  659|       |  /* Calc log2 of base */
  660|     44|  base_lg2 = fLog2(base_m, base_e, &baselg2_e);
  661|       |
  662|       |  /* Prepare exp */
  663|     44|  {
  664|     44|    INT leadingBits;
  665|       |
  666|     44|    leadingBits = CountLeadingBits(fAbs(exp_m));
  ------------------
  |  |  309|     44|#define CountLeadingBits(x) fixnorm_D(x)
  ------------------
  667|     44|    exp_m = exp_m << leadingBits;
  668|     44|    exp_e -= leadingBits;
  669|     44|  }
  670|       |
  671|       |  /* Calc base pow exp */
  672|     44|  ans_lg2 = fMult(base_lg2, exp_m);
  673|     44|  ans_lg2_e = exp_e + baselg2_e;
  674|       |
  675|       |  /* Calc antilog */
  676|     44|  result = f2Pow(ans_lg2, ans_lg2_e, result_e);
  677|       |
  678|     44|  return result;
  679|     44|}

_Z16adtsRead_CrcInitP11STRUCT_ADTS:
  109|      2|{
  110|      2|  FDKcrcInit(&pAdts->crcInfo, 0x8005, 0xFFFF, 16);
  111|      2|}

_Z19CProgramConfig_InitP14CProgramConfig:
  186|     22|void CProgramConfig_Init(CProgramConfig *pPce) {
  187|     22|  FDKmemclear(pPce, sizeof(CProgramConfig));
  188|     22|  pPce->SamplingFrequencyIndex = 0xf;
  189|     22|}

_Z15drmRead_CrcInitP10STRUCT_DRM:
  108|      1|{
  109|      1|  FDK_ASSERT(pDrm != NULL);
  ------------------
  |  |  221|      1|#define FDK_ASSERT(x) assert(x)
  ------------------
  |  Branch (109:3): [True: 1, False: 0]
  ------------------
  110|       |
  111|      1|  FDKcrcInit(&pDrm->crcInfo, 0x001d, 0xFFFF, 8);
  112|      1|}

_Z17transportDec_Open14TRANSPORT_TYPEjj:
  192|     55|                                      const UINT flags, const UINT nrOfLayers) {
  193|     55|  HANDLE_TRANSPORTDEC hInput;
  194|       |
  195|     55|  hInput = GetRam_TransportDecoder(0);
  196|     55|  if (hInput == NULL) {
  ------------------
  |  Branch (196:7): [True: 0, False: 55]
  ------------------
  197|      0|    return NULL;
  198|      0|  }
  199|       |
  200|       |  /* Init transportDec struct. */
  201|     55|  hInput->transportFmt = transportFmt;
  202|       |
  203|     55|  switch (transportFmt) {
  204|      4|    case TT_MP4_ADIF:
  ------------------
  |  Branch (204:5): [True: 4, False: 51]
  ------------------
  205|      4|      break;
  206|       |
  207|      2|    case TT_MP4_ADTS:
  ------------------
  |  Branch (207:5): [True: 2, False: 53]
  ------------------
  208|      2|      if (flags & TP_FLAG_MPEG4)
  ------------------
  |  |  322|      2|#define TP_FLAG_MPEG4 1
  ------------------
  |  Branch (208:11): [True: 2, False: 0]
  ------------------
  209|      2|        hInput->parser.adts.decoderCanDoMpeg4 = 1;
  210|      0|      else
  211|      0|        hInput->parser.adts.decoderCanDoMpeg4 = 0;
  212|      2|      adtsRead_CrcInit(&hInput->parser.adts);
  213|      2|      hInput->parser.adts.BufferFullnesStartFlag = 1;
  214|      2|      hInput->numberOfRawDataBlocks = 0;
  215|      2|      break;
  216|       |
  217|      1|    case TT_DRM:
  ------------------
  |  Branch (217:5): [True: 1, False: 54]
  ------------------
  218|      1|      drmRead_CrcInit(&hInput->parser.drm);
  219|      1|      break;
  220|       |
  221|      2|    case TT_MP4_LATM_MCP0:
  ------------------
  |  Branch (221:5): [True: 2, False: 53]
  ------------------
  222|      5|    case TT_MP4_LATM_MCP1:
  ------------------
  |  Branch (222:5): [True: 3, False: 52]
  ------------------
  223|      5|      hInput->parser.latm.usacExplicitCfgChanged = 0;
  224|      5|      hInput->parser.latm.applyAsc = 1;
  225|      5|      break;
  226|      3|    case TT_MP4_LOAS:
  ------------------
  |  Branch (226:5): [True: 3, False: 52]
  ------------------
  227|      3|      hInput->parser.latm.usacExplicitCfgChanged = 0;
  228|      3|      hInput->parser.latm.applyAsc = 1;
  229|      3|      break;
  230|      7|    case TT_MP4_RAW:
  ------------------
  |  Branch (230:5): [True: 7, False: 48]
  ------------------
  231|      7|      break;
  232|       |
  233|     33|    default:
  ------------------
  |  Branch (233:5): [True: 33, False: 22]
  ------------------
  234|     33|      FreeRam_TransportDecoder(&hInput);
  235|     33|      hInput = NULL;
  236|     33|      break;
  237|     55|  }
  238|       |
  239|     55|  if (hInput != NULL) {
  ------------------
  |  Branch (239:7): [True: 22, False: 33]
  ------------------
  240|       |    /* Create bitstream */
  241|     22|    {
  242|     22|      hInput->bsBuffer = GetRam_TransportDecoderBuffer(0);
  243|     22|      if (hInput->bsBuffer == NULL) {
  ------------------
  |  Branch (243:11): [True: 0, False: 22]
  ------------------
  244|      0|        transportDec_Close(&hInput);
  245|      0|        return NULL;
  246|      0|      }
  247|     22|      if (nrOfLayers > 1) {
  ------------------
  |  Branch (247:11): [True: 0, False: 22]
  ------------------
  248|      0|        transportDec_Close(&hInput);
  249|      0|        return NULL;
  250|      0|      }
  251|     43|      for (UINT i = 0; i < nrOfLayers; i++) {
  ------------------
  |  Branch (251:24): [True: 21, False: 22]
  ------------------
  252|     21|        FDKinitBitStream(&hInput->bitStream[i], hInput->bsBuffer, (8192 * 4), 0,
  253|     21|                         BS_READER);
  254|     21|      }
  255|     22|    }
  256|      0|    hInput->burstPeriod = 0;
  257|     22|  }
  258|       |
  259|     55|  return hInput;
  260|     55|}
_Z32transportDec_RegisterAscCallbackP12TRANSPORTDECPFiPvPK21CSAudioSpecificConfighPhES1_:
  571|     22|                                     void *user_data) {
  572|     22|  if (hTpDec == NULL) {
  ------------------
  |  Branch (572:7): [True: 0, False: 22]
  ------------------
  573|      0|    return -1;
  574|      0|  }
  575|     22|  hTpDec->callbacks.cbUpdateConfig = cbUpdateConfig;
  576|     22|  hTpDec->callbacks.cbUpdateConfigData = user_data;
  577|     22|  return 0;
  578|     22|}
_Z36transportDec_RegisterFreeMemCallbackP12TRANSPORTDECPFiPvPK21CSAudioSpecificConfigES1_:
  582|     22|                                         void *user_data) {
  583|     22|  if (hTpDec == NULL) {
  ------------------
  |  Branch (583:7): [True: 0, False: 22]
  ------------------
  584|      0|    return -1;
  585|      0|  }
  586|     22|  hTpDec->callbacks.cbFreeMem = cbFreeMem;
  587|     22|  hTpDec->callbacks.cbFreeMemData = user_data;
  588|     22|  return 0;
  589|     22|}
_Z42transportDec_RegisterCtrlCFGChangeCallbackP12TRANSPORTDECPFiPvPK14CCtrlCFGChangeES1_:
  593|     22|    void *user_data) {
  594|     22|  if (hTpDec == NULL) {
  ------------------
  |  Branch (594:7): [True: 0, False: 22]
  ------------------
  595|      0|    return -1;
  596|      0|  }
  597|     22|  hTpDec->callbacks.cbCtrlCFGChange = cbCtrlCFGChange;
  598|     22|  hTpDec->callbacks.cbCtrlCFGChangeData = user_data;
  599|     22|  return 0;
  600|     22|}
_Z32transportDec_RegisterSscCallbackP12TRANSPORTDECPFiPvP13FDK_BITSTREAM17AUDIO_OBJECT_TYPEiiiiiihPhES1_:
  603|     22|                                     const cbSsc_t cbSsc, void *user_data) {
  604|     22|  if (hTpDec == NULL) {
  ------------------
  |  Branch (604:7): [True: 0, False: 22]
  ------------------
  605|      0|    return -1;
  606|      0|  }
  607|     22|  hTpDec->callbacks.cbSsc = cbSsc;
  608|     22|  hTpDec->callbacks.cbSscData = user_data;
  609|     22|  return 0;
  610|     22|}
_Z32transportDec_RegisterSbrCallbackP12TRANSPORTDECPFiPvP13FDK_BITSTREAMiii17AUDIO_OBJECT_TYPE14MP4_ELEMENT_IDihhhPhiES1_:
  613|     22|                                     const cbSbr_t cbSbr, void *user_data) {
  614|     22|  if (hTpDec == NULL) {
  ------------------
  |  Branch (614:7): [True: 0, False: 22]
  ------------------
  615|      0|    return -1;
  616|      0|  }
  617|     22|  hTpDec->callbacks.cbSbr = cbSbr;
  618|     22|  hTpDec->callbacks.cbSbrData = user_data;
  619|     22|  return 0;
  620|     22|}
_Z41transportDec_RegisterUniDrcConfigCallbackP12TRANSPORTDECPFiPvP13FDK_BITSTREAMiiii17AUDIO_OBJECT_TYPEES1_Pj:
  635|     22|                                              UINT *pLoudnessInfoSetPosition) {
  636|     22|  if (hTpDec == NULL) {
  ------------------
  |  Branch (636:7): [True: 0, False: 22]
  ------------------
  637|      0|    return -1;
  638|      0|  }
  639|       |
  640|     22|  hTpDec->callbacks.cbUniDrc = cbUniDrc;
  641|     22|  hTpDec->callbacks.cbUniDrcData = user_data;
  642|       |
  643|     22|  hTpDec->pLoudnessInfoSetPosition = pLoudnessInfoSetPosition;
  644|     22|  return 0;
  645|     22|}
_Z18transportDec_ClosePP12TRANSPORTDEC:
 1754|     22|void transportDec_Close(HANDLE_TRANSPORTDEC *phTp) {
 1755|     22|  if (phTp != NULL) {
  ------------------
  |  Branch (1755:7): [True: 22, False: 0]
  ------------------
 1756|     22|    if (*phTp != NULL) {
  ------------------
  |  Branch (1756:9): [True: 22, False: 0]
  ------------------
 1757|     22|      FreeRam_TransportDecoderBuffer(&(*phTp)->bsBuffer);
 1758|     22|      FreeRam_TransportDecoder(phTp);
 1759|     22|    }
 1760|     22|  }
 1761|     22|}

_Z17pcmLimiter_Createjjijj:
  114|     22|                               UINT maxSampleRate) {
  115|     22|  TDLimiterPtr limiter = NULL;
  116|     22|  unsigned int attack, release;
  117|     22|  FIXP_DBL attackConst, releaseConst, exponent;
  118|     22|  INT e_ans;
  119|       |
  120|       |  /* calc attack and release time in samples */
  121|     22|  attack = (unsigned int)(maxAttackMs * maxSampleRate / 1000);
  122|     22|  release = (unsigned int)(releaseMs * maxSampleRate / 1000);
  123|       |
  124|       |  /* alloc limiter struct */
  125|     22|  limiter = (TDLimiterPtr)FDKcalloc(1, sizeof(struct TDLimiter));
  126|     22|  if (!limiter) return NULL;
  ------------------
  |  Branch (126:7): [True: 0, False: 22]
  ------------------
  127|       |
  128|       |  /* alloc max and delay buffers */
  129|     22|  limiter->maxBuf = (FIXP_DBL*)FDKcalloc(attack + 1, sizeof(FIXP_DBL));
  130|     22|  limiter->delayBuf =
  131|     22|      (FIXP_DBL*)FDKcalloc(attack * maxChannels, sizeof(FIXP_DBL));
  132|       |
  133|     22|  if (!limiter->maxBuf || !limiter->delayBuf) {
  ------------------
  |  Branch (133:7): [True: 0, False: 22]
  |  Branch (133:27): [True: 0, False: 22]
  ------------------
  134|      0|    pcmLimiter_Destroy(limiter);
  135|      0|    return NULL;
  136|      0|  }
  137|       |
  138|       |  /* attackConst = pow(0.1, 1.0 / (attack + 1)) */
  139|     22|  exponent = invFixp(attack + 1);
  140|     22|  attackConst = fPow(FL2FXCONST_DBL(0.1f), 0, exponent, 0, &e_ans);
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|     22|  attackConst = scaleValue(attackConst, e_ans);
  142|       |
  143|       |  /* releaseConst  = (float)pow(0.1, 1.0 / (release + 1)) */
  144|     22|  exponent = invFixp(release + 1);
  145|     22|  releaseConst = fPow(FL2FXCONST_DBL(0.1f), 0, exponent, 0, &e_ans);
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  146|     22|  releaseConst = scaleValue(releaseConst, e_ans);
  147|       |
  148|       |  /* init parameters */
  149|     22|  limiter->attackMs = maxAttackMs;
  150|     22|  limiter->maxAttackMs = maxAttackMs;
  151|     22|  limiter->releaseMs = releaseMs;
  152|     22|  limiter->attack = attack;
  153|     22|  limiter->attackConst = attackConst;
  154|     22|  limiter->releaseConst = releaseConst;
  155|     22|  limiter->threshold = threshold;
  156|     22|  limiter->channels = maxChannels;
  157|     22|  limiter->maxChannels = maxChannels;
  158|     22|  limiter->sampleRate = maxSampleRate;
  159|     22|  limiter->maxSampleRate = maxSampleRate;
  160|       |
  161|     22|  pcmLimiter_Reset(limiter);
  162|       |
  163|     22|  return limiter;
  164|     22|}
pcmLimiter_Reset:
  370|     22|TDLIMITER_ERROR pcmLimiter_Reset(TDLimiterPtr limiter) {
  371|     22|  if (limiter != NULL) {
  ------------------
  |  Branch (371:7): [True: 22, False: 0]
  ------------------
  372|     22|    limiter->maxBufIdx = 0;
  373|     22|    limiter->delayBufIdx = 0;
  374|     22|    limiter->max = (FIXP_DBL)0;
  375|     22|    limiter->cor = FL2FXCONST_DBL(1.0f / (1 << 1));
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  376|     22|    limiter->smoothState0 = FL2FXCONST_DBL(1.0f / (1 << 1));
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|     22|    limiter->minGain = FL2FXCONST_DBL(1.0f / (1 << 1));
  ------------------
  |  |  192|     22|  (FIXP_DBL)(                                                                \
  |  |  193|     22|      ((val) >= 0)                                                           \
  |  |  ------------------
  |  |  |  Branch (193:7): [True: 22, Folded]
  |  |  ------------------
  |  |  194|     22|          ? ((((double)(val) * (DFRACT_FIX_SCALE) + 0.5) >=                  \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (194:14): [Folded, False: 22]
  |  |  ------------------
  |  |  195|     22|              (double)(MAXVAL_DBL))                                          \
  |  |  ------------------
  |  |  |  |  156|     22|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  196|     22|                 ? (LONG)(MAXVAL_DBL)                                        \
  |  |  ------------------
  |  |  |  |  156|      0|  ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
  |  |  ------------------
  |  |  197|     22|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) \
  |  |  ------------------
  |  |  |  |  147|     22|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|     22|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  198|     22|          : ((((double)(val) * (DFRACT_FIX_SCALE)-0.5) <=                    \
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (198:14): [Folded, False: 0]
  |  |  ------------------
  |  |  199|      0|              (double)(MINVAL_DBL_CONST))                                    \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|      0|                 ? (LONG)(MINVAL_DBL_CONST)                                  \
  |  |  ------------------
  |  |  |  |  176|      0|#define MINVAL_DBL_CONST MINVAL_DBL
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|  ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  201|      0|                 : (LONG)((double)(val) * (double)(DFRACT_FIX_SCALE)-0.5)))
  |  |  ------------------
  |  |  |  |  147|      0|#define DFRACT_FIX_SCALE ((INT64(1) << (DFRACT_BITS - 1)))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|      0|#define DFRACT_BITS 32 /* double precision */
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  378|     22|    limiter->scaling = 0;
  379|       |
  380|     22|    FDKmemset(limiter->maxBuf, 0, (limiter->attack + 1) * sizeof(FIXP_DBL));
  381|     22|    FDKmemset(limiter->delayBuf, 0,
  382|     22|              limiter->attack * limiter->channels * sizeof(FIXP_DBL));
  383|     22|  } else {
  384|      0|    return TDLIMIT_INVALID_HANDLE;
  385|      0|  }
  386|       |
  387|     22|  return TDLIMIT_OK;
  388|     22|}
pcmLimiter_Destroy:
  391|     22|TDLIMITER_ERROR pcmLimiter_Destroy(TDLimiterPtr limiter) {
  392|     22|  if (limiter != NULL) {
  ------------------
  |  Branch (392:7): [True: 22, False: 0]
  ------------------
  393|     22|    FDKfree(limiter->maxBuf);
  394|     22|    FDKfree(limiter->delayBuf);
  395|       |
  396|     22|    FDKfree(limiter);
  397|     22|  } else {
  398|      0|    return TDLIMIT_INVALID_HANDLE;
  399|      0|  }
  400|     22|  return TDLIMIT_OK;
  401|     22|}

pcmDmx_Open:
 1622|     22|PCMDMX_ERROR pcmDmx_Open(HANDLE_PCM_DOWNMIX *pSelf) {
 1623|     22|  HANDLE_PCM_DOWNMIX self;
 1624|       |
 1625|     22|  if (pSelf == NULL) {
  ------------------
  |  Branch (1625:7): [True: 0, False: 22]
  ------------------
 1626|      0|    return (PCMDMX_INVALID_HANDLE);
 1627|      0|  }
 1628|       |
 1629|     22|  *pSelf = NULL;
 1630|       |
 1631|     22|  self = (HANDLE_PCM_DOWNMIX)GetPcmDmxInstance(0);
 1632|     22|  if (self == NULL) {
  ------------------
  |  Branch (1632:7): [True: 0, False: 22]
  ------------------
 1633|      0|    return (PCMDMX_OUT_OF_MEMORY);
 1634|      0|  }
 1635|       |
 1636|       |  /* Reset the full instance */
 1637|     22|  pcmDmx_Reset(self, PCMDMX_RESET_FULL);
  ------------------
  |  |  325|     22|#define PCMDMX_RESET_FULL (PCMDMX_RESET_PARAMS | PCMDMX_RESET_BS_DATA)
  |  |  ------------------
  |  |  |  |  323|     22|#define PCMDMX_RESET_PARAMS (1)
  |  |  ------------------
  |  |               #define PCMDMX_RESET_FULL (PCMDMX_RESET_PARAMS | PCMDMX_RESET_BS_DATA)
  |  |  ------------------
  |  |  |  |  324|     22|#define PCMDMX_RESET_BS_DATA (2)
  |  |  ------------------
  ------------------
 1638|       |
 1639|     22|  *pSelf = self;
 1640|       |
 1641|     22|  return (PCMDMX_OK);
 1642|     22|}
pcmDmx_Reset:
 1649|     22|PCMDMX_ERROR pcmDmx_Reset(HANDLE_PCM_DOWNMIX self, UINT flags) {
 1650|     22|  if (self == NULL) {
  ------------------
  |  Branch (1650:7): [True: 0, False: 22]
  ------------------
 1651|      0|    return (PCMDMX_INVALID_HANDLE);
 1652|      0|  }
 1653|       |
 1654|     22|  if (flags & PCMDMX_RESET_PARAMS) {
  ------------------
  |  |  323|     22|#define PCMDMX_RESET_PARAMS (1)
  ------------------
  |  Branch (1654:7): [True: 22, False: 0]
  ------------------
 1655|     22|    PCM_DMX_USER_PARAMS *pParams = &self->userParams;
 1656|       |
 1657|     22|    pParams->dualChannelMode = STEREO_MODE;
 1658|     22|    pParams->pseudoSurrMode = NEVER_DO_PS_DMX;
 1659|     22|    pParams->numOutChannelsMax = (6);
 1660|     22|    pParams->numOutChannelsMin = (0);
 1661|     22|    pParams->frameDelay = 0;
 1662|     22|    pParams->expiryFrame = (0);
 1663|       |
 1664|     22|    self->applyProcessing = 0;
 1665|     22|  }
 1666|       |
 1667|     22|  if (flags & PCMDMX_RESET_BS_DATA) {
  ------------------
  |  |  324|     22|#define PCMDMX_RESET_BS_DATA (2)
  ------------------
  |  Branch (1667:7): [True: 22, False: 0]
  ------------------
 1668|     22|    int slot;
 1669|       |    /* Init all slots with a default set */
 1670|     66|    for (slot = 0; slot <= (1); slot += 1) {
  ------------------
  |  Branch (1670:20): [True: 44, False: 22]
  ------------------
 1671|     44|      FDKmemcpy(&self->bsMetaData[slot], &dfltMetaData,
 1672|     44|                sizeof(DMX_BS_META_DATA));
 1673|     44|    }
 1674|     22|  }
 1675|       |
 1676|     22|  return (PCMDMX_OK);
 1677|     22|}
pcmDmx_SetParam:
 1686|     22|                             const INT value) {
 1687|     22|  switch (param) {
 1688|      0|    case DMX_PROFILE_SETTING:
  ------------------
  |  Branch (1688:5): [True: 0, False: 22]
  ------------------
 1689|      0|      switch ((DMX_PROFILE_TYPE)value) {
 1690|      0|        case DMX_PRFL_STANDARD:
  ------------------
  |  Branch (1690:9): [True: 0, False: 0]
  ------------------
 1691|      0|        case DMX_PRFL_MATRIX_MIX:
  ------------------
  |  Branch (1691:9): [True: 0, False: 0]
  ------------------
 1692|      0|        case DMX_PRFL_FORCE_MATRIX_MIX:
  ------------------
  |  Branch (1692:9): [True: 0, False: 0]
  ------------------
 1693|      0|        case DMX_PRFL_ARIB_JAPAN:
  ------------------
  |  Branch (1693:9): [True: 0, False: 0]
  ------------------
 1694|      0|          break;
 1695|      0|        default:
  ------------------
  |  Branch (1695:9): [True: 0, False: 0]
  ------------------
 1696|      0|          return (PCMDMX_UNABLE_TO_SET_PARAM);
 1697|      0|      }
 1698|      0|      if (self == NULL) return (PCMDMX_INVALID_HANDLE);
  ------------------
  |  Branch (1698:11): [True: 0, False: 0]
  ------------------
 1699|      0|      self->userParams.dmxProfile = (DMX_PROFILE_TYPE)value;
 1700|      0|      break;
 1701|       |
 1702|      0|    case DMX_BS_DATA_EXPIRY_FRAME:
  ------------------
  |  Branch (1702:5): [True: 0, False: 22]
  ------------------
 1703|      0|      if (self == NULL) return (PCMDMX_INVALID_HANDLE);
  ------------------
  |  Branch (1703:11): [True: 0, False: 0]
  ------------------
 1704|      0|      self->userParams.expiryFrame = (value > 0) ? (UINT)value : 0;
  ------------------
  |  Branch (1704:38): [True: 0, False: 0]
  ------------------
 1705|      0|      break;
 1706|       |
 1707|     22|    case DMX_BS_DATA_DELAY:
  ------------------
  |  Branch (1707:5): [True: 22, False: 0]
  ------------------
 1708|     22|      if ((value > (1)) || (value < 0)) {
  ------------------
  |  Branch (1708:11): [True: 0, False: 22]
  |  Branch (1708:28): [True: 0, False: 22]
  ------------------
 1709|      0|        return (PCMDMX_UNABLE_TO_SET_PARAM);
 1710|      0|      }
 1711|     22|      if (self == NULL) {
  ------------------
  |  Branch (1711:11): [True: 0, False: 22]
  ------------------
 1712|      0|        return (PCMDMX_INVALID_HANDLE);
 1713|      0|      }
 1714|     22|      self->userParams.frameDelay = (UCHAR)value;
 1715|     22|      break;
 1716|       |
 1717|      0|    case MIN_NUMBER_OF_OUTPUT_CHANNELS:
  ------------------
  |  Branch (1717:5): [True: 0, False: 22]
  ------------------
 1718|      0|      switch (value) { /* supported output channels */
 1719|      0|        case -1:
  ------------------
  |  Branch (1719:9): [True: 0, False: 0]
  ------------------
 1720|      0|        case 0:
  ------------------
  |  Branch (1720:9): [True: 0, False: 0]
  ------------------
 1721|      0|        case ONE_CHANNEL:
  ------------------
  |  |  173|      0|#define ONE_CHANNEL (1)
  ------------------
  |  Branch (1721:9): [True: 0, False: 0]
  ------------------
 1722|      0|        case TWO_CHANNEL:
  ------------------
  |  |  174|      0|#define TWO_CHANNEL (2)
  ------------------
  |  Branch (1722:9): [True: 0, False: 0]
  ------------------
 1723|      0|        case SIX_CHANNEL:
  ------------------
  |  |  175|      0|#define SIX_CHANNEL (6)
  ------------------
  |  Branch (1723:9): [True: 0, False: 0]
  ------------------
 1724|      0|        case EIGHT_CHANNEL:
  ------------------
  |  |  176|      0|#define EIGHT_CHANNEL (8)
  ------------------
  |  Branch (1724:9): [True: 0, False: 0]
  ------------------
 1725|      0|          break;
 1726|      0|        default:
  ------------------
  |  Branch (1726:9): [True: 0, False: 0]
  ------------------
 1727|      0|          return (PCMDMX_UNABLE_TO_SET_PARAM);
 1728|      0|      }
 1729|      0|      if (self == NULL) return (PCMDMX_INVALID_HANDLE);
  ------------------
  |  Branch (1729:11): [True: 0, False: 0]
  ------------------
 1730|       |      /* Store the new value */
 1731|      0|      self->userParams.numOutChannelsMin = (value > 0) ? (SHORT)value : -1;
  ------------------
  |  Branch (1731:44): [True: 0, False: 0]
  ------------------
 1732|      0|      if ((value > 0) && (self->userParams.numOutChannelsMax > 0) &&
  ------------------
  |  Branch (1732:11): [True: 0, False: 0]
  |  Branch (1732:26): [True: 0, False: 0]
  ------------------
 1733|      0|          (value > self->userParams
  ------------------
  |  Branch (1733:11): [True: 0, False: 0]
  ------------------
 1734|      0|                       .numOutChannelsMax)) { /* MIN > MAX would be an invalid
 1735|       |                                                 state. Thus set MAX = MIN in
 1736|       |                                                 this case. */
 1737|      0|        self->userParams.numOutChannelsMax = self->userParams.numOutChannelsMin;
 1738|      0|      }
 1739|      0|      break;
 1740|       |
 1741|      0|    case MAX_NUMBER_OF_OUTPUT_CHANNELS:
  ------------------
  |  Branch (1741:5): [True: 0, False: 22]
  ------------------
 1742|      0|      switch (value) { /* supported output channels */
 1743|      0|        case -1:
  ------------------
  |  Branch (1743:9): [True: 0, False: 0]
  ------------------
 1744|      0|        case 0:
  ------------------
  |  Branch (1744:9): [True: 0, False: 0]
  ------------------
 1745|      0|        case ONE_CHANNEL:
  ------------------
  |  |  173|      0|#define ONE_CHANNEL (1)
  ------------------
  |  Branch (1745:9): [True: 0, False: 0]
  ------------------
 1746|      0|        case TWO_CHANNEL:
  ------------------
  |  |  174|      0|#define TWO_CHANNEL (2)
  ------------------
  |  Branch (1746:9): [True: 0, False: 0]
  ------------------
 1747|      0|        case SIX_CHANNEL:
  ------------------
  |  |  175|      0|#define SIX_CHANNEL (6)
  ------------------
  |  Branch (1747:9): [True: 0, False: 0]
  ------------------
 1748|      0|        case EIGHT_CHANNEL:
  ------------------
  |  |  176|      0|#define EIGHT_CHANNEL (8)
  ------------------
  |  Branch (1748:9): [True: 0, False: 0]
  ------------------
 1749|      0|          break;
 1750|      0|        default:
  ------------------
  |  Branch (1750:9): [True: 0, False: 0]
  ------------------
 1751|      0|          return (PCMDMX_UNABLE_TO_SET_PARAM);
 1752|      0|      }
 1753|      0|      if (self == NULL) return (PCMDMX_INVALID_HANDLE);
  ------------------
  |  Branch (1753:11): [True: 0, False: 0]
  ------------------
 1754|       |      /* Store the new value */
 1755|      0|      self->userParams.numOutChannelsMax = (value > 0) ? (SHORT)value : -1;
  ------------------
  |  Branch (1755:44): [True: 0, False: 0]
  ------------------
 1756|      0|      if ((value > 0) &&
  ------------------
  |  Branch (1756:11): [True: 0, False: 0]
  ------------------
 1757|      0|          (value < self->userParams
  ------------------
  |  Branch (1757:11): [True: 0, False: 0]
  ------------------
 1758|      0|                       .numOutChannelsMin)) { /* MAX < MIN would be an invalid
 1759|       |                                                 state. Thus set MIN = MAX in
 1760|       |                                                 this case. */
 1761|      0|        self->userParams.numOutChannelsMin = self->userParams.numOutChannelsMax;
 1762|      0|      }
 1763|      0|      break;
 1764|       |
 1765|      0|    case DMX_DUAL_CHANNEL_MODE:
  ------------------
  |  Branch (1765:5): [True: 0, False: 22]
  ------------------
 1766|      0|      switch ((DUAL_CHANNEL_MODE)value) {
 1767|      0|        case STEREO_MODE:
  ------------------
  |  Branch (1767:9): [True: 0, False: 0]
  ------------------
 1768|      0|        case CH1_MODE:
  ------------------
  |  Branch (1768:9): [True: 0, False: 0]
  ------------------
 1769|      0|        case CH2_MODE:
  ------------------
  |  Branch (1769:9): [True: 0, False: 0]
  ------------------
 1770|      0|        case MIXED_MODE:
  ------------------
  |  Branch (1770:9): [True: 0, False: 0]
  ------------------
 1771|      0|          break;
 1772|      0|        default:
  ------------------
  |  Branch (1772:9): [True: 0, False: 0]
  ------------------
 1773|      0|          return (PCMDMX_UNABLE_TO_SET_PARAM);
 1774|      0|      }
 1775|      0|      if (self == NULL) return (PCMDMX_INVALID_HANDLE);
  ------------------
  |  Branch (1775:11): [True: 0, False: 0]
  ------------------
 1776|      0|      self->userParams.dualChannelMode = (DUAL_CHANNEL_MODE)value;
 1777|      0|      self->applyProcessing = ((DUAL_CHANNEL_MODE)value != STEREO_MODE)
  ------------------
  |  Branch (1777:31): [True: 0, False: 0]
  ------------------
 1778|      0|                                  ? 1
 1779|      0|                                  : 0; /* Force processing if necessary. */
 1780|      0|      break;
 1781|       |
 1782|      0|    case DMX_PSEUDO_SURROUND_MODE:
  ------------------
  |  Branch (1782:5): [True: 0, False: 22]
  ------------------
 1783|      0|      switch ((PSEUDO_SURROUND_MODE)value) {
 1784|      0|        case NEVER_DO_PS_DMX:
  ------------------
  |  Branch (1784:9): [True: 0, False: 0]
  ------------------
 1785|      0|        case AUTO_PS_DMX:
  ------------------
  |  Branch (1785:9): [True: 0, False: 0]
  ------------------
 1786|      0|        case FORCE_PS_DMX:
  ------------------
  |  Branch (1786:9): [True: 0, False: 0]
  ------------------
 1787|      0|          break;
 1788|      0|        default:
  ------------------
  |  Branch (1788:9): [True: 0, False: 0]
  ------------------
 1789|      0|          return (PCMDMX_UNABLE_TO_SET_PARAM);
 1790|      0|      }
 1791|      0|      if (self == NULL) return (PCMDMX_INVALID_HANDLE);
  ------------------
  |  Branch (1791:11): [True: 0, False: 0]
  ------------------
 1792|      0|      self->userParams.pseudoSurrMode = (PSEUDO_SURROUND_MODE)value;
 1793|      0|      break;
 1794|       |
 1795|      0|    default:
  ------------------
  |  Branch (1795:5): [True: 0, False: 22]
  ------------------
 1796|      0|      return (PCMDMX_UNKNOWN_PARAM);
 1797|     22|  }
 1798|       |
 1799|     22|  return (PCMDMX_OK);
 1800|     22|}
pcmDmx_Close:
 2635|     22|PCMDMX_ERROR pcmDmx_Close(HANDLE_PCM_DOWNMIX *pSelf) {
 2636|     22|  if (pSelf == NULL) {
  ------------------
  |  Branch (2636:7): [True: 0, False: 22]
  ------------------
 2637|      0|    return (PCMDMX_INVALID_HANDLE);
 2638|      0|  }
 2639|       |
 2640|     22|  FreePcmDmxInstance(pSelf);
 2641|     22|  *pSelf = NULL;
 2642|       |
 2643|     22|  return (PCMDMX_OK);
 2644|     22|}

_Z23SpatialDecCreateBsFrameP23SPATIAL_BS_FRAME_structP11BS_LL_STATE:
 2110|     22|                                     BS_LL_STATE *llState) {
 2111|     22|  SPATIAL_BS_FRAME *pBs = bsFrame;
 2112|       |
 2113|     22|  const int maxNumOtt = MAX_NUM_OTT;
  ------------------
  |  |  115|     22|#define MAX_NUM_OTT (5)
  ------------------
 2114|     22|  const int maxNumInputChannels = MAX_INPUT_CHANNELS;
  ------------------
  |  |  110|     22|#define MAX_INPUT_CHANNELS 1
  ------------------
 2115|       |
 2116|     22|  FDK_ALLOCATE_MEMORY_1D_P(
  ------------------
  |  |  160|     22|  if (((a) = (ptype)fdkCallocMatrix1D((dim1), sizeof(type))) == NULL) { \
  |  |  ------------------
  |  |  |  Branch (160:7): [True: 0, False: 22]
  |  |  ------------------
  |  |  161|      0|    goto bail;                                                          \
  |  |  162|      0|  }
  ------------------
 2117|     22|      pBs->cmpOttIPDidx, maxNumOtt * MAX_PARAMETER_SETS * MAX_PARAMETER_BANDS,
 2118|     22|      SCHAR, SCHAR(*)[MAX_PARAMETER_SETS][MAX_PARAMETER_BANDS])
 2119|       |
 2120|       |  /* Arbitrary Downmix */
 2121|     22|  FDK_ALLOCATE_MEMORY_1D_P(
  ------------------
  |  |  160|     22|  if (((a) = (ptype)fdkCallocMatrix1D((dim1), sizeof(type))) == NULL) { \
  |  |  ------------------
  |  |  |  Branch (160:7): [True: 0, False: 22]
  |  |  ------------------
  |  |  161|      0|    goto bail;                                                          \
  |  |  162|      0|  }
  ------------------
 2122|     22|      pBs->cmpArbdmxGainIdx,
 2123|     22|      maxNumInputChannels * MAX_PARAMETER_SETS * MAX_PARAMETER_BANDS, SCHAR,
 2124|     22|      SCHAR(*)[MAX_PARAMETER_SETS][MAX_PARAMETER_BANDS])
 2125|       |
 2126|       |  /* Lossless control */
 2127|     22|  FDK_ALLOCATE_MEMORY_1D(pBs->CLDLosslessData, MAX_NUM_PARAMETERS, LOSSLESSDATA)
  ------------------
  |  |  149|     44|  if (((a) = (type*)fdkCallocMatrix1D((dim1), sizeof(type))) == NULL) { \
  |  |  ------------------
  |  |  |  Branch (149:7): [True: 0, False: 22]
  |  |  |  Branch (149:40): [True: 22, Folded]
  |  |  ------------------
  |  |  150|      0|    goto bail;                                                          \
  |  |  151|      0|  }
  ------------------
 2128|     22|  FDK_ALLOCATE_MEMORY_1D(pBs->ICCLosslessData, MAX_NUM_PARAMETERS, LOSSLESSDATA)
  ------------------
  |  |  149|     44|  if (((a) = (type*)fdkCallocMatrix1D((dim1), sizeof(type))) == NULL) { \
  |  |  ------------------
  |  |  |  Branch (149:7): [True: 0, False: 22]
  |  |  |  Branch (149:40): [True: 22, Folded]
  |  |  ------------------
  |  |  150|      0|    goto bail;                                                          \
  |  |  151|      0|  }
  ------------------
 2129|       |
 2130|     22|  FDK_ALLOCATE_MEMORY_1D(pBs->IPDLosslessData, MAX_NUM_PARAMETERS, LOSSLESSDATA)
  ------------------
  |  |  149|     44|  if (((a) = (type*)fdkCallocMatrix1D((dim1), sizeof(type))) == NULL) { \
  |  |  ------------------
  |  |  |  Branch (149:7): [True: 0, False: 22]
  |  |  |  Branch (149:40): [True: 22, Folded]
  |  |  ------------------
  |  |  150|      0|    goto bail;                                                          \
  |  |  151|      0|  }
  ------------------
 2131|       |
 2132|     22|  pBs->newBsData = 0;
 2133|     22|  pBs->numParameterSets = 1;
 2134|       |
 2135|       |  /* Link lossless states */
 2136|    154|  for (int x = 0; x < MAX_NUM_PARAMETERS; x++) {
  ------------------
  |  |  154|    154|#define MAX_NUM_PARAMETERS (MAX(MAX_NUM_PARAMS, MAX_NUM_OTT))
  |  |  ------------------
  |  |  |  |  123|    154|#define MAX(a, b) ((a) > (b) ? (a) : (b))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (123:20): [True: 154, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (2136:19): [True: 132, False: 22]
  ------------------
 2137|    132|    pBs->CLDLosslessData[x].state = &llState->CLDLosslessState[x];
 2138|    132|    pBs->ICCLosslessData[x].state = &llState->ICCLosslessState[x];
 2139|       |
 2140|    132|    pBs->IPDLosslessData[x].state = &llState->IPDLosslessState[x];
 2141|    132|  }
 2142|       |
 2143|     22|  return MPS_OK;
 2144|       |
 2145|      0|bail:
 2146|      0|  return MPS_OUTOFMEMORY;
 2147|     22|}
_Z22SpatialDecCloseBsFrameP23SPATIAL_BS_FRAME_struct:
 2160|     22|void SpatialDecCloseBsFrame(SPATIAL_BS_FRAME *pBs) {
 2161|     22|  if (pBs != NULL) {
  ------------------
  |  Branch (2161:7): [True: 22, False: 0]
  ------------------
 2162|       |    /* These arrays contain the compact indices, only one value per pbstride,
 2163|       |     * only paramsets actually containing data. */
 2164|       |
 2165|     22|    FDK_FREE_MEMORY_1D(pBs->cmpOttIPDidx);
  ------------------
  |  |  171|     22|  do {                           \
  |  |  172|     22|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|     22|    (a) = NULL;                  \
  |  |  174|     22|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 22]
  |  |  ------------------
  ------------------
 2166|       |
 2167|       |    /* Arbitrary Downmix */
 2168|     22|    FDK_FREE_MEMORY_1D(pBs->cmpArbdmxGainIdx);
  ------------------
  |  |  171|     22|  do {                           \
  |  |  172|     22|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|     22|    (a) = NULL;                  \
  |  |  174|     22|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 22]
  |  |  ------------------
  ------------------
 2169|       |
 2170|       |    /* Lossless control */
 2171|     22|    FDK_FREE_MEMORY_1D(pBs->IPDLosslessData);
  ------------------
  |  |  171|     22|  do {                           \
  |  |  172|     22|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|     22|    (a) = NULL;                  \
  |  |  174|     22|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 22]
  |  |  ------------------
  ------------------
 2172|     22|    FDK_FREE_MEMORY_1D(pBs->CLDLosslessData);
  ------------------
  |  |  171|     22|  do {                           \
  |  |  172|     22|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|     22|    (a) = NULL;                  \
  |  |  174|     22|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 22]
  |  |  ------------------
  ------------------
 2173|       |    FDK_FREE_MEMORY_1D(pBs->ICCLosslessData);
  ------------------
  |  |  171|     22|  do {                           \
  |  |  172|     22|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|     22|    (a) = NULL;                  \
  |  |  174|     22|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 22]
  |  |  ------------------
  ------------------
 2174|     22|  }
 2175|     22|}

FDK_SpatialDecClose:
  916|     22|void FDK_SpatialDecClose(spatialDec *self) {
  917|     22|  if (self) {
  ------------------
  |  Branch (917:7): [True: 0, False: 22]
  ------------------
  918|      0|    int k;
  919|       |
  920|      0|    if (self->apDecor != NULL) {
  ------------------
  |  Branch (920:9): [True: 0, False: 0]
  ------------------
  921|      0|      for (k = 0; k < self->createParams.maxNumDecorChannels; k++) {
  ------------------
  |  Branch (921:19): [True: 0, False: 0]
  ------------------
  922|      0|        FDKdecorrelateClose(&(self->apDecor[k]));
  923|      0|      }
  924|      0|      FDK_FREE_MEMORY_1D(self->apDecor);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  925|      0|    }
  926|      0|    if (self->pDecorBufferCplx != NULL) {
  ------------------
  |  Branch (926:9): [True: 0, False: 0]
  ------------------
  927|      0|      FDK_FREE_MEMORY_2D(self->pDecorBufferCplx);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  928|      0|    }
  929|       |
  930|      0|    subbandTPDestroy(&self->hStpDec);
  931|       |
  932|      0|    FDK_FREE_MEMORY_1D(self->reshapeBBEnvState);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  933|      0|    FDK_FREE_MEMORY_1D(self->smoothState);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  934|       |
  935|      0|    FDK_FREE_MEMORY_2D(self->pHybridAnaStatesLFdmx);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  936|      0|    FDK_FREE_MEMORY_2D(self->pHybridAnaStatesHFdmx);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  937|      0|    FDK_FREE_MEMORY_2D(self->pHybridAnaStatesLFres);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  938|      0|    FDK_FREE_MEMORY_2D(self->pHybridAnaStatesHFres);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  939|      0|    FDK_FREE_MEMORY_1D(self->hybridAnalysis);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  940|       |
  941|      0|    FDK_FREE_MEMORY_1D(self->hybridSynthesis);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  942|       |
  943|       |    /* The time buffer is passed to the decoder from outside to avoid copying
  944|       |     * (zero copy). */
  945|       |    /* FDK_FREE_MEMORY_2D(self->timeOut__FDK); */
  946|       |
  947|      0|    FDK_FREE_MEMORY_2D(self->hybOutputImagWet__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  948|      0|    FDK_FREE_MEMORY_2D(self->hybOutputRealWet__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  949|       |
  950|      0|    FDK_FREE_MEMORY_2D(self->hybOutputImagDry__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  951|      0|    FDK_FREE_MEMORY_2D(self->hybOutputRealDry__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  952|       |
  953|      0|    FDK_FREE_MEMORY_2D(self->wImag__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  954|      0|    FDK_FREE_MEMORY_2D(self->wReal__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  955|       |
  956|      0|    if (self->createParams.bProcResidual) {
  ------------------
  |  Branch (956:9): [True: 0, False: 0]
  ------------------
  957|      0|      int i;
  958|       |
  959|      0|      for (i = 0; i < self->createParams.maxNumResChannels; i++) {
  ------------------
  |  Branch (959:19): [True: 0, False: 0]
  ------------------
  960|      0|        if (self->hybResidualImag__FDK != NULL)
  ------------------
  |  Branch (960:13): [True: 0, False: 0]
  ------------------
  961|      0|          FDK_FREE_MEMORY_1D(self->hybResidualImag__FDK[i]);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  962|      0|        if (self->hybResidualReal__FDK != NULL)
  ------------------
  |  Branch (962:13): [True: 0, False: 0]
  ------------------
  963|      0|          FDK_FREE_MEMORY_1D(self->hybResidualReal__FDK[i]);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  964|      0|        if (self->qmfResidualImag__FDK != NULL)
  ------------------
  |  Branch (964:13): [True: 0, False: 0]
  ------------------
  965|      0|          FDK_FREE_MEMORY_2D_ALIGNED(self->qmfResidualImag__FDK[i]);
  ------------------
  |  |  207|      0|  do {                                    \
  |  |  208|      0|    fdkFreeMatrix2D_aligned((void**)(a)); \
  |  |  209|      0|    (a) = NULL;                           \
  |  |  210|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (210:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  966|      0|        if (self->qmfResidualReal__FDK != NULL)
  ------------------
  |  Branch (966:13): [True: 0, False: 0]
  ------------------
  967|      0|          FDK_FREE_MEMORY_2D_ALIGNED(self->qmfResidualReal__FDK[i]);
  ------------------
  |  |  207|      0|  do {                                    \
  |  |  208|      0|    fdkFreeMatrix2D_aligned((void**)(a)); \
  |  |  209|      0|    (a) = NULL;                           \
  |  |  210|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (210:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  968|      0|      }
  969|       |
  970|      0|      FDK_FREE_MEMORY_1D(self->hybResidualImag__FDK);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  971|      0|      FDK_FREE_MEMORY_1D(self->hybResidualReal__FDK);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  972|       |
  973|      0|      FDK_FREE_MEMORY_1D(self->qmfResidualImag__FDK);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  974|      0|      FDK_FREE_MEMORY_1D(self->qmfResidualReal__FDK);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  975|       |
  976|      0|    } /* self->createParams.bProcResidual */
  977|       |
  978|      0|    FDK_FREE_MEMORY_2D(self->hybInputImag__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  979|      0|    FDK_FREE_MEMORY_2D(self->hybInputReal__FDK);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  980|       |
  981|      0|    FDK_FREE_MEMORY_2D_ALIGNED(self->qmfInputImag__FDK);
  ------------------
  |  |  207|      0|  do {                                    \
  |  |  208|      0|    fdkFreeMatrix2D_aligned((void**)(a)); \
  |  |  209|      0|    (a) = NULL;                           \
  |  |  210|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (210:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  982|      0|    FDK_FREE_MEMORY_2D_ALIGNED(self->qmfInputReal__FDK);
  ------------------
  |  |  207|      0|  do {                                    \
  |  |  208|      0|    fdkFreeMatrix2D_aligned((void**)(a)); \
  |  |  209|      0|    (a) = NULL;                           \
  |  |  210|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (210:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  983|       |
  984|      0|    FDK_FREE_MEMORY_3D(self->M2ImagPrev__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  985|       |
  986|      0|    FDK_FREE_MEMORY_3D(self->M2RealPrev__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  987|       |
  988|      0|    FDK_FREE_MEMORY_3D(self->M2Imag__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  989|       |
  990|      0|    FDK_FREE_MEMORY_3D(self->M2Real__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  991|       |
  992|      0|    FDK_FREE_MEMORY_1D(self->arbdmxAlphaPrev__FDK);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  993|      0|    FDK_FREE_MEMORY_1D(self->arbdmxAlpha__FDK);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  994|       |
  995|      0|    FDK_FREE_MEMORY_3D(self->arbdmxGain__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  996|       |
  997|      0|    FDK_FREE_MEMORY_3D(self->ottIPD__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  998|      0|    FDK_FREE_MEMORY_3D(self->ottICC__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
  999|      0|    FDK_FREE_MEMORY_3D(self->ottCLD__FDK);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1000|       |
 1001|       |    /* Last parameters from prev frame */
 1002|      0|    FDK_FREE_MEMORY_2D(self->ottCLDidxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1003|      0|    FDK_FREE_MEMORY_2D(self->ottICCidxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1004|      0|    FDK_FREE_MEMORY_3D(self->ottICCdiffidx);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1005|      0|    FDK_FREE_MEMORY_2D(self->ottIPDidxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1006|      0|    FDK_FREE_MEMORY_2D(self->arbdmxGainIdxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1007|       |
 1008|      0|    FDK_FREE_MEMORY_2D(self->cmpOttCLDidxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1009|      0|    FDK_FREE_MEMORY_2D(self->cmpOttICCidxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1010|      0|    FDK_FREE_MEMORY_3D(self->outIdxData);
  ------------------
  |  |  225|      0|  do {                             \
  |  |  226|      0|    fdkFreeMatrix3D((void***)(a)); \
  |  |  227|      0|    (a) = NULL;                    \
  |  |  228|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (228:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1011|      0|    FDK_FREE_MEMORY_2D(self->cmpOttIPDidxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1012|      0|    FDK_FREE_MEMORY_2D(self->cmpArbdmxGainIdxPrev);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1013|       |
 1014|      0|    FDK_FREE_MEMORY_2D(self->smgData);
  ------------------
  |  |  201|      0|  do {                            \
  |  |  202|      0|    fdkFreeMatrix2D((void**)(a)); \
  |  |  203|      0|    (a) = NULL;                   \
  |  |  204|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (204:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1015|      0|    FDK_FREE_MEMORY_1D(self->smgTime);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1016|       |
 1017|      0|    FDK_FREE_MEMORY_1D(self->numOttBands);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1018|       |
 1019|      0|    FDK_FREE_MEMORY_1D(self->param2hyb);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1020|       |
 1021|      0|    FDK_FREE_MEMORY_1D(self);
  ------------------
  |  |  171|      0|  do {                           \
  |  |  172|      0|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|      0|    (a) = NULL;                  \
  |  |  174|      0|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1022|      0|  }
 1023|       |
 1024|     22|  return;
 1025|     22|}

mpegSurroundDecoder_Open:
  390|     22|    HANDLE_FDK_QMF_DOMAIN pQmfDomain) {
  391|     22|  SACDEC_ERROR error;
  392|       |
  393|     22|  error = mpegSurroundDecoder_Create(pMpegSurroundDecoder, stereoConfigIndex,
  394|     22|                                     pQmfDomain);
  395|       |
  396|     22|  return error;
  397|     22|}
mpegSurroundDecoder_Close:
 1789|     22|void mpegSurroundDecoder_Close(CMpegSurroundDecoder *pMpegSurroundDecoder) {
 1790|     22|  if (pMpegSurroundDecoder != NULL) {
  ------------------
  |  Branch (1790:7): [True: 22, False: 0]
  ------------------
 1791|     22|    FDK_SpatialDecClose(pMpegSurroundDecoder->pSpatialDec);
 1792|     22|    pMpegSurroundDecoder->pSpatialDec = NULL;
 1793|       |
 1794|     44|    for (int i = 0; i < 1; i++) {
  ------------------
  |  Branch (1794:21): [True: 22, False: 22]
  ------------------
 1795|     22|      SpatialDecCloseBsFrame(&pMpegSurroundDecoder->bsFrames[i]);
 1796|     22|    }
 1797|       |
 1798|       |    FDK_FREE_MEMORY_1D(pMpegSurroundDecoder);
  ------------------
  |  |  171|     22|  do {                           \
  |  |  172|     22|    fdkFreeMatrix1D((void*)(a)); \
  |  |  173|     22|    (a) = NULL;                  \
  |  |  174|     22|  } while (0)
  |  |  ------------------
  |  |  |  Branch (174:12): [Folded, False: 22]
  |  |  ------------------
  ------------------
 1799|     22|  }
 1800|     22|}
sac_dec_lib.cpp:_ZL26mpegSurroundDecoder_CreatePP19MpegSurroundDecoderiP14FDK_QMF_DOMAIN:
  614|     22|    HANDLE_FDK_QMF_DOMAIN pQmfDomain) {
  615|     22|  SACDEC_ERROR err = MPS_OK;
  616|     22|  CMpegSurroundDecoder *sacDec = NULL;
  617|     22|  spatialDec *self = NULL;
  618|       |
  619|       |  /* decoderLevel  decoderMode  maxNumOutputChannels  binauralMode */
  620|     22|  static const SPATIAL_DEC_CONFIG decConfig = {
  621|     22|      (CFG_LEVEL)(0), EXT_HQ_ONLY, OUTPUT_CHANNELS_DEFAULT, BINAURAL_NONE};
  622|       |
  623|     22|  if (*pMpegSurroundDecoder == NULL) {
  ------------------
  |  Branch (623:7): [True: 22, False: 0]
  ------------------
  624|     22|    FDK_ALLOCATE_MEMORY_1D(*pMpegSurroundDecoder, 1, CMpegSurroundDecoder)
  ------------------
  |  |  149|     22|  if (((a) = (type*)fdkCallocMatrix1D((dim1), sizeof(type))) == NULL) { \
  |  |  ------------------
  |  |  |  Branch (149:7): [True: 0, False: 22]
  |  |  ------------------
  |  |  150|      0|    goto bail;                                                          \
  |  |  151|      0|  }
  ------------------
  625|       |
  626|     44|    for (int i = 0; i < 1; i++) {
  ------------------
  |  Branch (626:21): [True: 22, False: 22]
  ------------------
  627|     22|      err = SpatialDecCreateBsFrame(&(*pMpegSurroundDecoder)->bsFrames[i],
  628|     22|                                    &(*pMpegSurroundDecoder)->llState);
  629|     22|      if (err != MPS_OK) {
  ------------------
  |  Branch (629:11): [True: 0, False: 22]
  ------------------
  630|      0|        sacDec = *pMpegSurroundDecoder;
  631|      0|        goto bail;
  632|      0|      }
  633|     22|    }
  634|     22|    (*pMpegSurroundDecoder)->pQmfDomain = pQmfDomain;
  635|       |
  636|     22|    (*pMpegSurroundDecoder)->bsFrameDelay = 1;
  637|     22|    (*pMpegSurroundDecoder)->bsFrameParse = 0;
  638|     22|    (*pMpegSurroundDecoder)->bsFrameDecode = 0;
  639|       |
  640|     22|    return err;
  641|     22|  } else {
  642|      0|    sacDec = *pMpegSurroundDecoder;
  643|      0|  }
  644|       |
  645|      0|  if (sacDec->pSpatialDec == NULL) {
  ------------------
  |  Branch (645:7): [True: 0, False: 0]
  ------------------
  646|      0|    if ((self = FDK_SpatialDecOpen(&decConfig, stereoConfigIndex)) == NULL) {
  ------------------
  |  Branch (646:9): [True: 0, False: 0]
  ------------------
  647|      0|      err = MPS_OUTOFMEMORY;
  648|      0|      goto bail;
  649|      0|    }
  650|      0|  } else {
  651|      0|    self = sacDec->pSpatialDec;
  652|      0|  }
  653|       |
  654|      0|  self->pQmfDomain = sacDec->pQmfDomain;
  655|       |
  656|      0|  sacDec->pSpatialDec = self;
  657|       |
  658|       |  /* default parameter set */
  659|      0|  sacDec->mpegSurroundUserParams.outputMode = SACDEC_OUT_MODE_NORMAL;
  660|      0|  sacDec->mpegSurroundUserParams.blindEnable = 0;
  661|      0|  sacDec->mpegSurroundUserParams.bypassMode = 0;
  662|      0|  sacDec->mpegSurroundUserParams.concealMethod = 1;
  663|      0|  sacDec->mpegSurroundUserParams.concealNumKeepFrames = 10;
  664|      0|  sacDec->mpegSurroundUserParams.concealFadeOutSlopeLength = 5;
  665|      0|  sacDec->mpegSurroundUserParams.concealFadeInSlopeLength = 5;
  666|      0|  sacDec->mpegSurroundUserParams.concealNumReleaseFrames = 3;
  667|      0|  sacDec->mpegSurroundSscIsGlobalCfg = 0;
  668|      0|  sacDec->mpegSurroundUseTimeInterface = 1;
  669|      0|  sacDec->mpegSurroundDecoderLevel = decConfig.decoderLevel;
  670|       |
  671|      0|  sacDec->upmixType = UPMIX_TYPE_NORMAL;
  672|       |
  673|       |  /* signalize spatial decoder re-initalization */
  674|      0|  updateMpegSurroundDecoderStatus(sacDec, MPEGS_INIT_ENFORCE_REINIT,
  675|      0|                                  MPEGS_SYNC_LOST, MPEGS_STOP);
  676|       |
  677|       |  /* return decoder instance */
  678|      0|  *pMpegSurroundDecoder = sacDec;
  679|      0|  sacDec->decConfig = decConfig;
  680|       |
  681|      0|  SpatialDecInitParserContext(sacDec->pSpatialDec);
  682|       |
  683|      0|  return err;
  684|       |
  685|      0|bail:
  686|      0|  if (sacDec != NULL) {
  ------------------
  |  Branch (686:7): [True: 0, False: 0]
  ------------------
  687|      0|    mpegSurroundDecoder_Close(sacDec);
  688|      0|  }
  689|      0|  *pMpegSurroundDecoder = NULL;
  690|      0|  if (err == MPS_OK) {
  ------------------
  |  Branch (690:7): [True: 0, False: 0]
  ------------------
  691|      0|    return MPS_OUTOFMEMORY;
  692|      0|  } else {
  693|      0|    return err;
  694|      0|  }
  695|      0|}

sbrDecoder_Open:
  447|     22|                          HANDLE_FDK_QMF_DOMAIN pQmfDomain) {
  448|     22|  HANDLE_SBRDECODER self = NULL;
  449|     22|  SBR_ERROR sbrError = SBRDEC_OK;
  450|     22|  int elIdx;
  451|       |
  452|     22|  if ((pSelf == NULL) || (pQmfDomain == NULL)) {
  ------------------
  |  Branch (452:7): [True: 0, False: 22]
  |  Branch (452:26): [True: 0, False: 22]
  ------------------
  453|      0|    return SBRDEC_INVALID_ARGUMENT;
  454|      0|  }
  455|       |
  456|       |  /* Get memory for this instance */
  457|     22|  self = GetRam_SbrDecoder();
  458|     22|  if (self == NULL) {
  ------------------
  |  Branch (458:7): [True: 0, False: 22]
  ------------------
  459|      0|    sbrError = SBRDEC_MEM_ALLOC_FAILED;
  460|      0|    goto bail;
  461|      0|  }
  462|       |
  463|     22|  self->pQmfDomain = pQmfDomain;
  464|       |
  465|       |  /*
  466|       |  Already zero because of calloc
  467|       |  self->numSbrElements = 0;
  468|       |  self->numSbrChannels = 0;
  469|       |  self->codecFrameSize = 0;
  470|       |  */
  471|       |
  472|     22|  self->numDelayFrames = (1); /* set to the max value by default */
  473|       |
  474|       |  /* Initialize header sync state */
  475|    198|  for (elIdx = 0; elIdx < (8); elIdx += 1) {
  ------------------
  |  Branch (475:19): [True: 176, False: 22]
  ------------------
  476|    176|    int i;
  477|    528|    for (i = 0; i < (1) + 1; i += 1) {
  ------------------
  |  Branch (477:17): [True: 352, False: 176]
  ------------------
  478|    352|      self->sbrHeader[elIdx][i].syncState = SBR_NOT_INITIALIZED;
  479|    352|    }
  480|    176|  }
  481|       |
  482|     22|  *pSelf = self;
  483|       |
  484|     22|bail:
  485|     22|  return sbrError;
  486|     22|}
sbrDecoder_SetParam:
  887|     22|                              const INT value) {
  888|     22|  SBR_ERROR errorStatus = SBRDEC_OK;
  889|       |
  890|       |  /* configure the subsystems */
  891|     22|  switch (param) {
  892|     22|    case SBR_SYSTEM_BITSTREAM_DELAY:
  ------------------
  |  Branch (892:5): [True: 22, False: 0]
  ------------------
  893|     22|      if (value < 0 || value > (1)) {
  ------------------
  |  Branch (893:11): [True: 0, False: 22]
  |  Branch (893:24): [True: 0, False: 22]
  ------------------
  894|      0|        errorStatus = SBRDEC_SET_PARAM_FAIL;
  895|      0|        break;
  896|      0|      }
  897|     22|      if (self == NULL) {
  ------------------
  |  Branch (897:11): [True: 0, False: 22]
  ------------------
  898|      0|        errorStatus = SBRDEC_NOT_INITIALIZED;
  899|     22|      } else {
  900|     22|        self->numDelayFrames = (UCHAR)value;
  901|     22|      }
  902|     22|      break;
  903|      0|    case SBR_QMF_MODE:
  ------------------
  |  Branch (903:5): [True: 0, False: 22]
  ------------------
  904|      0|      if (self == NULL) {
  ------------------
  |  Branch (904:11): [True: 0, False: 0]
  ------------------
  905|      0|        errorStatus = SBRDEC_NOT_INITIALIZED;
  906|      0|      } else {
  907|      0|        if (value == 1) {
  ------------------
  |  Branch (907:13): [True: 0, False: 0]
  ------------------
  908|      0|          self->flags |= SBRDEC_LOW_POWER;
  ------------------
  |  |  211|      0|  32 /* Flag indicating that Low Power QMF mode shall be used. */
  ------------------
  909|      0|        } else {
  910|      0|          self->flags &= ~SBRDEC_LOW_POWER;
  ------------------
  |  |  211|      0|  32 /* Flag indicating that Low Power QMF mode shall be used. */
  ------------------
  911|      0|        }
  912|      0|      }
  913|      0|      break;
  914|      0|    case SBR_LD_QMF_TIME_ALIGN:
  ------------------
  |  Branch (914:5): [True: 0, False: 22]
  ------------------
  915|      0|      if (self == NULL) {
  ------------------
  |  Branch (915:11): [True: 0, False: 0]
  ------------------
  916|      0|        errorStatus = SBRDEC_NOT_INITIALIZED;
  917|      0|      } else {
  918|      0|        if (value == 1) {
  ------------------
  |  Branch (918:13): [True: 0, False: 0]
  ------------------
  919|      0|          self->flags |= SBRDEC_LD_MPS_QMF;
  ------------------
  |  |  220|      0|  512 /* Flag indicating that the LD-MPS QMF shall be used. */
  ------------------
  920|      0|        } else {
  921|      0|          self->flags &= ~SBRDEC_LD_MPS_QMF;
  ------------------
  |  |  220|      0|  512 /* Flag indicating that the LD-MPS QMF shall be used. */
  ------------------
  922|      0|        }
  923|      0|      }
  924|      0|      break;
  925|      0|    case SBR_FLUSH_DATA:
  ------------------
  |  Branch (925:5): [True: 0, False: 22]
  ------------------
  926|      0|      if (value != 0) {
  ------------------
  |  Branch (926:11): [True: 0, False: 0]
  ------------------
  927|      0|        if (self == NULL) {
  ------------------
  |  Branch (927:13): [True: 0, False: 0]
  ------------------
  928|      0|          errorStatus = SBRDEC_NOT_INITIALIZED;
  929|      0|        } else {
  930|      0|          self->flags |= SBRDEC_FLUSH;
  ------------------
  |  |  229|      0|#define SBRDEC_FLUSH 16384 /* Flag is used to flush all elements in use. */
  ------------------
  931|      0|        }
  932|      0|      }
  933|      0|      break;
  934|      0|    case SBR_CLEAR_HISTORY:
  ------------------
  |  Branch (934:5): [True: 0, False: 22]
  ------------------
  935|      0|      if (value != 0) {
  ------------------
  |  Branch (935:11): [True: 0, False: 0]
  ------------------
  936|      0|        if (self == NULL) {
  ------------------
  |  Branch (936:13): [True: 0, False: 0]
  ------------------
  937|      0|          errorStatus = SBRDEC_NOT_INITIALIZED;
  938|      0|        } else {
  939|      0|          self->flags |= SBRDEC_FORCE_RESET;
  ------------------
  |  |  231|      0|  32768 /* Flag is used to force a reset of all elements in use. */
  ------------------
  940|      0|        }
  941|      0|      }
  942|      0|      break;
  943|      0|    case SBR_BS_INTERRUPTION: {
  ------------------
  |  Branch (943:5): [True: 0, False: 22]
  ------------------
  944|      0|      int elementIndex;
  945|       |
  946|      0|      if (self == NULL) {
  ------------------
  |  Branch (946:11): [True: 0, False: 0]
  ------------------
  947|      0|        errorStatus = SBRDEC_NOT_INITIALIZED;
  948|      0|        break;
  949|      0|      }
  950|       |
  951|       |      /* Loop over SBR elements */
  952|      0|      for (elementIndex = 0; elementIndex < self->numSbrElements;
  ------------------
  |  Branch (952:30): [True: 0, False: 0]
  ------------------
  953|      0|           elementIndex++) {
  954|      0|        if (self->pSbrElement[elementIndex] != NULL) {
  ------------------
  |  Branch (954:13): [True: 0, False: 0]
  ------------------
  955|      0|          HANDLE_SBR_HEADER_DATA hSbrHeader;
  956|      0|          int headerIndex =
  957|      0|              getHeaderSlot(self->pSbrElement[elementIndex]->useFrameSlot,
  958|      0|                            self->pSbrElement[elementIndex]->useHeaderSlot);
  959|       |
  960|      0|          hSbrHeader = &(self->sbrHeader[elementIndex][headerIndex]);
  961|       |
  962|       |          /* Set sync state UPSAMPLING for the corresponding slot.
  963|       |             This switches off bitstream parsing until a new header arrives. */
  964|      0|          if (hSbrHeader->syncState != SBR_NOT_INITIALIZED) {
  ------------------
  |  Branch (964:15): [True: 0, False: 0]
  ------------------
  965|      0|            hSbrHeader->syncState = UPSAMPLING;
  966|      0|            hSbrHeader->status |= SBRDEC_HDR_STAT_UPDATE;
  ------------------
  |  |  240|      0|#define SBRDEC_HDR_STAT_UPDATE 2
  ------------------
  967|      0|          }
  968|      0|        }
  969|      0|      }
  970|      0|    } break;
  971|       |
  972|      0|    case SBR_SKIP_QMF:
  ------------------
  |  Branch (972:5): [True: 0, False: 22]
  ------------------
  973|      0|      if (self == NULL) {
  ------------------
  |  Branch (973:11): [True: 0, False: 0]
  ------------------
  974|      0|        errorStatus = SBRDEC_NOT_INITIALIZED;
  975|      0|      } else {
  976|      0|        if (value == 1) {
  ------------------
  |  Branch (976:13): [True: 0, False: 0]
  ------------------
  977|      0|          self->flags |= SBRDEC_SKIP_QMF_ANA;
  ------------------
  |  |  233|      0|  (1 << 21) /* Flag indicating that the input data is provided in the QMF \
  ------------------
  978|      0|        } else {
  979|      0|          self->flags &= ~SBRDEC_SKIP_QMF_ANA;
  ------------------
  |  |  233|      0|  (1 << 21) /* Flag indicating that the input data is provided in the QMF \
  ------------------
  980|      0|        }
  981|      0|        if (value == 2) {
  ------------------
  |  Branch (981:13): [True: 0, False: 0]
  ------------------
  982|      0|          self->flags |= SBRDEC_SKIP_QMF_SYN;
  ------------------
  |  |  236|      0|  (1 << 22) /* Flag indicating that the output data is exported in the QMF \
  ------------------
  983|      0|        } else {
  984|      0|          self->flags &= ~SBRDEC_SKIP_QMF_SYN;
  ------------------
  |  |  236|      0|  (1 << 22) /* Flag indicating that the output data is exported in the QMF \
  ------------------
  985|      0|        }
  986|      0|      }
  987|      0|      break;
  988|      0|    default:
  ------------------
  |  Branch (988:5): [True: 0, False: 22]
  ------------------
  989|      0|      errorStatus = SBRDEC_SET_PARAM_FAIL;
  990|      0|      break;
  991|     22|  } /* switch(param) */
  992|       |
  993|     22|  return (errorStatus);
  994|     22|}
sbrDecoder_Close:
 1933|     22|SBR_ERROR sbrDecoder_Close(HANDLE_SBRDECODER *pSelf) {
 1934|     22|  HANDLE_SBRDECODER self = *pSelf;
 1935|     22|  int i;
 1936|       |
 1937|     22|  if (self != NULL) {
  ------------------
  |  Branch (1937:7): [True: 22, False: 0]
  ------------------
 1938|     22|    if (self->hParametricStereoDec != NULL) {
  ------------------
  |  Branch (1938:9): [True: 0, False: 22]
  ------------------
 1939|      0|      DeletePsDec(&self->hParametricStereoDec);
 1940|      0|    }
 1941|       |
 1942|    198|    for (i = 0; i < (8); i++) {
  ------------------
  |  Branch (1942:17): [True: 176, False: 22]
  ------------------
 1943|    176|      sbrDecoder_DestroyElement(self, i);
 1944|    176|    }
 1945|       |
 1946|     22|    FreeRam_SbrDecoder(pSelf);
 1947|     22|  }
 1948|       |
 1949|     22|  return SBRDEC_OK;
 1950|     22|}
sbrdecoder.cpp:_ZL25sbrDecoder_DestroyElementP20SBR_DECODER_INSTANCEi:
  510|    176|                                      const int elementIndex) {
  511|    176|  if (self->pSbrElement[elementIndex] != NULL) {
  ------------------
  |  Branch (511:7): [True: 0, False: 176]
  ------------------
  512|      0|    int ch;
  513|       |
  514|      0|    for (ch = 0; ch < SBRDEC_MAX_CH_PER_ELEMENT; ch++) {
  ------------------
  |  |  115|      0|#define SBRDEC_MAX_CH_PER_ELEMENT (2)
  ------------------
  |  Branch (514:18): [True: 0, False: 0]
  ------------------
  515|      0|      if (self->pSbrElement[elementIndex]->pSbrChannel[ch] != NULL) {
  ------------------
  |  Branch (515:11): [True: 0, False: 0]
  ------------------
  516|      0|        deleteSbrDec(self->pSbrElement[elementIndex]->pSbrChannel[ch]);
  517|      0|        FreeRam_SbrDecChannel(
  518|      0|            &self->pSbrElement[elementIndex]->pSbrChannel[ch]);
  519|      0|        self->numSbrChannels -= 1;
  520|      0|      }
  521|      0|    }
  522|      0|    FreeRam_SbrDecElement(&self->pSbrElement[elementIndex]);
  523|      0|    self->numSbrElements -= 1;
  524|      0|  }
  525|    176|}

_Z29GetRequiredMemWorkBufferCore5v:
  288|     22|  UINT GetRequiredMem##name(void) {                                         \
  289|     22|    return ALGN_SIZE_EXTRES((num) * sizeof(type) + ALIGNMENT_DEFAULT +      \
  ------------------
  |  |  320|     22|  ((a) + (((INT)ALIGNMENT_EXTRES - ((INT)(a) & (ALIGNMENT_EXTRES - 1))) & \
  |  |  ------------------
  |  |  |  |  318|     22|#define ALIGNMENT_EXTRES (ALIGNMENT_DEFAULT)
  |  |  |  |  ------------------
  |  |  |  |  |  |  256|     22|#define ALIGNMENT_DEFAULT 8
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                 ((a) + (((INT)ALIGNMENT_EXTRES - ((INT)(a) & (ALIGNMENT_EXTRES - 1))) & \
  |  |  ------------------
  |  |  |  |  318|     22|#define ALIGNMENT_EXTRES (ALIGNMENT_DEFAULT)
  |  |  |  |  ------------------
  |  |  |  |  |  |  256|     22|#define ALIGNMENT_DEFAULT 8
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  321|     22|          (ALIGNMENT_EXTRES - 1)))
  |  |  ------------------
  |  |  |  |  318|     22|#define ALIGNMENT_EXTRES (ALIGNMENT_DEFAULT)
  |  |  |  |  ------------------
  |  |  |  |  |  |  256|     22|#define ALIGNMENT_DEFAULT 8
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     22|                            sizeof(void *));                                \
  291|     22|  }

FDKcalloc:
  192|    495|void *FDKcalloc(const UINT n, const UINT size) {
  193|    495|  void *ptr;
  194|       |
  195|    495|  ptr = calloc(n, size);
  196|       |
  197|    495|  return ptr;
  198|    495|}
FDKfree:
  208|    495|void FDKfree(void *ptr) { free((INT *)ptr); }
FDKcalloc_L:
  241|     66|void *FDKcalloc_L(const UINT dim, const UINT size, MEMORY_SECTION s) {
  242|     66|  return FDKcalloc(dim, size);
  243|     66|}
FDKfree_L:
  245|    198|void FDKfree_L(void *p) { FDKfree(p); }
FDKaalloc_L:
  247|     66|void *FDKaalloc_L(const UINT size, const UINT alignment, MEMORY_SECTION s) {
  248|     66|  void *addr, *result = NULL;
  249|     66|  addr = FDKcalloc_L(1, size + alignment + (UINT)sizeof(void *),
  250|     66|                     s); /* Malloc and clear memory.         */
  251|       |
  252|     66|  if (addr != NULL) {
  ------------------
  |  Branch (252:7): [True: 66, False: 0]
  ------------------
  253|     66|    result = ALIGN_PTR((unsigned char *)addr +
  ------------------
  |  |  312|     66|  ((void *)((unsigned char *)(a) +                        \
  |  |  313|     66|            ((((INT)ALIGNMENT_DEFAULT -                   \
  |  |  ------------------
  |  |  |  |  256|     66|#define ALIGNMENT_DEFAULT 8
  |  |  ------------------
  |  |  314|     66|               ((size_t)(a) & (ALIGNMENT_DEFAULT - 1))) & \
  |  |  ------------------
  |  |  |  |  256|     66|#define ALIGNMENT_DEFAULT 8
  |  |  ------------------
  |  |  315|     66|              (ALIGNMENT_DEFAULT - 1)))))
  |  |  ------------------
  |  |  |  |  256|     66|#define ALIGNMENT_DEFAULT 8
  |  |  ------------------
  ------------------
  254|     66|                       sizeof(void *)); /* Get aligned memory base address. */
  255|     66|    *(((void **)result) - 1) = addr;    /* Save malloc'ed memory pointer.   */
  256|     66|    C_ALLOC_ALIGNED_REGISTER(result, size);
  257|     66|  }
  258|       |
  259|     66|  return result; /* Return aligned address.          */
  260|     66|}
FDKafree_L:
  262|     66|void FDKafree_L(void *ptr) {
  263|     66|  void *addr;
  264|       |
  265|     66|  addr = *(((void **)ptr) - 1); /* Get pointer to malloc'ed memory. */
  266|       |
  267|     66|  C_ALLOC_ALIGNED_UNREGISTER(ptr);
  268|       |
  269|     66|  FDKfree_L(addr); /* Free malloc'ed memory area.      */
  270|     66|}
FDKmemcpy:
  277|     44|void FDKmemcpy(void *dst, const void *src, const UINT size) {
  278|       |  /* -- check for overlapping memory areas -- */
  279|     44|  FDK_ASSERT(((const unsigned char *)dst - (const unsigned char *)src) >=
  ------------------
  |  |  221|     44|#define FDK_ASSERT(x) assert(x)
  ------------------
  |  Branch (279:3): [True: 44, False: 0]
  |  Branch (279:3): [True: 0, False: 0]
  |  Branch (279:3): [True: 44, False: 0]
  ------------------
  280|     44|                 (ptrdiff_t)size ||
  281|     44|             ((const unsigned char *)src - (const unsigned char *)dst) >=
  282|     44|                 (ptrdiff_t)size);
  283|       |
  284|       |  /* do the copy */
  285|     44|  memcpy(dst, src, size);
  286|     44|}
FDKmemset:
  292|     88|void FDKmemset(void *memPtr, const INT value, const UINT size) {
  293|     88|  memset(memPtr, value, size);
  294|     88|}
FDKmemclear:
  296|     44|void FDKmemclear(void *memPtr, const UINT size) { FDKmemset(memPtr, 0, size); }

FDK_chMapDescr_init:
  248|     22|                         const UINT mapInfoTabLen, const UINT fPassThrough) {
  249|     22|  if (pMapDescr != NULL) {
  ------------------
  |  Branch (249:7): [True: 22, False: 0]
  ------------------
  250|     22|    int useDefaultTab = 1;
  251|       |
  252|     22|    pMapDescr->fPassThrough = (fPassThrough == 0) ? 0 : 1;
  ------------------
  |  Branch (252:31): [True: 22, False: 0]
  ------------------
  253|       |
  254|     22|    if ((pMapInfoTab != NULL) && (mapInfoTabLen > 0)) {
  ------------------
  |  Branch (254:9): [True: 0, False: 22]
  |  Branch (254:34): [True: 0, False: 0]
  ------------------
  255|       |      /* Set the valid custom mapping table. */
  256|      0|      pMapDescr->pMapInfoTab = pMapInfoTab;
  257|      0|      pMapDescr->mapInfoTabLen = mapInfoTabLen;
  258|       |      /* Validate the complete descriptor. */
  259|      0|      useDefaultTab = (FDK_chMapDescr_isValid(pMapDescr) == 0) ? 1 : 0;
  ------------------
  |  Branch (259:23): [True: 0, False: 0]
  ------------------
  260|      0|    }
  261|     22|    if (useDefaultTab != 0) {
  ------------------
  |  Branch (261:9): [True: 22, False: 0]
  ------------------
  262|       |      /* Set default table. */
  263|     22|      pMapDescr->pMapInfoTab = mapInfoTabDflt;
  264|     22|      pMapDescr->mapInfoTabLen = DFLT_CH_MAP_TAB_LEN;
  ------------------
  |  |  110|     22|  (15) /* Length of the default channel map info table. */
  ------------------
  265|     22|    }
  266|     22|  }
  267|     22|}

LLVMFuzzerTestOneInput:
   18|     78|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
   19|     78|  HANDLE_AACDECODER aacDecoderInfo = NULL;
   20|       |
   21|     78|  TRANSPORT_TYPE transportType;
   22|     78|  INT nrOfLayers;
   23|       |
   24|     78|  if (Size != 8) return 0;
  ------------------
  |  Branch (24:7): [True: 23, False: 55]
  ------------------
   25|       |
   26|     55|  transportType = (TRANSPORT_TYPE)(Data[0] + (Data[1] << 8) + (Data[2] << 16) +
   27|     55|                                   (Data[3] << 24));
   28|     55|  nrOfLayers =
   29|     55|      (UINT)(Data[4] + (Data[5] << 8) + (Data[6] << 16) + (Data[7] << 24));
   30|       |
   31|     55|  aacDecoderInfo = aacDecoder_Open(transportType, nrOfLayers);
   32|     55|  if (aacDecoderInfo != NULL) {
  ------------------
  |  Branch (32:7): [True: 22, False: 33]
  ------------------
   33|     22|    aacDecoder_Close(aacDecoderInfo);
   34|     22|  }
   35|     55|  return 0;
   36|     78|}

