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

Commit 0cc3c217 authored by Liang Ji's avatar Liang Ji Committed by Joe Hsu
Browse files

vp8: modify for add soft vp8 decoder [1/3]



PD# GH-245

Problem:
vp8 play do not smooth

Solution:
modify for add vendor soft decoder
for vp8 decoder

Bug: 149354182
Test: U212

Change-Id: I91c6ba90f7d3edc28d6164ec8cd2a57195d0a7a7
Signed-off-by: default avatarJian Wang <jian.wang@amlogic.com>
parent 784745be
Loading
Loading
Loading
Loading
+25 −8
Original line number Diff line number Diff line
@@ -2053,17 +2053,34 @@ status_t ACodec::configureCodec(
    if (mIsVideo || mIsImage) {
        // determine need for software renderer
        bool usingSwRenderer = false;
        if (haveNativeWindow && mComponentName.startsWith("OMX.google.")) {
        if (haveNativeWindow) {
            bool requiresSwRenderer = false;
            OMX_PARAM_U32TYPE param;
            InitOMXParams(&param);
            param.nPortIndex = kPortIndexOutput;

            status_t err = mOMXNode->getParameter(
                    (OMX_INDEXTYPE)OMX_IndexParamVideoAndroidRequiresSwRenderer,
                    &param, sizeof(param));

            if (err == OK && param.nU32 == 1) {
                requiresSwRenderer = true;
            }

            if (mComponentName.startsWith("OMX.google.") || requiresSwRenderer) {
                usingSwRenderer = true;
                haveNativeWindow = false;
                (void)setPortMode(kPortIndexOutput, IOMX::kPortModePresetByteBuffer);
        } else if (haveNativeWindow && !storingMetadataInDecodedBuffers()) {
            } else if (!storingMetadataInDecodedBuffers()) {
                err = setPortMode(kPortIndexOutput, IOMX::kPortModePresetANWBuffer);
                if (err != OK) {
                    return err;
                }
            }

        }


        if (encoder) {
            err = setupVideoEncoder(mime, msg, outputFormat, inputFormat);
        } else {