So if I got this straight, basically we have camera.exynos.so, which is a wrapper around the proprietary binary vendor-camera.exynos4.so, and that thing communicates with the fimc driver in the kernel. Is that right?
So the issue would be likely to be there. I have a question though, does the cm9 built-from-sources kernel works with the stock samsung ics rom? And if so, does hd video recording work in that setup?
Because it could be a good way to determine whether the problem actually comes from the interface between the camera module and the kernel's fimc driver, and not from something else.
(disregard all that if my assumptions are wrong, I'm currently at work and can't do much more than speculate based on greping things in the sources)
So if I got this straight, basically we have camera.exynos.so, which is a wrapper around the proprietary binary vendor-camera.exynos4.so, and that thing communicates with the fimc driver in the kernel. Is that right?
So the issue would be likely to be there. I have a question though, does the cm9 built-from-sources kernel works with the stock samsung ics rom? And if so, does hd video recording work in that setup?
Because it could be a good way to determine whether the problem actually comes from the interface between the camera module and the kernel's fimc driver, and not from something else.
(disregard all that if my assumptions are wrong, I'm currently at work and can't do much more than speculate based on greping things in the sources)
There are some differences between CM kernels and Touchwiz-targeted kernels, mainly in initramfs.
Yeah, I think it's the easiest way to go about it.
I've tried to figure out how exactly the fimc driver is supposed to receive the size from the userland code.
It's done through a standard interface called v4l2 (video for linux, version 2) (sorry if this is obvious, I never worked on that stuff, I'm discovering as I go)
Of interest here are the ioctl() calls that are used to specify cropping and scaling: http://v4l2spec.bytesex.org/spec/x1904.htm
Those ioctl are received in the kernel by drivers/media/video/v4l2-ioctl.c, and dispatched to the actual driver through function pointers.
It means that the desired capture size should basically "enter" the fimc driver in the following functions:
@Zlodo
i would say: nice teamwork! ;)
thanks for your help. we really need guys like you.
^^ this is my personal opinion and can't be taken as a official statement from the CyanogenMod team.
-------------------------------------------------------------------------------------------------------------------------------------------------- CyanogenMod Developer | FreeXperia Team
Twitter: http://twitter.com/codeworkx | FreeXperia Project Website | IRC: #freexperia @ irc.freenode.net
Current devices: Google Nexus 4: 3.4.y, CWM6, CM10.1 HTC One: 3.4.y, CWM6, CM10.1 Sony Xperia Tablet Z: 3.4.y, CWM6, CM10.1 Sony Xperia Z: 3.4.y, CWM6, CM10.1 Sony Xperia V: 3.4.y, CWM6, CM10.1 Sony Xperia T: 3.4.y, CWM6, CM10.1
Samsung Galaxy Note II LTE GT-N7105: 3.0.y, CWM6, CM10.1
Samsung Galaxy S III GT-I9300: 3.0.y, CWM6, CM10.1
Samsung Galaxy Tab 2 10.1" GT-P5100: 3.0.y, CWM6, CM10.1
Samsung Galaxy Tab 2 7" GT-P3100: 3.0.y, CWM6, CM10.1
Samsung Galaxy S II GT-I9100: 3.0.y, CWM6, CM10.1
Samsung Galaxy S II GT-I9100G: 3.0.y, CWM6, CM10.1
Dead devices:
Google Galaxy Nexus, HTC Desire HD, LG Optimus 2X, Samsung Galaxy S, HTC Dream (G1)
XDA Developer TV Producer Kevin set up his phone to respond to … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?