s3c6410 카메라 이미지 렌즈 문제 노트
struct v4l2_control vc;
vc.id = V4L2_CID_VFLIP;
vc.value = 0;
/* Set up for mirror */
if (ioctl(fd, VIDIOC_S_CTRL, &vc) < 0) {
emit display_error(tr("VIDIOC_S_CTRL").arg(QString(strerror(errno))));
return -1;
}
FLIPY_AXIS 즉 수직으로 다른 핵 버전을 뒤집는 거예요. 여기vc 설정이 다를 수 있어요. 제가 쓰는 건 2.6.38 버전이에요.
그리고 수평으로 뒤집기 V4L2CID_HFLIP
비디오 dev2.h에서 이 두 개의 매크로를 정의했습니다
#define V4L2_CID_HFLIP (V4L2_CID_BASE+20)
#define V4L2_CID_VFLIP (V4L2_CID_BASE+21)
대응 구동
drivers/media/video/samsung/fimc/s3c_fimc_v4l2.c 함수 s3cfimc_v4l2_s_ctrl 중
4
case V4L2_CID_HFLIP:
frame->flip = FLIP_X_AXIS;
ctrl->rot90 = 0;
s3c_fimc_change_rotate(ctrl);
break;
case V4L2_CID_VFLIP:
frame->flip = FLIP_Y_AXIS;
ctrl->rot90 = 0;
s3c_fimc_change_rotate(ctrl);
break;
함수 s3cfimc_change_rotate 중 가장 큰 것은 6410의 CAMIF에 있는 CICOTRGFMT 레지스터의 14-15위를 설정합니다.void s3c_fimc_change_rotate(struct s3c_fimc_control *ctrl)
{
u32 cfg;
if (ctrl->rot90)
s3c_fimc_set_rot90(ctrl);
if (ctrl->out_type == PATH_OUT_DMA) {
cfg = readl(ctrl->regs + S3C_CIPRTRGFMT);
cfg &= ~S3C_CIPRTRGFMT_FLIP_MASK;
cfg |= (ctrl->out_frame.flip << S3C_CIPRTRGFMT_FLIP_SHIFT);
writel(cfg, ctrl->regs + S3C_CIPRTRGFMT);
}
}
애플리케이션 문제 해결 재컴파일
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.