Hello Hans.
I went too far.
Just forgot what we can do through porting job.
You are right. That should be board specific item.
Cheers,
Nate
2009. 02. 18, 오후 11:36, Hans de Goede 작성:
DongSoo(Nathaniel) Kim wrote:
Hello Adam,
I've been thinking exactly the same issue not usb but SoC based
camera.
I have no idea about how usb cameras work but I am quite curious
about
is it really possible to make proper orientation with only querying
camera driver.
Because in case of SoC based camera device, many of camera ISPs are
supporting VFLIP, HFLIP register on their own, and we can read
current
orientation by reading those registers.
But the problem is ISP's registers are set as not flipped at all but
it physically mounted upside down, because the H/W vendor has packed
the camera module upside down. (it sounds ridiculous but happens
sometimes)
That happens a lot with webcams too. Given that these SoC systems
will come with some board specific config anyways, all that is
needed is to pass some boardconfig in to the camera driver (through
platform data for example) which tells the camera driver that on
this board the sensor is mounted upside down.
So in that case when we query orientation of camera, it returns not
flipped vertically or horizontally at all but actually it turns out
to
be upside down. Actually we are setting camera device to be flipped
for default in that case.
Ack, but the right thing to do is not to set the vflip and hflip
video4linux2 controls on by default, but to invert their meaning, so
when the sensor is upside down, the hflip and vflip controls as seen
by the application through the v4l2 API will report not flipping,
but the hwcontrols will actually be set to flipping, and when an app
enables flipping at the v4l2 API level it will actually gets
disables at the HW level, this way the upside downness is 100%
hidden from userspace. So your problem does not need any of the new
API we are working on. The new API is for when the hardware cannot
flip and we need to tell userspace to correct for this in software.
Regards,
Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html