와나.. 엄청 헤맸네.
uchar *data가 2560*1920 bayer format의 데이터를 가리킨다고 했을 때, 데이터는 가령
GBGBGB....
RGRGRG....
....
이런 식으로 들어올 것인데...
여기서 맨 처음 주소의 GBGB (0123 주소번호) 을 uint (4byte) 데이터로 캐스팅하면 어떻게 될까?
uint ui = *(uint *) data;
먼저 data의 0번 주소부터 3번 주소까지 GBGB 0123를 헥사로 표현해보자.
0x00112233 (여기서 각 숫자는 실제 데이터가 아닌 주소의 번호)
그렇다면, ui의 데이터를 헥사로 표현하면 ?
0x33221100 이 된다................... 뒤집혔어!!!!!!!!!!!!!! 이것 때문에 헤맴...
주의하시랏! 어바!
p.s. 왜 캐스팅 하냐면... 주소 억세스 줄일려고.. 4byte씩 캐스팅하면 주소 억세스 1/4로 줄어듬... ulong으로 하면? 8byte니까 1/8로 줄어듬...
하나더!! sizeof(ulong)으로 데이터 사이즈 찍어볼 수 있다고라~~ 빠이!