Loading media/codec2/sfplugin/C2OMXNode.cpp +17 −9 Original line number Diff line number Diff line Loading @@ -209,16 +209,24 @@ status_t C2OMXNode::getParameter(OMX_INDEXTYPE index, void *params, size_t size) pDef->nBufferCountActual = 16; // WORKAROUND: having more slots improve performance while consuming // more memory. This is a temporary workaround to reduce memory for // larger-than-4K scenario. if (mWidth * mHeight > 4096 * 2340) { std::shared_ptr<Codec2Client::Component> comp = mComp.lock(); C2PortActualDelayTuning::input inputDelay(0); C2ActualPipelineDelayTuning pipelineDelay(0); c2_status_t c2err = comp->query( c2_status_t c2err = C2_NOT_FOUND; if (comp) { c2err = comp->query( {&inputDelay, &pipelineDelay}, {}, C2_DONT_BLOCK, nullptr); } if (c2err == C2_OK || c2err == C2_BAD_INDEX) { pDef->nBufferCountActual = 4; pDef->nBufferCountActual += (inputDelay ? inputDelay.value : 0u); pDef->nBufferCountActual += (pipelineDelay ? pipelineDelay.value : 0u); } } pDef->eDomain = OMX_PortDomainVideo; pDef->format.video.nFrameWidth = mWidth; Loading media/codec2/sfplugin/CCodec.cpp +8 −13 Original line number Diff line number Diff line Loading @@ -248,10 +248,6 @@ public: } size_t numSlots = 16; // WORKAROUND: having more slots improve performance while consuming // more memory. This is a temporary workaround to reduce memory for // larger-than-4K scenario. if (mWidth * mHeight > 4096 * 2340) { constexpr OMX_U32 kPortIndexInput = 0; OMX_PARAM_PORTDEFINITIONTYPE param; Loading @@ -261,7 +257,6 @@ public: if (err == OK) { numSlots = param.nBufferCountActual; } } for (size_t i = 0; i < numSlots; ++i) { source->onInputBufferAdded(i); Loading Loading
media/codec2/sfplugin/C2OMXNode.cpp +17 −9 Original line number Diff line number Diff line Loading @@ -209,16 +209,24 @@ status_t C2OMXNode::getParameter(OMX_INDEXTYPE index, void *params, size_t size) pDef->nBufferCountActual = 16; // WORKAROUND: having more slots improve performance while consuming // more memory. This is a temporary workaround to reduce memory for // larger-than-4K scenario. if (mWidth * mHeight > 4096 * 2340) { std::shared_ptr<Codec2Client::Component> comp = mComp.lock(); C2PortActualDelayTuning::input inputDelay(0); C2ActualPipelineDelayTuning pipelineDelay(0); c2_status_t c2err = comp->query( c2_status_t c2err = C2_NOT_FOUND; if (comp) { c2err = comp->query( {&inputDelay, &pipelineDelay}, {}, C2_DONT_BLOCK, nullptr); } if (c2err == C2_OK || c2err == C2_BAD_INDEX) { pDef->nBufferCountActual = 4; pDef->nBufferCountActual += (inputDelay ? inputDelay.value : 0u); pDef->nBufferCountActual += (pipelineDelay ? pipelineDelay.value : 0u); } } pDef->eDomain = OMX_PortDomainVideo; pDef->format.video.nFrameWidth = mWidth; Loading
media/codec2/sfplugin/CCodec.cpp +8 −13 Original line number Diff line number Diff line Loading @@ -248,10 +248,6 @@ public: } size_t numSlots = 16; // WORKAROUND: having more slots improve performance while consuming // more memory. This is a temporary workaround to reduce memory for // larger-than-4K scenario. if (mWidth * mHeight > 4096 * 2340) { constexpr OMX_U32 kPortIndexInput = 0; OMX_PARAM_PORTDEFINITIONTYPE param; Loading @@ -261,7 +257,6 @@ public: if (err == OK) { numSlots = param.nBufferCountActual; } } for (size_t i = 0; i < numSlots; ++i) { source->onInputBufferAdded(i); Loading