Work has started again on the SECS specification and subsequently the SkypeECXU library.

 

We added another extension unit control to the specification to allow switching encoded video to the H.264 constrained high profile.  This functionality allows better video compression for low bandwidth situations to maintain quality video.

 

This is the final change for the SECS version 2.2.  More additions to the SECS are planned soon, but these updates will go into another version of the specifcation.  Download the new version here: http://developer.skype.com/camera/skype-encoding-camera-specification

 

We also finally have the first SECS capable camera in certification.  This means they will start hitting the market very soon.  We will make further announcements when the camera is offically on the market.

 

In addition to the specification updates, we updated the SkypeECXU  library to version 2.00.  The library accomodates both SECS 2.1 and 2.2.  This means there is one library smart enough to use both versions of the specification.

 

Aside from specification compliance updates, we also updated function headers to include more detailed usage descriptions and corrected a bug in the parser code to correctly strip the leading 32 bit resolution header from the front of raw video frames obtained from the Skype stream.  See the specifcation section on the Skype Transport Stream for more details.

 

The new library is also available for download on the specification page.

The SkypeECXU library was recently updated to version 1.05.

Download the new version here: http://developer.skype.com/camera/skype-encoding-camera-specification

This version contains some significant updates to the certification scripts and a couple of important updates to the driver code.

 

Major updates:

- Corrected an error in the video4linux2 driver when running on the 3.0 Linux kernel.  The previous code used a pre-release 3.0 Linux kernel interface for extension unit commands.  The update corrects the code to use the release version of the 3.0 Linux kernel UVC extension unit interface.  This corrects errors detecting a SECS camera on the Linux 3.0 kernel.

 

- Corrected error in the debug printing macro by enclosing the print statements in a do/while loop structure and removing the semi-colon at the end of the macro.  The previous macro contained two print statements without any enclosing braces and contained a semi-colon on the last print statement.  This could cause unintentional debug printing of the second print statement and would allow 'debug_printf' statements in the code without a semi-colon.

 

- Updated the certification scripts and certification requirements:

 

  - Save 100 frames of the main video stream in H.264 format

 

  - Save 100 frames of the preview video stream format in YUV format

 

  - Removed XU response time requirement

 

  - Changed testing of response time requirement to simply record the average response time of the XU commands

 

  - Added dedicated console only status messages to the scripts to give the user feedback when a log file is specified.

 

  - Changed certification scripts log file usage to automatically include camera vendor (from command line), camera model (from command line), OS name and kernel version (from python) and system architecture (from python).  Also changed command line processing of the log file from an on/off flag to a string indicating the path used for the log file.

 

Minor updates:

- Added a semi-colon to debug_printf statements missing a semi-colon.  The previous macro definition masked the missing semi-colons in the driver code

 

- Added a Linux shell script in the certification area to play back raw video using mplayer

 

- Added binary file writing utility to address short comings in the Python ctypes library with using pointers

 

Keep an eye out over the next couple of months for certified SECS cameras to begin hitting the market.  Vendors like Quanta and AIT are in the process of getting the first SECS compliant cameras certified. 

 

Remember, the SkypeECXU library and SECS are not tied directly to the Skype client or SkypeKit. Once SECS compliant cameras begin hitting the market soon, the SkypeECXU library can be integrated into any product needing encoded HD video, subject to the terms of the license of course (Apache at the time of this writing).

We have just released an update to Skype Encoding Camera Specification (SECS), putting the document at revision 2.2.

 

SECS 2.2 is a minor update focused on allowing host software to obtain an audio profile (if applicable) of a camera to fine tune the audio experience.  In the near future Skype will support both SECS 2.1 and SECS 2.2.

 

The ability of the host to understand how audio data is processed within the camera will help vendors fine tune any camera dynamically to sound great when running on a TV or any other embedded device with special audio needs.

 

Download the new specification and take a look at the new audio configuration additions.

 

Keep an eye out for updates to the SkypeECXU library to support the new functionality in the near future.

BrentWeatherall

SkypeECXU Library 1.04 update

by ‎08-10-2012 17:32 - edited ‎08-10-2012 17:46

The SkypeECXU library was recently updated to version 1.04.  Development is ramping up on the library at this time, so expect one or two more updates in the near future.

Download the new version here: http://developer.skype.com/camera/skype-encoding-camera-specification

