• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef CLI_CODEC_AAC_UTILS_H_
2 #define CLI_CODEC_AAC_UTILS_H_
3 
4 #include <cstddef>
5 
6 #include "libSYS/include/FDK_audio.h"
7 #include "libSYS/include/machine_type.h"
8 
9 namespace iamf_tools {
10 
11 /*!\brief IAMF requires raw AAC frames with no ADTS header. */
GetAacTransportationType()12 constexpr TRANSPORT_TYPE GetAacTransportationType() { return TT_MP4_RAW; }
13 
14 /*!\brief The FDK AAC encoder uses 16-bit PCM. */
GetFdkAacBytesPerSample()15 constexpr size_t GetFdkAacBytesPerSample() { return sizeof(INT_PCM); }
16 
17 /*!\brief Convenience method for getting bit depth. */
GetFdkAacBitDepth()18 constexpr size_t GetFdkAacBitDepth() { return GetFdkAacBytesPerSample() * 8; }
19 
20 }  // namespace iamf_tools
21 
22 #endif  // CLI_CODEC_AAC_UTILS_H_
23