Project demonstrating how to use Cinecoder to encode and decode, including the Daniel2 codec
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
Daniel2.DPXEncoder
Daniel2.MXFTranscoder
Daniel2.Managed.Tests
Daniel2.Native.Tests
Daniel2.SimplePlayerGL.vcxproj
Daniel2.SimplePlayerGL.xcodeproj
Daniel2.SimplePlayerGL
SimpleAudioDecoder
SimpleAudioEncoder
SimpleVideoDecoder
SimpleVideoEncoder
_toolkits
common
.gitattributes
.gitignore
Cinecoder.Samples.sln
LICENSE
README.md
appveyor.yml
cinecoder_error_handler.cs
cinecoder_error_handler.h
cinecoder_license_string.cs
cinecoder_license_string.h
get-external-libraries.bat
get-external-libraries.ps1

README.md

Cinecoder Samples

Projects demonstrating how to use Cinecoder to encode and decode, including the Daniel2 codec

Build Status

We auto-build this using AppVeyor - here is how we are doing right now:

Build status

You can check out the latest compiled binary from our branches here:

AppVeyor Cinecoder.Samples Project Builder

Project Overview

There are a few different projects included now within these samples, which help to show off some critical features of Cinecoder and the Daniel2 codec.

The most important are:

Daniel2.SimplePlayerGL

Daniel2.DPXEncoder

This project is designed to show off the raw speed of Daniel2 encoding, using C++. Clarity has been sacrificed in favour of targetting maximum performance, so if you are just starting out with Daniel2 maybe take a look at the Simple Video Decoder and Encoder managed code projects first.

Our approach with this project is to take an input file(s) and read directly into CUDA pinned memory, and then upload into the GPU for encoding. It also uses several reading threads and no reading cache to get the maximum possible reading bandwidth. On top-end cards, the PCI bus speed becomes the major limiting factor of the encoding process.