Skip to content
Snippets Groups Projects
Forked from jvet / VVCSoftware_VTM
7739 commits behind the upstream repository.
Name Last commit Last update
..
CMakeLists.txt
parcat.cpp
readme.md

parcat - Concatenation tool for parallel simulations

This tool allows to cat segments from parallel simulation according to JVET-B0036 into bitstream bitexact with corresponding output of sequential simulation.

What it does

This tool

  • removes any duplicated and unnesessary information from segments like SPS, PPS, VPS, IDR-frames, SEI from all segmetns but first.
  • adjust POC value to provide continious numbering and correct referencing (actual POC modification occurs only for second and folowing segments)
  • cat filtered segments into single file

Output of this tool is decodable JEM bitstream.

Usage

parcat <segment1> [<segment2> ... <segmentN>] <outfile>

where <segment_i> is result of parallel simulation according to JVET-B0036.

Building

The tool is quite simple and is stored in one C++ file. You can build it using any decent C++98 compiler using command line.

Alternatevily cmake build system scripts are provided to maintain cross platform experience and simplify generation of IDE-s projects like Visual Studio.

To use it

  • install cmake from cmake.org
  • create build folder inside project root folder (where CMakeLists.txt is located)
  • cd to this folder
  • configure project using following command line cmake ..
  • build project using your platform's default build system, say Visual Studio on Windows and make on UNIX

Restrictions

parcat currently supports only JEM-2.0 and JEM-3.0 bitstreams. Support for HM 16.9 bitstreams is scheduled.