|
发表于 2020-9-27 14:01:50
6600 浏览 0 回复
MT6737&MT6580平台Q版本自拍镜像实现和使用
[DESCRIPTION]
MT6580平台的较新的Q版本已支持自拍镜像的功能,只需要在APP端下"com.mediatek.control.capture.flipmode"字段大于0的值即可。
MT6737平台 尚未支持自拍镜像的功能,需要做以下修改。修改完成后也只需APP端下"com.mediatek.control.capture.flipmode"字段值。
[SOLUTION]
文件:platform/mt6735m/v3/hwnode/JpegNode.cpp
红色部分为新增部分,蓝色部分为注释部分,可运行adb shell setprop vendor.debug.camera.Jpeg.flip 3 检查是否添加成功
第一步:
351行左右,增加 flipMode成员变量
//
MRect cropRegion;
//
MINT32 flipMode;
//
第二步
364行左右,flipMode成员变量赋值
, size_thumbnail(0,0)
//
, cropRegion()
, flipMode(0)
{}
};
第三步
544 行左右 ,添加成员变量mFlip
vector<IImageBuffer*> mvWorkingJpeg_Thumbnail;
//
encode_frame* mpCurEncFrame;
MINT32 mFlip;
private: // static infos
第四步
587 行左右
enableDump = ::property_get_int32("vendor.debug.camera.dump.JpegNode",0);
mFlip = ::property_get_int32("vendor.debug.camera.Jpeg.flip", 0);
第五步
1006 行左右
MY_LOGD("mpJpeg_Main: mFlip=%d, flipMode=%d, orientation=%d", mFlip,
pEncodeFrame->mParams.flipMode, pEncodeFrame->mParams.orientation);
my_encode_params params;
params.pSrc = pInImageBuffer.get();
params.pDst = pEncodeFrame->mpJpeg_Main.get();
if (mFlip || pEncodeFrame->mParams.flipMode) {
if (pEncodeFrame->mParams.orientation == 0
|| pEncodeFrame->mParams.orientation == 180) {
params.transform = eTransform_FLIP_H;
} else {
params.transform = eTransform_FLIP_V;
}
} else {
params.transform = 0;
}
// params.transform = 0; //TODO
第六步
1120行左右
MY_LOGD("mpJpeg_Main: mFlip=%d, flipMode=%d, orientation=%d", mFlip,
pEncodeFrame->mParams.flipMode, pEncodeFrame->mParams.orientation);
//
my_encode_params params;
params.pSrc = pInImageBuffer.get();
params.pDst = pEncodeFrame->mpJpeg_Thumbnail.get();
if (mFlip || pEncodeFrame->mParams.flipMode) {
if (pEncodeFrame->mParams.orientation == 0
|| pEncodeFrame->mParams.orientation == 180) {
params.transform = eTransform_FLIP_H;
} else {
params.transform = eTransform_FLIP_V;
}
} else {
params.transform = 0;
}
// params.transform = 0; //TODO
第七步
1755行左右
getAppParam(MTK_JPEG_THUMBNAIL_SIZE , MSize , rParams.size_thumbnail);
getAppParam(MTK_SCALER_CROP_REGION , MRect , rParams.cropRegion);
getAppParam(MTK_CONTROL_CAPTURE_JPEG_FLIP_MODE , MINT32, rParams.flipMode);
#undef getAppParam
|
|
手机微信同号:13682654092
|
|
|
|
|
登录或注册
|