Julian Bouzas 841448cd94 lcevcdec: Check for errors after receiving all enhanced and base pictures
The LCEVC_ReceiveDecoderBase() and LCEVC_ReceiveDecoderPicture() APIs from the
LCEVCdec SDK can return LCEVC_Error if the enhancement data is wrong. This
change improves the lcevcdec element to check for those errors and stop the
pipeline when that happens.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9057>
2025-06-04 15:53:03 -04:00
..
2024-10-02 20:33:13 +00:00

LCEVC Decoder Build Instructions

  1. Build and install the V-Nova's LCEVC Decoder SDK (LCEVCdec):
$ git clone https://github.com/v-novaltd/LCEVCdec.git
$ cd LCEVCdec
  • Build and install the SDK
  • $BUILD_DIR and $INSTALL_DIR are local build and install directories
$ mkdir $BUILD_DIR
$ cd $BUILD_DIR
$ cmake  -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR ..
$ cmake --build .
$ cmake --install .
  1. Build LCEVC decoder (lcevcdecoder) plugin for GStreamer:
  • You can now build the lcevcdecoder plugin by using the '-Dgst-plugins-bad:lcevcdecoder=enabled' meson flag
  • $BUILD_DIR and $INSTALL_DIR are local build and install directories
  • For example:
$ cd GStreaner
$ meson setup $BUILD_DIR --pkg-config-path=$INSTALL_DIR/lib/pkgconfig -Dgst-plugins-bad:lcevcdecoder=enabled
$ ninja -C $BUILD_DIR
  1. Run GStreamer LCEVC decoder pipeline:
  • If the build was successful, you can test LCEVC decoding with the following pipeline:
$ gst-launch-1.0 filesrc location=/home/user/lcevc-sample.mp4 ! qtdemux ! h264parse ! openh264dec ! lcevcdec ! videoconvert ! autovideosink
  • LCEVC decoding should also work with autoplugging elements:
$ gst-launch-1.0 playbin uri=file:///home/user/lcevc-sample.mp4