Comments (7)
Merry Christmas! I got you JPEG decoding as a present. 🎄
from openhmd.
I see from your blog that we're one step closer to this. Which reminds me I still need to check which format the camera is using!
from openhmd.
Yes, probably. If you could paste some syslog output when connecting the camera via the extension, I suspect we'll find it enumerates as a USB 2.0 device. When connected to USB 2.0, the camera doesn't support raw video frame transport - only JPEG encoded frames. Conversely, when connected to USB 3.0, the camera only offers raw video format and doesn't support JPEG.
It's a bit silly.
The upshot is that I have not at all looked at incorporating a JPEG decoder to support the USB 2.0 mode and have been testing exclusively with USB 3.0 and raw video frames.
from openhmd.
Looking at my lsusb that seems to indeed be the case. That might explain why my previous CPU struggled so hard when running the rift under Windows. Is it bad that I'm not even surprised the sensors do that?
Here's an output from lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 2833:0211 Oculus VR, Inc. Rift CV1 Sensor
Bus 005 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 005 Device 002: ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 2833:3031 Oculus VR, Inc. Rift CV1
Bus 004 Device 002: ID 05e3:0626 Genesys Logic, Inc. USB3.1 Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 28de:1142 Valve Software Wireless Steam Controller
Bus 003 Device 074: ID 2833:0330 Oculus VR, Inc. Rift CV1 Audio
Bus 003 Device 073: ID 2833:0031 Oculus VR, Inc. Rift CV1
Bus 003 Device 072: ID 2833:2031 Oculus VR, Inc. Rift CV1
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 2833:0211 Oculus VR, Inc. Rift CV1 Sensor
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 001 Device 007: ID 1462:7c91 Micro Star International MYSTIC LIGHT
Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 1b1c:1b13 Corsair Vengeance K70RGB keyboard
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I'll grab dmesg/systemd logs later when I'm back at the PC if you need it.
Thanks!
from openhmd.
I think the best way to check the sensor is using v4l2-ctl --list-formats-ext -d /dev/video2
and specifying the right v4l2 device node. It will print out the formats the camera is announcing. If it includes JPEG, it's in USB 2.0 mode
from openhmd.
Don't forget if you're testing this, you need libjpeg development packages installed to get the JPEG support.
meson build
should output a line like:
Run-time dependency libjpeg found: YES 2.0.90
from openhmd.
I've been testing with 1 sensor in JPEG mode for weeks. Decoding adds a few ms to frame processing, but I can't tell the difference. The processing latency is compensated by prediction / lagged state updates.
from openhmd.
Related Issues (20)
- Handle CV1 headband LEDs HOT 1
- Remove OpenCV dependency HOT 2
- Rift/Nvidia HMD standby mode when a game is launched HOT 2
- Find ways to make the sensor fusion more efficient
- Display stays on regardless of proximity sensor HOT 7
- Compiling with CMake doesn't work on Manjaro HOT 5
- Haptics provides no output, sends thousands of log messages HOT 1
- DK2 sensor distortion calibration - indices incorrect HOT 1
- No display/tracking without sudo HOT 8
- Display all warpy and weird (weird distortion correction) HOT 3
- Stuttering, loss of tracking when haptics are activated HOT 7
- No tracking in Zenith HOT 2
- Any suggestions for optimization possibilities for Raspberry 4b!? HOT 12
- OpenHMD started failing connecting to Rift using Ubuntu.
- Does the actual HMD have positional tracking? HOT 4
- Unable to turn on the display on the Oculus CV1 HOT 2
- Mapping WMR (HP Reverb 2) controllers to memory buffer changes. HOT 1
- Are there plans to further develop this project or has all development gone to monado? HOT 2
- More of a question then anything. HOT 9
- Future Directions: Monado
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openhmd.