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)