marcogulino / AndroidUsbCamera

Android USB Camera Driver/Bridge for GNU/Linux
178 stars 104 forks source link

swScaler: nv21 is not supported as input pixel format #7

Open albuquerque opened 14 years ago

albuquerque commented 14 years ago

Running Ubuntu Lucid on Laptop and using HTC Magic as the Android device.

When I execute ./AndroidUsbCamera /dev/video0 I receive a line saying

swScaler: nv21 is not supported as input pixel format

This is followed by an infinite repetation of the line Cannot initialize the conversion context!

All the steps as mentioned in the README were followed while running the Android app and the Desktop App. Needless to say no image was observed on any of the softwares on the PC. Tried Skype and Cheese.

pechano commented 14 years ago

Im getting the same. nv21 must have something to do with the nVidia graphics chip that we have, right?

perhaps it's something general in swScaler and not specifically a problem with this code.

albuquerque commented 14 years ago

I do not have an nVidia graphics chip. Mine is an ATI Radeon HD.

However, like you said I do beleive it could be something to do with libswscale. Mine was just installed from the Ubuntu Lucid Repos.

Marco, could you let us know the version that you are using so that we can verify with ours?

f0086 commented 14 years ago

Same problem here: Initializing objects... Opening connection.. swScaler: nv21 is not supported as input pixel format Cannot initialize the conversion context! ^C

I use Ubuntu 10.04

albuquerque commented 14 years ago

I think the Issue lies in line 97..100 of src/framesconverter.cpp

After looking at sws_getContext() syntax at http://dranger.com/ffmpeg/functions.html#sws_getContext I'm assuming that PIX_FMT_NV21 is the format being sent by the Android App to the Linux client app.

After looking at http://developer.android.com/reference/android/hardware/Camera.Parameters.html it looks like the Android app is setting the pixel_format as ImageFormat.NV21 as this is the default on the Android unless specified. the other options for this are ImageFormat.RGB_565 and ImageFormat.JPEG.

I Would recommend if the author would change the default pixel_format on the android in the app to Imageformat.JPEG. Since the Android app is not open source we cannot modfy it ourselves :(

marcogulino commented 14 years ago

i'm not related in any way to the android application, i don't have the source code, so please contact the original author, not me. Thanks

pechano commented 14 years ago

Guess thats placaware.com

I will send the author a mail and direct him to this post. Good work albuquerque. thumbs up to you!

albuquerque commented 14 years ago

Thanks pechano and marcogulino. Marco, could you let us know the version of libswscale that you are using. Since you made this client app, I'm assuming it is working for you. we could probably install that version of libswscale and have it working on our machines.

We will however try and contact the original author to get his attention to this issue and have it fixed from the android app side as well.

Thanks again.

marcogulino commented 14 years ago

oh sorry, i didn't see the other request. Package: libswscale-dev Status: install ok installed Priority: optional Section: libdevel Installed-Size: 420 Maintainer: Ubuntu Core Developers ubuntu-devel-discuss@lists.ubuntu.com Architecture: i386 Source: ffmpeg Version: 4:0.5.1-1ubuntu1

f0086 commented 14 years ago

I have the exact same Version, but I get the error (see above). (4:0.5.1-1ubuntu1)

palli commented 14 years ago

I have the exact same problem on Ubuntu 9.10.

Is there any known workaround to make this work ?

ghost commented 13 years ago

Same problem here.

bdictator commented 13 years ago

Has anybody figured out a solution here??