【04 APP -- Postview Flip】

本文主要探讨如何在Android相机应用中实现Postview的翻转效果。首先介绍了在CaptureStreamUpdaterPolicy.cpp文件中如何通过Meta data控制JPEG翻转,然后详细阐述了在PipelineModelSessionBasic.cpp、P2ANode.cpp以及MyUtils.h中添加和修改代码以实现Postview翻转的步骤。通过这些修改,可以在拍照时同时得到翻转后的Postview图像。
摘要由CSDN通过智能技术生成

1、Flip Background

如果有Flip的需求,在 vendor\mediatek\proprietary\hardware\mtkcam3\pipeline\policy\request\CaptureStreamUpdaterPolicy.cpp 这个文件中。createRotationStreamInfoLocked_Main_YUV 函数中的if (jpegFlip || jpegFlipProp) 用于判断是否flip. 可以用Meta data MTK_CONTROL_CAPTURE_JPEG_FLIP_MODE来控制Jpeg的镜像效果。也可以用adb 设置属性vendor.debug.camera.Jpeg.flip 1 来debug拍照的Jpeg是否有镜像效果。但是如何实现PostView也带有Flip效果?

2、 How to Flip Postview

2.1、在 PipelineModelSessionBasic.cpp 文件的 submitOneRequest() 方法中添加如下代码:
// Evaluate a result for a request.
 auto pReqOutputParams = std::make_shared();
 MY_LOGF_IF(pReqOutputParams==nullptr, "[requestNo:%u] Fail on make_shared", requestNo);

    // add for capture postview mirror start
    {
   
        MSize postviewSize(0,0);
        auto const& pUserConfiguration          = mStaticInfo.pUserConfiguration;
        auto const& pParsedAppConfiguration     = pUserConfiguration->pParsedAppConfiguration;
        IMetadata::IEntry PVentry = pParsedAppConfiguration->sessionParams.entryFor(MTK_CONTROL_CAPTURE_POSTVIEW_SIZE);
        if( !PVentry.isEmpty() )
        {
   
            postviewSize = PVentry.itemAt(0, Type2Type());
            MY_LOGD("AP set post view size : %dx%d", postviewSize.w, postviewSize.h)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千北@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值