Hi, this is my first post.
I'm trying a camera porting on android 2.3 . I've customize 
CameraHardware.cpp and v4l2camera.cpp following this example 
https://gitorious.org/0xdroid/hardware_omap3_camera/source/b564bbeee68a33c92013955e11deba7605385a15:
 
but nothing happens.
Can anyone help me whit this porting? my ideas are so confused
tnxs

Il giorno venerdì 4 maggio 2012 21:01:37 UTC+2, Eino-Ville Talvala ha 
scritto:
>
> This isn't a question of Google support; a third-party application has to 
> specifically code in support for a given YUV format; Skype chose to use 
> NV21, and configured the interface accordingly (here, by leaving the 
> preview format as the default, which is NV21).  There's no way for Skype to 
> automatically handle YUY2, especially when it asked for NV21 and was given 
> YUY2 instead. Writing YUV processing code is fairly tedious, so nobody 
> wants to support more formats than they have to.
>
> Since HC, a camera HAL is required to support both NV21 and YV12 (these 
> are the API-level names; yuv420sp and yuv420p are the HAL-level names, 
> IIRC) for preview callbacks; any other formats are optional. As a result, 
> most 3rd-party apps should pick one of those two formats to maximize 
> cross-device compatibility, and I wouldn't expect many apps to be able to 
> deal with YUY2.
>
> To answer your question, currently only one HAL module per subsystem can 
> exist.  You'd have to create a new subsystem class (like 'usb_camera') and 
> then teach CameraService how to access it separately from the main camera 
> HAL module. In theory, it's not terribly difficult since you want to keep 
> the same interface to both; but you'd probably have to duplicate/refactor a 
> lot of code in the camera service to do so.  Or, you can add the USB 
> support directly into the main camera HAL module, listing the USB devices 
> after the fixed cameras.
>
> The main difficulty is that USB cameras are likely to be dynamic, which 
> isn't a concept the current camera API really has facilities for dealing 
> with. You can probably get something working well enough as long as you 
> don't unplug/plug cameras in while a camera-using app is running, but a 
> solid solution would require new app-level API support, I think.
>
> Regards,
>
> Eddy Talvala
>
> On Thursday, May 3, 2012 8:59:05 PM UTC-7, nikkotorcita wrote:
>>
>> Hi guys,
>>
>> Thanks for all the inputs. I converted my YUYV frames to YUV420SP right 
>> before passing it to the preview callback and it worked! I am now able to 
>> use the usb camera for skype video calls. I just find it useless for google 
>> to put other pixel formats in the CameraService.cpp if they're only going 
>> to support YUV420SP in the first place.
>>
>> Now that I have usb camera support, I'm faced with another challenge. The 
>> device that I'm developing for has a built-in camera and uses the samsung 
>> camera interface unit (cpu is Samsung S5PV210). Is it possible for the 
>> CameraService to support two HAL implementations? One for the usb camera 
>> and one for the built-in camera?
>>
>> On Thu, May 3, 2012 at 10:56 PM, Vishal Bhoj 
>> <visha...@linaro.org<javascript:>
>> > wrote:
>>
>>> Hi Nikko,
>>>
>>> The color conversion needs to be done before passing the frames through 
>>> the callback(CAMERA_MSG_PREVIEW_FRAME) as the yuv420sp is the default color 
>>> format supported by android application while accessing preview frames from 
>>> application layer.
>>>
>>> Have a look at lines from 209-215 in 
>>>
>>>
>>> http://android.git.linaro.org/gitweb?p=hardware/linaro/common.git;a=blob;f=libcamera/CameraHardware.cpp;h=8c90fa4a591b2c0a43d0cbe42f656937785708ee;hb=1ad0e928edf6f046572b3f32eb5ee23d8d7f3f79
>>>
>>> here is  the camera hal which I have tested with skype,linphone,google 
>>> hangouts kind of applications,you can look at it as reference.
>>>
>>> http://android.git.linaro.org/gitweb?p=hardware/linaro/common.git;a=summary
>>>
>>> Regards,
>>> Vishal
>>>
>>>  On 2 May 2012 08:25, Nikko Torcita <nikkot...@gmail.com 
>>> <javascript:>>wrote:
>>>
>>>>  Hi all,
>>>>
>>>> I've been trying to support generic UVC cameras on android and have 
>>>> been successful so far with getting the native camera app to display 
>>>> preview images until I tested my code with skype video call and got stuck 
>>>> with a buffer memory problem. To break it down,
>>>>
>>>> 1. I'm using the yuv422i-yuyv format since it's the only pixel format 
>>>> supported by the uvc camera (Vimicro chipset) that i'm testing. I have 
>>>> also 
>>>> set CameraService::Client::registerPreviewBuffers() to support 
>>>> HAL_PIXEL_FORMAT_YCbCr_422_I in CameraService.cpp.
>>>>
>>>> 2. I set the size of my preview heap to 'PreviewHeap = width x height x 
>>>> 2' since YUV422 takes up 4 bytes per 2 pixels.  
>>>>
>>>> From logcat, I get this: 
>>>>
>>>>  D/CameraHardware(28343): PREVIEW SIZE: w=320 h=240 framerate=30
>>>> E/CameraHardware(28343): virtual android::status_t 
>>>> android::CameraHardware::startPreview() :
>>>> D/V4L2Camera(28343): USB Camera now streaming...
>>>> D/libEGL  (28734): loaded /system/lib/egl/libGLES_android.so
>>>> D/libEGL  (28734): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
>>>> D/libEGL  (28734): loaded 
>>>> /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
>>>> D/libEGL  (28734): loaded 
>>>> /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
>>>> *E/Camera-JNI(28734): Manually set buffer was too small! Expected 
>>>> 153600 bytes, but got 115201!*
>>>> *E/Camera-JNI(28734): Manually set buffer was too small! Expected 
>>>> 153600 bytes, but got 115201!*
>>>> *E/Camera-JNI(28734): Manually set buffer was too small! Expected 
>>>> 153600 bytes, but got 115201!*
>>>> W/com.skype.je(28734): not showing
>>>>
>>>> I traced it down to the camera jni and it seems like somewhere above 
>>>> the HAL, a buffer was set to accommodate only up to 'width x height x 
>>>> 1.5'. 
>>>> Hence, 320x240x1.5 = 115200 instead of 320x240x2 = 153600. Could it be 
>>>> that 
>>>> the skype application only provided support for NV21 (YUV420) which takes 
>>>> up 'width x height x 1.5' bytes of data?
>>>>
>>>> Thank you in advance.
>>>>
>>>> Nikko Torcita
>>>>
>>>> -- 
>>>> unsubscribe: android-porti...@googlegroups.com <javascript:>
>>>> website: http://groups.google.com/group/android-porting
>>>>
>>>
>>>
>>

-- 
-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

--- 
You received this message because you are subscribed to the Google Groups 
"android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-porting+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to