Skip to content

Releases: xerpi/psp-uvc-usb-video-class

0.2 [Proof of concept]

04 Oct 10:19
Compare
Choose a tag to compare
  • Add dummy USB interface descriptor to include Interface Association Descriptor (IAD), needed by Windows
  • Code cleanups

0.1 [Proof of concept]

27 Sep 21:55
Compare
Choose a tag to compare

This is the first release, can be considered Proof of concept/alpha quality:

  • Uses the CPU to perform format conversion to YUY2

After doing some measurements, I've found that it takes:

  • 32.9ms to perform CSC (RGB -> YUY2)
  • 16.1ms to send the frame through USB

⇒ This means 1 / (32.9 + 16.1 ms) = ~20FPS.

To improve this, we should take advantage of the VFPU, ME or VME to perform fast RGB->YUV conversion. Probably sceMpegBaseCscVme, sceDmacplus_driver_0x9C492B9B and similar functions look the most promising.
If we could reduce CSC time to < 16.667ms we could achieve 60FPS by double buffering to hide latencies, in a ping-pong fashion (with one frame of latency from capture to sending):

|CSC0|CSC1|CSC2|....|....|CSCn| 
     |USB0|USB1|USB2|....|....|USBn|