Loading media/codec2/components/aom/C2SoftAomDec.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -539,9 +539,10 @@ bool C2SoftAomDec::outputBuffer( std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YV12; std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects; if (img->fmt == AOM_IMG_FMT_I42016) { IntfImpl::Lock lock = mIntf->lock(); std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects = mIntf->getDefaultColorAspects_l(); defaultColorAspects = mIntf->getDefaultColorAspects_l(); if (defaultColorAspects->primaries == C2Color::PRIMARIES_BT2020 && defaultColorAspects->matrix == C2Color::MATRIX_BT2020 && Loading Loading @@ -590,7 +591,8 @@ bool C2SoftAomDec::outputBuffer( if (format == HAL_PIXEL_FORMAT_RGBA_1010102) { convertYUV420Planar16ToY410OrRGBA1010102( (uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / sizeof(uint32_t), mWidth, mHeight); srcVStride / 2, dstYStride / sizeof(uint32_t), mWidth, mHeight, std::static_pointer_cast<const C2ColorAspectsStruct>(defaultColorAspects)); } else { convertYUV420Planar16ToYV12(dstY, dstU, dstV, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride, dstUVStride, Loading media/codec2/components/gav1/C2SoftGav1Dec.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -636,10 +636,10 @@ bool C2SoftGav1Dec::outputBuffer(const std::shared_ptr<C2BlockPool> &pool, std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YV12; std::shared_ptr<C2StreamColorAspectsInfo::output> codedColorAspects; if (buffer->bitdepth == 10) { IntfImpl::Lock lock = mIntf->lock(); std::shared_ptr<C2StreamColorAspectsInfo::output> codedColorAspects = mIntf->getColorAspects_l(); codedColorAspects = mIntf->getColorAspects_l(); bool allowRGBA1010102 = false; if (codedColorAspects->primaries == C2Color::PRIMARIES_BT2020 && codedColorAspects->matrix == C2Color::MATRIX_BT2020 && Loading Loading @@ -713,9 +713,11 @@ bool C2SoftGav1Dec::outputBuffer(const std::shared_ptr<C2BlockPool> &pool, const uint16_t *srcV = (const uint16_t *)buffer->plane[2]; if (format == HAL_PIXEL_FORMAT_RGBA_1010102) { convertYUV420Planar16ToY410OrRGBA1010102((uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, convertYUV420Planar16ToY410OrRGBA1010102( (uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / sizeof(uint32_t), mWidth, mHeight); dstYStride / sizeof(uint32_t), mWidth, mHeight, std::static_pointer_cast<const C2ColorAspectsStruct>(codedColorAspects)); } else if (format == HAL_PIXEL_FORMAT_YCBCR_P010) { convertYUV420Planar16ToP010((uint16_t *)dstY, (uint16_t *)dstU, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / 2, Loading media/codec2/components/vpx/C2SoftVpxDec.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -688,9 +688,10 @@ status_t C2SoftVpxDec::outputBuffer( std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YV12; std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects; if (img->fmt == VPX_IMG_FMT_I42016) { IntfImpl::Lock lock = mIntf->lock(); std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects = mIntf->getDefaultColorAspects_l(); defaultColorAspects = mIntf->getDefaultColorAspects_l(); bool allowRGBA1010102 = false; if (defaultColorAspects->primaries == C2Color::PRIMARIES_BT2020 && defaultColorAspects->matrix == C2Color::MATRIX_BT2020 && Loading Loading @@ -760,11 +761,14 @@ status_t C2SoftVpxDec::outputBuffer( queue->entries.push_back( [dstY, srcY, srcU, srcV, srcYStride, srcUStride, srcVStride, dstYStride, width = mWidth, height = std::min(mHeight - i, kHeight)] { width = mWidth, height = std::min(mHeight - i, kHeight), defaultColorAspects] { convertYUV420Planar16ToY410OrRGBA1010102( (uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / sizeof(uint32_t), width, height); width, height, std::static_pointer_cast<const C2ColorAspectsStruct>( defaultColorAspects)); }); srcY += srcYStride / 2 * kHeight; srcU += srcUStride / 2 * (kHeight / 2); Loading Loading
media/codec2/components/aom/C2SoftAomDec.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -539,9 +539,10 @@ bool C2SoftAomDec::outputBuffer( std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YV12; std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects; if (img->fmt == AOM_IMG_FMT_I42016) { IntfImpl::Lock lock = mIntf->lock(); std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects = mIntf->getDefaultColorAspects_l(); defaultColorAspects = mIntf->getDefaultColorAspects_l(); if (defaultColorAspects->primaries == C2Color::PRIMARIES_BT2020 && defaultColorAspects->matrix == C2Color::MATRIX_BT2020 && Loading Loading @@ -590,7 +591,8 @@ bool C2SoftAomDec::outputBuffer( if (format == HAL_PIXEL_FORMAT_RGBA_1010102) { convertYUV420Planar16ToY410OrRGBA1010102( (uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / sizeof(uint32_t), mWidth, mHeight); srcVStride / 2, dstYStride / sizeof(uint32_t), mWidth, mHeight, std::static_pointer_cast<const C2ColorAspectsStruct>(defaultColorAspects)); } else { convertYUV420Planar16ToYV12(dstY, dstU, dstV, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride, dstUVStride, Loading
media/codec2/components/gav1/C2SoftGav1Dec.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -636,10 +636,10 @@ bool C2SoftGav1Dec::outputBuffer(const std::shared_ptr<C2BlockPool> &pool, std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YV12; std::shared_ptr<C2StreamColorAspectsInfo::output> codedColorAspects; if (buffer->bitdepth == 10) { IntfImpl::Lock lock = mIntf->lock(); std::shared_ptr<C2StreamColorAspectsInfo::output> codedColorAspects = mIntf->getColorAspects_l(); codedColorAspects = mIntf->getColorAspects_l(); bool allowRGBA1010102 = false; if (codedColorAspects->primaries == C2Color::PRIMARIES_BT2020 && codedColorAspects->matrix == C2Color::MATRIX_BT2020 && Loading Loading @@ -713,9 +713,11 @@ bool C2SoftGav1Dec::outputBuffer(const std::shared_ptr<C2BlockPool> &pool, const uint16_t *srcV = (const uint16_t *)buffer->plane[2]; if (format == HAL_PIXEL_FORMAT_RGBA_1010102) { convertYUV420Planar16ToY410OrRGBA1010102((uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, convertYUV420Planar16ToY410OrRGBA1010102( (uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / sizeof(uint32_t), mWidth, mHeight); dstYStride / sizeof(uint32_t), mWidth, mHeight, std::static_pointer_cast<const C2ColorAspectsStruct>(codedColorAspects)); } else if (format == HAL_PIXEL_FORMAT_YCBCR_P010) { convertYUV420Planar16ToP010((uint16_t *)dstY, (uint16_t *)dstU, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / 2, Loading
media/codec2/components/vpx/C2SoftVpxDec.cpp +7 −3 Original line number Diff line number Diff line Loading @@ -688,9 +688,10 @@ status_t C2SoftVpxDec::outputBuffer( std::shared_ptr<C2GraphicBlock> block; uint32_t format = HAL_PIXEL_FORMAT_YV12; std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects; if (img->fmt == VPX_IMG_FMT_I42016) { IntfImpl::Lock lock = mIntf->lock(); std::shared_ptr<C2StreamColorAspectsTuning::output> defaultColorAspects = mIntf->getDefaultColorAspects_l(); defaultColorAspects = mIntf->getDefaultColorAspects_l(); bool allowRGBA1010102 = false; if (defaultColorAspects->primaries == C2Color::PRIMARIES_BT2020 && defaultColorAspects->matrix == C2Color::MATRIX_BT2020 && Loading Loading @@ -760,11 +761,14 @@ status_t C2SoftVpxDec::outputBuffer( queue->entries.push_back( [dstY, srcY, srcU, srcV, srcYStride, srcUStride, srcVStride, dstYStride, width = mWidth, height = std::min(mHeight - i, kHeight)] { width = mWidth, height = std::min(mHeight - i, kHeight), defaultColorAspects] { convertYUV420Planar16ToY410OrRGBA1010102( (uint32_t *)dstY, srcY, srcU, srcV, srcYStride / 2, srcUStride / 2, srcVStride / 2, dstYStride / sizeof(uint32_t), width, height); width, height, std::static_pointer_cast<const C2ColorAspectsStruct>( defaultColorAspects)); }); srcY += srcYStride / 2 * kHeight; srcU += srcUStride / 2 * (kHeight / 2); Loading