/CSLP_Encoder

Primary LanguageJupyter Notebook

Running the project

Building

To build the project, run the following commands:

mkdir build
cd build
cmake ../
cmake --build . --target CSLPEncoder -j 8

Running

To run the project, run the following command:

bin/CSLPEncoder -h

Pass the -h flag to see the help message and the available options.

Running a demo

First, build the demos target.

cmake --build . --target Demos -j 8
cd tests

Then, run any of the demos.

./Demos --gtest_filter='<test_suite_name>.<test_name>'

For example:

./Demos --gtest_filter='VideoTestSuite.VideoPlay'

List of demos

Image

  • Show a BGR image subsampled and converted back
    ./Demos --gtest_filter='ImageDemo.SubSampling_Demo'
  • Show an images' color histograms
    ./Demos --gtest_filter='ImageDemo.ColorHist_Demo'
  • Show a histogram equalized image and its color histogram
    ./Demos --gtest_filter='ImageDemo.EqualizedColorHist_Demo'
  • Add a watermark to an image
    ./Demos --gtest_filter='ImageDemo.WatermarkDemo'
  • Show an image subsampled without converting to RGB and then to YUV
    ./Demos --gtest_filter='ImageDemo.SubsamplingDemo'
  • Show an image thresholded
    ./Demos --gtest_filter='ImageDemo.ThresholdDemo'
  • Show an image with a Gaussian filter applied
    ./Demos --gtest_filter='ImageDemo.GaussianDemoFlat1'
  • Show an image with a stronger Gaussian filter applied
    ./Demos --gtest_filter='ImageDemo.GaussianDemoFlat2'
  • Show an image with a distance based filter applied
    ./Demos --gtest_filter='ImageDemo.GaussianDemoDistanceBased1'

Video

  • Show a video from a file
    ./Demos --gtest_filter='VideoTestSuite.VideoPlay'
  • Show a video from a Y4M file
    ./Demos --gtest_filter='VideoTestSuite.Y4MVideoTest'
  • Show a video from a Y4M file converted to RGB
    ./Demos --gtest_filter='VideoTestSuite.Y4M2BGRVideoTest'

Testing

Build the tests target.

cmake --build . --target tests_run -j 8
cd tests

To run all tests, run the following command:

./tests_run --gtest_filter='*'

To run a specific test, run the following command:

./tests_run --gtest_filter='<test_suite_name>.<test_name>'

Warning

Running all tests will take a long time.

Most tests expect the file ducks_take_off_444_720p50.y4m to be present in the tests/resource directory. If it is not present, the tests will fail.

You can download the file from here.

For example:

./tests_run --gtest_filter='ImageTest.GRAYEquivalenceTest'

Documentation

To generate the documentation, run the following command:

doxygen Doxyfile

The documentation will be generated in the docs directory using the Doxygen tool.