This update corrects the following functional issues:

 - Syntax errors found in the SECS_Run_Test_Vectors.py file.  Two 'else if' statements were changed to 'elif'.

 - Updated the arm toolchain CMake file to specify difference between building for Beagle board (soft float) and building for Panda board (hard float).

 - Corrected logic error preventing the library from running correctly on the 2.6.32 and 2.6.36 Linux kernels related to the Linux 3.2 kernel updates.

Minor updates include adding copy right statements to the newer logging python class in the certification suite area and preliminary code changes to support the upcoming SECS 2.2 specification.

 

More updates to the library are in process so expect another releases soon.  Currently, a handful of bugs are already identified and we will release another update for these.

 

MacOS and Windows support are slowly making their way into the library.

 

An update to the SECS 2.1 document (SECS 2.2) is also in process.  SECS 2.2 is a minor update.  It specifies an audio profile to support and specifies one extension control to query the camera for details regarding how much audio processing is provided in the device.  SECS 2.2 has NO impact to the video specifications made by SECS 2.1.

 

Remember, the SkypeECXU library and SECS are not tied directly to the Skype client or SkypeKit. Once SECS compliant cameras begin hitting the market soon (made by vendors like Quanta) the SkypeECXU library can be integrated into any product needing encoded HD video, subject to the terms of the license of course (Apache at the time of this writing).

We have just published another update to the SkypeECXU library.  This update puts the library at version 1.03.

 

Download the new version here: http://developer.skype.com/camera/skype-encoding-camera-specification

 

A couple of major issues were corrected for this version.

The ARM toolchain file will now produce correct dynamic library (.so) files.  Correct detection of a NULL pointer was added in the device context initialization.  An error in the driver test driver was found and corrected when configuring the preview stream in a dual endpoint scenario.  XU timing data collection was added to the certification scripts.  In general, the certification scripts were reviewed and all missing basic functionality was added.

 

The remaining minor updates include cleaning up the certification scripts to remove redundant code, cleaning up certification script error messages and updating certification scripts to take optional output file as an argument.

 

The certification scripts still have a significant amount of cosmetic work needed to be more pythonic.

 

MACOS and Windows are still not supported in the code base.  These items are slowly making their way into code.  As before, if you are using the SkypeECXU library please download the updated version and feel free to report any problems, bugs or questions.

 

Remember, the SkypeECXU library and SECS are not tied directly to the Skype client or SkypeKit.  Once SECS compliant cameras begin hitting the market soon (made by vendors like Quanta) the SkypeECXU library can be integrated into any product needing encoded HD video, subject to the terms of the licence of course (Apache at the time of this writing).

 

BrentWeatherall

SkypeECXU Version 1.02

by on ‎24-05-2012 17:53

We have just published another update to the SkypeECXU library.  This update puts the library at version 1.02.

 

Download the new version here: http://developer.skype.com/camera/skype-encoding-camera-specification

 

The 1.02 update includes support for the newest Linux Kernel generation (3.2+) and puts the XU processing code all in one place for a more compact and less error prone code base.

 

We added a toolchain example file for ARMv7 platforms.  BEWARE that using the current options for ARMv7 compilation in the toolchain file will result in a BAD dynamic library due to relocation errors.  This is only a problem if you intend to run the Python certification scripts on an ARMv7 platform since the Python scripts link to the dynamic libraries.  The static libraries still run correctly  To run the scripts on ARMv7, the code MUST be compiled on the ARM machine directly at this time.  Since Python3 is not ready for real use and may not ever come to fruition, the Python scripts are verified to work in the current release of Python 2.7 at the time of this writing.

 

As of version 1.02, Windows and MACOS code is still not ready.  It is under development and coming soon.

 

If you are developing with the SkypeECXU library, please download the new version and take it for a spin.  Please feel free to report any bugs or raise any issues found while using this software.  Keep tabs on this blog for future news regarding releases to the SkypeECXU library or any other news related to the SECS.  Remember, Windows and MACOS support is on the horizon.

BrentWeatherall

SkypeECXU Update

by on ‎26-04-2012 17:04

We have just published an update to the SkypeECXU library.  The new library version is 1.01.

 

Download the new version here: http://developer.skype.com/camera/skype-encoding-camera-specification

 

The new version contains a minor bug fix in the driver for managing dual endpoints, where to the preview stream precedes the main stream.

 

The new version also contains a directory of python based hardware verification scripts.  These scripts are designed to certify that a SECS camera is truly compliant with the minimum requirements of the specification.  The README.txt file contains more detailed information.

 

If you are developing with the SkypeECXU library, please download the new version and take it for a spin.  Keep tabs on this blog for future news regarding releases to the SkypeECXU library or any other news related to the SECS.