Note
This C++ sample has a corresponding Python sample.
RAW EVT Encoder using C++
This sample illustrates how to use the RAWEvt2EventFileWriter
to re-encode events from a file into a RAW EVT2 file, possibly with some intermediate event filtering or processing.
The source code of this sample can be found in <install-prefix>/share/metavision/sdk/stream/cpp_samples/metavision_raw_evt_encoder
when installing Metavision SDK from installer or packages. For other deployment methods, check the page
Path of Samples.
Expected Output
This sample reads data from a recorded event file, applies a vertical flip operation, then saves the resulting events into a RAW EVT2 file.
By default, only CD events are processed and encoded. To also encode trigger events, use
the --encode-triggers
option.
When trigger support is enabled, by default the encoder will buffer CD events until the first trigger event is received,
which avoids EVT2 encoding errors but may lead to memory issues. Alternatively, the -max-event-latency
option can be
used to specify the maximum time expected to receive events and limit the number of CD events that are buffered. This will
help preventing memory issues, but note that this may also lead to EVT2 encoding errors if trigger events are received
after the specified latency.
How to start
First, compile the sample as described in this tutorial.
To start the sample based on recorded data, provide the full path to an event file (for example, a RAW file from our Sample Recordings):
Linux
./metavision_raw_evt_encoder -i pedestrians.hdf5
Windows
metavision_raw_evt_encoder.exe -i pedestrians.hdf5
This will create the file pedestrians_evt_encoded.raw
encoded in RAW EVT2 format and flipped vertically.