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

Commit 03ad8074 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "c2_channel_mask" into tm-dev

* changes:
  C2: channel mask mapper
  C2: add support for channel mask
parents d705d89e b28a72ca
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -277,6 +277,9 @@ enum C2ParamIndexKind : C2Param::type_index_t {

    // encoding statistics, average block qp of a frame
    kParamIndexAverageBlockQuantization, // int32

    // channel mask for decoded audio
    kParamIndexAndroidChannelMask, // uint32
};

}
@@ -1980,6 +1983,14 @@ typedef C2StreamParam<C2Info, C2Uint32Value, kParamIndexMaxChannelCount> C2Strea
constexpr char C2_PARAMKEY_MAX_CHANNEL_COUNT[] = "raw.max-channel-count";
constexpr char C2_PARAMKEY_MAX_CODED_CHANNEL_COUNT[] = "coded.max-channel-count";

/**
 * Audio channel mask. Used by decoder to express audio channel mask of decoded content.
 * Channel representation is specified according to the Java android.media.AudioFormat
 * CHANNEL_OUT_* constants.
 */
 typedef C2StreamParam<C2Info, C2Uint32Value, kParamIndexAndroidChannelMask> C2StreamChannelMaskInfo;
 const char C2_PARAMKEY_CHANNEL_MASK[] = "raw.channel-mask";

/**
 * Audio sample format (PCM encoding)
 */
+3 −0
Original line number Diff line number Diff line
@@ -905,6 +905,9 @@ void CCodecConfig::initializeStandardParams() {
    add(ConfigMapper(KEY_MAX_OUTPUT_CHANNEL_COUNT, C2_PARAMKEY_MAX_CHANNEL_COUNT, "value")
        .limitTo(D::AUDIO & (D::CONFIG | D::PARAM | D::READ)));

    add(ConfigMapper(KEY_CHANNEL_MASK, C2_PARAMKEY_CHANNEL_MASK, "value")
        .limitTo(D::AUDIO & D::DECODER & D::READ));

    add(ConfigMapper(KEY_AAC_SBR_MODE, C2_PARAMKEY_AAC_SBR_MODE, "value")
        .limitTo(D::AUDIO & D::ENCODER & (D::CONFIG | D::PARAM | D::READ))
        .withMapper([](C2Value v) -> C2Value {