Skip to content

This library adds front and backend support to capture from different types of media and display it. It also adds basic functionality that constructs the main visual task execution tree and can load those designs from files.

License

Notifications You must be signed in to change notification settings

petrogly-ph/vin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vin : The Video INput library

The vin library is minimal (Qt only) support for media capture and visualization. It is meant to bookend the functional-dag so that other cognitive components can rely on these pieces and build the real architecture.

Why would you want this?

The commitment being made with this cognitive architecture is that tensors are the key data structure passed between components of the system rather than CvMats. This system does not support linear algebra routines and will do as much as possible to support native tensors into and out of pytorch and to do it in the most minimal way possible that is compatible with the package managers.

Build and install

The build is CMake based and is built for cxx20 standards and we currently only support homebrew.

$ git clone https://github.com/petrogly-ph/vin
$ cd vin
$ brew install --build-from-source Formula/vin.rb

User docs

TBA

Build dependencies

This project tries to minimize dependencies so as to not stack dependencies across larger projects and to make it easier to build simple layers to other languages like python.

Build dependencies:

  • Qt6 (Gstreamer doesn't always support native libraries. Qt is a great library to support basic multimedia and OpenGL)
  • Cmake
  • ctest (if you want to unit test)
  • clang-tidy (if you want to lint the code as well)

Dependencies during testing:

  • Catch2 (for unit testing)
  • Qt6 (Gstreamer doesn't always support native libraries. Qt is a great library to support basic multimedia and OpenGL)

Runtime dependencies

  • Qt6 (Gstreamer doesn't always support native libraries. Qt is a great library to support basic multimedia and OpenGL)

How to contribute to the code

We work on issues. If you'd like to help out, take a look at the issues, assign a free one and start coding!

You're also welcome to perform unsolicited push requests to main and ask for a review. We'll be happy to take a look and provide feedback.

You can also help out by simply providing bug reports!

About

This library adds front and backend support to capture from different types of media and display it. It also adds basic functionality that constructs the main visual task execution tree and can load those designs from files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published