Skip to content
This repository has been archived by the owner on May 3, 2021. It is now read-only.

Optimization clean #3

Open
wants to merge 25 commits into
base: master
Choose a base branch
from

Commits on Jan 10, 2014

  1. Configuration menu
    Copy the full SHA
    145e4f4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1d07a79 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f490040 View commit details
    Browse the repository at this point in the history
  4. Add LICENSE information

    thp committed Jan 10, 2014
    Configuration menu
    Copy the full SHA
    82a4475 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2014

  1. fixed uninitialized is_streaming variable

    gaborpapp authored and thp committed Oct 8, 2014
    Configuration menu
    Copy the full SHA
    39ee96f View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2015

  1. Configuration menu
    Copy the full SHA
    dbf9c58 View commit details
    Browse the repository at this point in the history
  2. Merge pull request inspirit#3 from cboulay/Fix-MinGW64

    Fixed compilation with MiNGW64.
    thp committed Feb 13, 2015
    Configuration menu
    Copy the full SHA
    6a034ea View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7117667 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2015

  1. Configuration menu
    Copy the full SHA
    37af330 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2015

  1. Merge pull request inspirit#4 from cboulay/Fix-Exposure

    Created set_parameters function in ps3eyedriver to expose set_<parm>
    thp committed Mar 1, 2015
    Configuration menu
    Copy the full SHA
    5c49ff3 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2015

  1. Compiles in VS2013

    Fixes for GCC (homebrew and mingw).
    
    Fixes for GCC (homebrew and mingw).
    
    Fixes an issue in Win 8.1 where PS3Eye shows up as two devices, presumably camera and microphone. Microphone cannot be opened with libusb so check for lack of err in opening device.
    
    Fix debug macro. Add debug target to sdl example.
    
    SDL example closes camera when quiting.
    
    Added Green balance.
    
    Exposed paramter getters through ps3eyedriver
    cboulay committed May 25, 2015
    Configuration menu
    Copy the full SHA
    8a5d3fd View commit details
    Browse the repository at this point in the history
  2. Merge pull request inspirit#9 from cboulay/psmoveapi

    Compiles in VS2013
    thp committed May 25, 2015
    Configuration menu
    Copy the full SHA
    16b20ab View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2015

  1. Switch usb event polling from using libusb_handle_events to libusb_ha…

    …ndle_events_timeout_completed with a 50ms timeout. Internally libusb_handle_events calls libusb_handle_events_timeout_completed with a 60sec timeout. On rare occasions lib usb on Windows can stall waiting for an event to complete, resulting in a 60sec wait before the video stream recovers. Realistically, 50ms is more than long enough to wait.
    BinaryShift committed Sep 16, 2015
    Configuration menu
    Copy the full SHA
    db88902 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2015

  1. Merge pull request inspirit#11 from brendanwalker/psmoveapi

    Switch usb event polling from using libusb_handle_events to libusb_ha…
    thp committed Sep 21, 2015
    Configuration menu
    Copy the full SHA
    3daa5b9 View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2016

  1. Added windows-only calls to timeBeginPeriod(1) at PS3EYECam::start() …

    …and to timeEndPeriod(1) at PS3EYECam::stop(). I hope this improves PS3EYEDriver->libusb performance in Windows.
    cboulay committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    c02c585 View commit details
    Browse the repository at this point in the history
  2. Merge pull request inspirit#12 from cboulay/psmoveapi

    Added windows-only calls to timeBeginPeriod(1) at PS3EYECam::start() …
    thp committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    c77aca8 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1 from cboulay/psmoveapi

    Added windows-only calls to timeBeginPeriod(1) at PS3EYECam::start() …
    brendanwalker committed Jan 6, 2016
    Configuration menu
    Copy the full SHA
    218896a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    555f4d3 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2016

  1. Merge pull request inspirit#13 from brendanwalker/psmoveapi

    Increase timer resolution in Windows so libusb calls can return faster.
    thp committed Jan 8, 2016
    Configuration menu
    Copy the full SHA
    63ffe18 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2016

  1. Merge remote-tracking branch 'inspirit/master' into psmoveapi

    Conflicts:
    	sdl/main.cpp
    	src/ps3eye.cpp
    	src/ps3eye.h
    rovarma committed Jan 20, 2016
    Configuration menu
    Copy the full SHA
    fa33044 View commit details
    Browse the repository at this point in the history
  2. - Fixed W4 warnings

    rovarma committed Jan 20, 2016
    Configuration menu
    Copy the full SHA
    0d504e6 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2016

  1. Merge pull request inspirit#19 from cboulay/master

    SDL example changes: Include SDL now the same for Windows and OS X
    inspirit committed Jan 25, 2016
    Configuration menu
    Copy the full SHA
    034b44a View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2016

  1. Configuration menu
    Copy the full SHA
    517ac40 View commit details
    Browse the repository at this point in the history
  2. Optimized PS3EyeDriver performance

       - Increased the number of concurrent USB transfers active from 2 to 8. I've tested this on three different machines (low, medium, high spec), and this seems to hit the sweet spot for raw USB performance (max throughput)
       - Removed timeBeginPeriod/timeEndPeriod calls (they were not needed)
       - All cameras are now updated from a single thread (internal to the API). This thread is responsible for running the libusb event loop. This is to ensure that the performance of the camera is decoupled from the performance of the application polling the frames; the cameras will always update at the FPS specified during PS3EYECam::init, the application (consumer) can run as slow or fast as it wants.
       - There is now a per-camera frame queue. Internally it's implemented as a ring buffer; the camera update thread (producer) writes to *head*, the client (consumer) reads from *tail*. If no data is available, the consumer will block. However, if the buffer is full, the producer (camera update thread) will *not* block. This is to ensure that the camera update thread will always run at the max possible FPS, independent of the consumer and of the number of cameras in the system.
    
    API changes
       - PS3EYECam::handleEvents has been removed (this is now done internally by a dedicated libusb event thread)
       - PS3EYECam::isNewFrame() has been removed
       - PS3EYECam::getLastFramePointer has been renamed to PS3EYECam::getFrame. This function blocks if no frame is available and now returns a malloc'd copy of the frame; the client is responsible for free'ing the buffer when done with it.
       - The SDL test app has been updated with these API changes (openframeworks and cinder have not, because I don't know how to build them...)
    
    PS3EYEDriver C-wrapper changes (PS3EyeDriver.cpp)
       - Removed the yuv buffer management; there is no longer a need for it since the ps3eye driver now always returns a single frame
       - yuv422_buffer_t is now a simple wrapper around the buffer returned by  PS3EYECam::getFrame. It's purely responsible for making sure the frame is free'd when it's no longer needed
    
    With this, it's now possible to update the PS3Eye at 60 FPS, independent of the number of cameras in the system. The only limiting factor should be how fast your client is.
    rovarma committed Jan 31, 2016
    Configuration menu
    Copy the full SHA
    24a19d6 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2016

  1. - Renamed ps3eyedriver.h/.cpp to ps3eye_capi.h/.cpp to make it cleare…

    …r what the difference is with ps3eye.h/.cpp
    
    - Added frame counter to sdl test app
    rovarma committed Feb 1, 2016
    Configuration menu
    Copy the full SHA
    7943ecf View commit details
    Browse the repository at this point in the history