I는 다음의 범위에서의 YCbCr 데이터를 출력 단의 SoC 카메라 모듈이 : (0 -> 255) Y 의 Cb 및 CR (-127 -> 127)해야는 CbCr 값 서명 또는 서명 될
을 이제 제 질문은, libjpeg가 이러한 서명 된 값을 받아들이는지 아니면 서명 된 값을 0 -> 255 범위에 있도록 변경해야합니까?
저는 ATMEL에서 SAM7s-EK의 일부로 제공하는 libjpeg 'bolt-on'jpeg 압축기를 사용하고 있습니다. ijg_compress_raw_no_padding 기능에 대한 볼트에 대한 부분에 대한 코드는이 libjpeg 형태로 된 YCbCr 데이터를 내 좋은 깔끔한 배열을하고 조작 최대한 멀리 볼 수 ... 아래와 같습니다 좋아하는 ;-)
static void _init_sarray_imcu_row(JSAMPIMAGE *image,JSAMPLE *src,uint32_t y_pos,uint32_t width,uint32_t rows)
{
JSAMPLE *r0;
JSAMPLE *r1;
JSAMPARRAY ay = (*image)[0];
JSAMPARRAY au = (*image)[1];
JSAMPARRAY av = (*image)[2];
JSAMPROW ry0,ru,rv,ry1;
int i,j;
for(i = 0; i < rows/2 ;i++)
{
r0 = & src[ (i * 2 + y_pos) * width * 2];
r1 = & src[ (i * 2 + y_pos + 1) * width * 2];
ry0 = ay[i*2];
ry1 = ay[i*2+1];
ru = au[i];
rv = av[i];
for(j = 0; j < width /2; j++)
{
ry0[j * 2] = r0[j*4];
ry1[j * 2] = r1[j*4];
ry0[j * 2 + 1] = r0[j*4+2];
ry1[j * 2 +1] = r1[j*4+2];
ru[j] = (r0[ j * 4 + 1] + r1[j*4+1])/2;
rv[j] = (r0[ j * 4 + 3] + r1[j*4+3])/2;
}
}
}
또한이 함수를 전송하는 원시 데이터 배열 내에서 값이 있어야하는 순서가 확실하지 않습니다. YCbCrY 또는 YCbYCr 등이 있지만 출력 이미지를 볼 때 분명해진다.
일부 색상이 섞여있는 것처럼 보이는 이미지가 나옵니다. 빨간색 & 파란색은 노란색과 녹색으로 바뀌 었습니다.
그래서 나는 거기에 소실 된 경우에 내 최초의 질문을 반복 :
이 기능은 지역 0-> 255에 값을 허용 하는가 또는 Y와 카메라에서 그대로는 (데이터를 수용 않습니다 0-> 255) 및 Cb & Cr (-127-> 127)?
그리고 누군가가 순서에 조언 할 수 있다면 배열도 포장해야 도움이 될 것입니다. Wikipedia JFIF에 따르면
많은 감사 deBoogle