Update api

Christian R. Helmrich 2020-02-28 21:59:47 +00:00
parent 929b0decac
commit f3659c8f39
1 changed files with 15 additions and 0 deletions

15
api.md

@ -52,6 +52,21 @@ initialize an *ExhaleEncAPI* object for encoding and allocate dynamic object mem
* *audioConfigBuffer*: pointer to an unsigned 8-bit integer buffer to which the ASC data will be written. The buffer must be at least 16 bytes large. May be `NULL`, in which case no ASC is generated.
* *audioConfigBytes*: pointer to a single unsigned 32-bit integer to which the byte-size of the ASC data is written. Optional parameter, may be `NULL`, in which case the size information is discarded.
**Since exhale 1.0.1**:
If, when calling this function, the integer pointed to by *audioConfigBytes* is nonzero, that
integer is interpreted as program *loudnessInfo( )* payload according to [ISO/IEC 23003-4](https://www.iso.org/standard/75930.html), Dynamic
Range Control (DRC), and included in the *UsacConfig( )* data generated by this function. The
bits of the nonzero integer pointed to by *audioConfigBytes* are interpreted as follows:
| Bit Offset | Number of Bits | Syntax Element (Specification Table in ISO/IEC 23003-4) |
|------------|----------------|---------------------------------------------------------------|
| 31-30 | 2 | not used, should equal 0 |
| 29-18 | 12 | *bsSamplePeakLevel*, peak level of audio program (Table A.46) |
| 17-14 | 4 | *methodDefinition*, must be between 1 and 9 (Table A.49) |
| 13-6 | 8 | *methodValue*, loudness level of audio program (Table A.48) |
| 5-2 | 4 | *measurementSystem*, must be between 1 and 6 (Table A.50) |
| 1-0 | 2 | *reliability*, should equal 3, should not equal 0 (Table A.51)|
**Return value**
zero (0) upon success, or nonzero (1-255 or 65535) in case of an error or if the *exhaleEnc* pointer is `NULL`