Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c26e12b authored by Arun Mirpuri's avatar Arun Mirpuri
Browse files

codec2: Add support for 24 and 32 bit formats

Add support for 24 bit packed and 32bit pcm encoding
formats in C2Config and C2 Raw Decoder

Bug: 131742712

Change-Id: I257e00f0f7864d243c2f6109826b05cd6a350a6f
parent ca8f637b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -87,7 +87,9 @@ public:
                .withFields({C2F(mPcmEncodingInfo, value).oneOf({
                     C2Config::PCM_16,
                     C2Config::PCM_8,
                     C2Config::PCM_FLOAT})
                     C2Config::PCM_FLOAT,
                     C2Config::PCM_24,
                     C2Config::PCM_32})
                })
                .withSetter((Setter<decltype(*mPcmEncodingInfo)>::StrictValueWithNoDeps))
                .build());
+3 −1
Original line number Diff line number Diff line
@@ -1901,7 +1901,9 @@ constexpr char C2_PARAMKEY_MAX_CODED_CHANNEL_COUNT[] = "coded.max-channel-count"
C2ENUM(C2Config::pcm_encoding_t, uint32_t,
    PCM_16,
    PCM_8,
    PCM_FLOAT
    PCM_FLOAT,
    PCM_24,
    PCM_32
)

typedef C2StreamParam<C2Info, C2SimpleValueStruct<C2Config::pcm_encoding_t>, kParamIndexPcmEncoding>
+2 −0
Original line number Diff line number Diff line
@@ -311,6 +311,8 @@ ALookup<C2Config::pcm_encoding_t, int32_t> sPcmEncodings = {
    { C2Config::PCM_8, kAudioEncodingPcm8bit },
    { C2Config::PCM_16, kAudioEncodingPcm16bit },
    { C2Config::PCM_FLOAT, kAudioEncodingPcmFloat },
    { C2Config::PCM_24, kAudioEncodingPcm24bitPacked },
    { C2Config::PCM_32, kAudioEncodingPcm32bit },
};

ALookup<C2Config::level_t, int32_t> sVp9Levels = {
+2 −0
Original line number Diff line number Diff line
@@ -89,6 +89,8 @@ enum AudioEncoding {
    kAudioEncodingPcm16bit = 2,
    kAudioEncodingPcm8bit = 3,
    kAudioEncodingPcmFloat = 4,
    kAudioEncodingPcm24bitPacked = 21,
    kAudioEncodingPcm32bit = 22,
};

}  // namespace android