quantum6 / Android-USB-OTG-Camera

Apache License 2.0
120 stars 37 forks source link

Is the libuvc updated to the latest version ? #11

Open krithick14 opened 1 year ago

krithick14 commented 1 year ago

Hi, I need to know that the libuvc is updated to the latest version because it has support to many formats like Bayer. If not can you please update it to the latest version.

https://github.com/libuvc/libuvc This is the libuvc latest version repo

image

New Version on libuvc Stream.c file (https://github.com/libuvc/libuvc/blob/master/src/stream.c)

Thanks in advance

quantum6 commented 1 year ago

I think your camera is different from others, It works well on my camera. If you really to fix it, you can send a camera to.

Otherwise, I will update those days.

Good luck!

Quantum6

At 2023-02-27 18:33:57, "Krithick" @.***> wrote:

Hi, I need to know that the libuvc is updated to the latest version because it has support to many formats like Bayer. If not can you please update it to the latest version.

https://github.com/libuvc/libuvc This is the libuvc latest version repo

New Version on libuvc Stream.c file (https://github.com/libuvc/libuvc/blob/master/src/stream.c)

Thanks in advance

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

krithick14 commented 1 year ago

Hi,

We are using Omnivision OH01A10 and OV5640 in our project which supports Raw 10/8 Bayer Formats but this version of libuvc used in your project does not support these formats

https://github.com/quantum6/Android-USB-OTG-Camera/issues/10#issue-1600907901

Please have a look at the above issue link for more information

Thank You

albfan commented 1 year ago

Isn't it easier to demistify how libraries are updated?

There's not reference about what version jnilibs use

The simpler way to build them I found is: define android sdk and ndk

export ANDROID_SDK="$HOME/Android/Sdk"
export ANDROID_HOME="$HOME/Android/Sdk"
export ANDROID_NDK="$HOME/Android/Sdk/ndk/21.4.7075529"

clone UVCCamera

git clone https://github.com/saki4510t/UVCCamera 

get into jni and build directly

cd UVCCamera/libuvccamera/src/main/jni
ndk-build

I make this changes to support latest ndk:

diff --git i/libuvccamera/src/main/jni/Application.mk w/libuvccamera/src/main/jni/Application.mk
index c6f7c2e..45d46a9 100644
--- i/libuvccamera/src/main/jni/Application.mk
+++ w/libuvccamera/src/main/jni/Application.mk
@@ -26,7 +26,7 @@
 # Note: Supporting GCC on NDK is already deprecated and GCC will be removed from NDK soon.
 #NDK_TOOLCHAIN_VERSION := 4.9

-APP_PLATFORM := android-14
-APP_ABI := armeabi armeabi-v7a x86 mips
+APP_PLATFORM := android-16
+APP_ABI := x86
 #APP_OPTIM := debug
 APP_OPTIM := release

latest libraries will be on:

$ ls -1 ../libs/x86/
libjpeg-turbo1500.so
libusb100.so
libUVCCamera.so
libuvc.so

I recommend to do commits linking with commit on UVCCamera so anyone can bisect if their needed changes are present here.

Let me know if you want this to be included on wiki for general reference

quantum6 commented 1 year ago

Sorry, it's not my design. If someone want to use latest code, he can clone code himself. My design is: Everyone can download the code and build without any error, then the app works OK.

You must clone many codes and find many errors when building, and is angry on this problem.

I will check the latest libuvc this week. And I will update this repository: https://github.com/quantum6/Quantum6-Android-USB-OTG-Camera

Good luck.

Quantum6

At 2023-02-28 15:54:53, "Alberto Fanjul" @.***> wrote:

Isn't it easier to demistify how libraries are updated?

There's not reference about what version jnilibs use

The simpler way to build them I found is: define android sdk and ndk

export ANDROID_SDK="$HOME/Android/Sdk" export ANDROID_HOME="$HOME/Android/Sdk" export ANDROID_NDK="$HOME/Android/Sdk/ndk/21.4.7075529"

clone UVCCamera

git clone https://github.com/saki4510t/UVCCamera

get into jni and build directly

cd UVCCamera/libuvccamera/src/main/jni ndk-build

I make this changes to support latest ndk:

diff --git i/libuvccamera/src/main/jni/Application.mk w/libuvccamera/src/main/jni/Application.mk index c6f7c2e..45d46a9 100644 --- i/libuvccamera/src/main/jni/Application.mk +++ w/libuvccamera/src/main/jni/Application.mk @@ -26,7 +26,7 @@

Note: Supporting GCC on NDK is already deprecated and GCC will be removed from NDK soon.

NDK_TOOLCHAIN_VERSION := 4.9

-APP_PLATFORM := android-14 -APP_ABI := armeabi armeabi-v7a x86 mips +APP_PLATFORM := android-16 +APP_ABI := x86

APP_OPTIM := debug

APP_OPTIM := release

latest libraries will be on:

$ ls -1 ../libs/x86/ libjpeg-turbo1500.so libusb100.so libUVCCamera.so libuvc.so

I recommend to do commits linking with commit on UVCCamera so anyone can bisect if their needed changes are present here.

Let me know if you want this to be included on wiki for general reference

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

krithick14 commented 1 year ago

Isn't it easier to demistify how libraries are updated?

There's not reference about what version jnilibs use

The simpler way to build them I found is: define android sdk and ndk

export ANDROID_SDK="$HOME/Android/Sdk"
export ANDROID_HOME="$HOME/Android/Sdk"
export ANDROID_NDK="$HOME/Android/Sdk/ndk/21.4.7075529"

clone UVCCamera

git clone https://github.com/saki4510t/UVCCamera 

get into jni and build directly

cd UVCCamera/libuvccamera/src/main/jni
ndk-build

I make this changes to support latest ndk:

diff --git i/libuvccamera/src/main/jni/Application.mk w/libuvccamera/src/main/jni/Application.mk
index c6f7c2e..45d46a9 100644
--- i/libuvccamera/src/main/jni/Application.mk
+++ w/libuvccamera/src/main/jni/Application.mk
@@ -26,7 +26,7 @@
 # Note: Supporting GCC on NDK is already deprecated and GCC will be removed from NDK soon.
 #NDK_TOOLCHAIN_VERSION := 4.9

-APP_PLATFORM := android-14
-APP_ABI := armeabi armeabi-v7a x86 mips
+APP_PLATFORM := android-16
+APP_ABI := x86
 #APP_OPTIM := debug
 APP_OPTIM := release

latest libraries will be on:

$ ls -1 ../libs/x86/
libjpeg-turbo1500.so
libusb100.so
libUVCCamera.so
libuvc.so

I recommend to do commits linking with commit on UVCCamera so anyone can bisect if their needed changes are present here.

Let me know if you want this to be included on wiki for general reference

Hi , We have found that https://github.com/saki4510t/UVCCamera also contains the old version of libuvc only which does not have support for the bayer formats.

Thanks you

krithick14 commented 1 year ago

Sorry, it's not my design. If someone want to use latest code, he can clone code himself. My design is: Everyone can download the code and build without any error, then the app works OK. You must clone many codes and find many errors when building, and is angry on this problem. I will check the latest libuvc this week. And I will update this repository: https://github.com/quantum6/Quantum6-Android-USB-OTG-Camera Good luck. Quantum6 At 2023-02-28 15:54:53, "Alberto Fanjul" @.> wrote: Isn't it easier to demistify how libraries are updated? There's not reference about what version jnilibs use The simpler way to build them I found is: define android sdk and ndk export ANDROID_SDK="$HOME/Android/Sdk" export ANDROID_HOME="$HOME/Android/Sdk" export ANDROID_NDK="$HOME/Android/Sdk/ndk/21.4.7075529" clone UVCCamera git clone https://github.com/saki4510t/UVCCamera get into jni and build directly cd UVCCamera/libuvccamera/src/main/jni ndk-build I make this changes to support latest ndk: diff --git i/libuvccamera/src/main/jni/Application.mk w/libuvccamera/src/main/jni/Application.mk index c6f7c2e..45d46a9 100644 --- i/libuvccamera/src/main/jni/Application.mk +++ w/libuvccamera/src/main/jni/Application.mk @@ -26,7 +26,7 @@ # Note: Supporting GCC on NDK is already deprecated and GCC will be removed from NDK soon. #NDK_TOOLCHAIN_VERSION := 4.9 -APP_PLATFORM := android-14 -APP_ABI := armeabi armeabi-v7a x86 mips +APP_PLATFORM := android-16 +APP_ABI := x86 #APP_OPTIM := debug APP_OPTIM := release latest libraries will be on: $ ls -1 ../libs/x86/ libjpeg-turbo1500.so libusb100.so libUVCCamera.so libuvc.so I recommend to do commits linking with commit on UVCCamera so anyone can bisect if their needed changes are present here. Let me know if you want this to be included on wiki for general reference — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.>

Hi Quantum,

First of all Thank you for the Quick Response.

As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc

FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that

Thank you once again.

quantum6 commented 1 year ago

I check the libuvc. 1, First I will update to 0.0.6 this week. 2, If it doesn't work, I will update to latest next week.

Good luck! Quantum

Hi Quantum,

First of all Thank you for the Quick Response.

As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc

FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that

Thank you once again.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

albfan commented 1 year ago

@quantum6 you know better, just to continue demistifying this.

Is UVCCamera used to build the libs?

I just check uvc_mjpeg2* functions.

On original repo there are:

uvc_mjpeg2rgb
uvc_mjpeg2gray

on UVCCamera:

uvc_mjpeg2bgr
uvc_mjpeg2rgb
uvc_mjpeg2rgb565
uvc_mjpeg2rgbx
uvc_mjpeg2yuyv

I check on this repo for symbols on libuvc and looks it uses UVCCamera "fork":

$ nm -gD libusbcamera/src/main/jniLibs/x86_64/libuvc.so | grep uvc_mjpeg2
00000000000122e0 T uvc_mjpeg2bgr
0000000000011d90 T uvc_mjpeg2rgb
0000000000012810 T uvc_mjpeg2rgb565
0000000000012d40 T uvc_mjpeg2rgbx
0000000000013270 T uvc_mjpeg2yuyv

https://github.com/libuvc/libuvc looks just like a regular lib, without any android ndk support.

libuvc last release is on 2017

last commit on UVCCamera for libuvc is 306ad50 (2016)

There're files called *_original in that could help to find the real libuvc commit There're changes on libuvc not present on original repo.

fork libuvc and start a branch android or similar to show the needed changes would be great, even contribute back to libuvc

Same for the rest of native libraries

quantum6 commented 1 year ago

It cost more time.

At 2023-03-01 15:14:55, "Alberto Fanjul" @.***> wrote:

@quantum6 you know better, just to continue demistifying this.

Is UVCCamera used to build the libs?

I just check uvc_mjpeg2* functions.

On original repo there are:

uvc_mjpeg2rgb uvc_mjpeg2gray

on UVCCamera:

uvc_mjpeg2bgr uvc_mjpeg2rgb uvc_mjpeg2rgb565 uvc_mjpeg2rgbx uvc_mjpeg2yuyv

I check on this repo for symbols on libuvc and looks it uses UVCCamera "fork":

$ nm -gD libusbcamera/src/main/jniLibs/x86_64/libuvc.so | grep uvc_mjpeg2 00000000000122e0 T uvc_mjpeg2bgr 0000000000011d90 T uvc_mjpeg2rgb 0000000000012810 T uvc_mjpeg2rgb565 0000000000012d40 T uvc_mjpeg2rgbx 0000000000013270 T uvc_mjpeg2yuyv

https://github.com/libuvc/libuvc looks just like a regular lib, without any android ndk support.

libuvc last release is on 2017

last commit on UVCCamera for libuvc is 306ad50 (2016)

There're files called *_original in that could help to find the real libuvc commit There're changes on libuvc not present on original repo.

fork libuvc and start a branch android or similar to show the needed changes would be great, even contribute back to libuvc

Same for the rest of native libraries

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

albfan commented 1 year ago

Not sure what that means. Depend on a binary files out of nowhere with changes on top of open source library.

It would be great to push the sources to create those binaries in another repo, but you know better, just suggesting if that helps to maintain the project

krithick14 commented 1 year ago

I check the libuvc. 1, First I will update to 0.0.6 this week. 2, If it doesn't work, I will update to latest next week. Good luck! Quantum Hi Quantum, First of all Thank you for the Quick Response. As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that Thank you once again. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Hi Quantum,

Any Update on the Issue ?

quantum6 commented 1 year ago

Some apis are changed. It will cost a week to do. This week would be finished.

At 2023-03-06 16:36:45, "Krithick" @.***> wrote:

I check the libuvc. 1, First I will update to 0.0.6 this week. 2, If it doesn't work, I will update to latest next week. Good luck! Quantum Hi Quantum, First of all Thank you for the Quick Response. As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that Thank you once again. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Hi Quantum,

Any Update on the Issue ?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

krithick14 commented 1 year ago

Some apis are changed. It will cost a week to do. This week would be finished. At 2023-03-06 16:36:45, "Krithick" @.> wrote: I check the libuvc. 1, First I will update to 0.0.6 this week. 2, If it doesn't work, I will update to latest next week. Good luck! Quantum Hi Quantum, First of all Thank you for the Quick Response. As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that Thank you once again. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.> Hi Quantum, Any Update on the Issue ? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

Hi Quantum, Updated the libuvc?

quantum6 commented 1 year ago

Sorry, I commited some code for a JDK issue those days. I will start libusb tonight.

Good luck.

在 2023-03-20 22:09:37,"Krithick" @.***> 写道:

Some apis are changed. It will cost a week to do. This week would be finished. At 2023-03-06 16:36:45, "Krithick" @.> wrote: I check the libuvc. 1, First I will update to 0.0.6 this week. 2, If it doesn't work, I will update to latest next week. Good luck! Quantum Hi Quantum, First of all Thank you for the Quick Response. As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that Thank you once again. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.> Hi Quantum, Any Update on the Issue ? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

Hi Quantum, Updated the libuvc?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

krithick14 commented 1 year ago

Sorry, I commited some code for a JDK issue those days. I will start libusb tonight. Good luck. 在 2023-03-20 22:09:37,"Krithick" @.> 写道: Some apis are changed. It will cost a week to do. This week would be finished. At 2023-03-06 16:36:45, "Krithick" @.> wrote: I check the libuvc. 1, First I will update to 0.0.6 this week. 2, If it doesn't work, I will update to latest next week. Good luck! Quantum Hi Quantum, First of all Thank you for the Quick Response. As you mention please Update the Libuvc to the latest version from this repo https://github.com/libuvc/libuvc FYI - https://github.com/saki4510t/UVCCamera this Saki Repository also contains the old version of libuvc only Please Dont use that Thank you once again. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.> Hi Quantum, Any Update on the Issue ? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.> Hi Quantum, Updated the libuvc? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

ok Quantum Once you Update the libuvc Kindly Notify Here. Thanks

krithick14 commented 1 year ago

And For You information Libuvc needs to be updated You mentioned in Comments as Libusb needs to be updated

krithick14 commented 1 year ago

Any Update ?

albfan commented 1 year ago

I would say again: Open a repo with the libuvc fork

quantum6 commented 1 year ago

The company I worked for has something wrong. It makes me very sad. I will update it this month.

I had integrated with 0.0.5/0.0.4, there are many differences. Wait for some times.

Good luck.

Quantum6

在 2023-04-02 18:31:25,"Krithick" @.***> 写道:

Any Update ?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

quantum6 commented 1 year ago

I will finished this work(0.0.6) this month. Then I will upload a so for test. It it works, I will upload all codes.

Quantum6

At 2023-04-03 18:39:04, "Alberto Fanjul" @.***> wrote:

I would say again: Open a repo with the libuvc fork

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

krithick14 commented 1 year ago

Updated ?

quantum6 commented 1 year ago

It compiled OK. This is lib and try it. I think it can't work...

在 2023-04-21 18:11:06,"Krithick" @.***> 写道:

Updated ?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

krithick14 commented 1 year ago

Updated in which repository?

Can you please provide me the repository link?

quantum6 commented 1 year ago

It is really hard work. And I am finding a job those month. I will try to do something for this.

quantum6 commented 1 year ago

I am very sorry. I am finding a job now.

albfan commented 1 year ago

@quantum6 just if that helps is ok whatever you do, focus on your priorities. Just if you can publish your sources as they are, we can help to rework on top of a know version