LogoLogo
HomeMPEG-5 LCEVCSMPTE VC-6V-Nova PresenZV-Nova Platform
MPEG-5 LCEVC
MPEG-5 LCEVC
  • V-NOVA LCEVC
    • Overview
    • LCEVC Best Practices
  • Encoder
    • Getting Started
    • SDK
      • Encoder Integration Layer (EIL)
        • EIL Integration Process
          • Error Handling
          • Base Encoder Plugin
        • Features
        • Encoding Configuration Properties
        • CBR vs CRF
        • Lower Resolutions (720p and below)
        • V-Nova LCEVC-specific Parameters
        • Metadata
        • API (version 3.9)
    • NDK
      • LCEVC Encoder IP Core
  • Decoder
    • Getting Started
    • SDK
      • LCEVC Decoder for Web (LCEVCdecJS)
      • Decoder Integration Layer (DIL)
        • Functionality
        • API Overview
        • Example Integration Code
        • DIL API
        • DIL Types and Enumerations
        • DIL Properties API
    • NDK
      • LCEVC Decoder IP Core
        • LCEVC Decoder IP Core Deliverables
      • LCEVC Hybrid Driver-level Decoder
  • Integrations
    • LCEVC in Chromium
    • LCEVC in WebRTC
    • FFmpeg with LCEVC
      • Example Script
      • FFmpeg Encoder
      • FFmpeg Decoder
      • Putting the Software Together
    • Player Integrations
      • AVPlayer with LCEVC
      • VLCKit with LCEVC
      • Shaka Player with LCEVC
      • Embedding LCEVC-enabled demo hls.js player
      • AndroidX (ExoPlayer) with LCEVC
    • LCEVC in Android Open-Source Project
Powered by GitBook
LogoLogo

© Copyright V-Nova 2025

On this page
  • Introduction
  • Single-pass versus multi-pass
  • Functionality

Was this helpful?

  1. Encoder
  2. SDK

Encoder Integration Layer (EIL)

PreviousSDKNextEIL Integration Process

Last updated 7 days ago

Was this helpful?

Introduction

This article serves as a reference to the V-Nova LCEVC Encoder Integration Layer and should be read in conjunction with the Encoder Integration Layer (EIL) header, where each function is well documented as to its behaviour, arguments and return conditions. This document outlines the design, flow of functionality, and the properties exposed through the Integration Layers configuration system.

The following figure illustrates the EIL software stack.

The EIL combines V-Nova LCEVC with the base codec, and wrappers for supported base codecs. V-Nova provides example source code below to show how to use the Integration Layer.

Single-pass versus multi-pass

V-Nova LCEVC is a single-pass encoder and provides the same results as if it were included in a multi-pass implementation, as the codec always operates in a single pass.

Putting it all together, the following scripts can be tested as starting points for CBR and CRF. Assuming that the scripts would be used to encode short test sequences, we included commands to set the rate control window type to “rolling window” mode.

Functionality

The EIL provides a simple yet powerful API, and is similar in usage to working with other video encoding libraries.

The steps for encoding streams using the V-Nova LCEVC EIL are as follows:

  1. Initialise the Integration Layer

  2. While there are frames to encode:

    a. Obtain an input frame and pass ownership to the encoder.

    b. Wait for the encoder to complete, then fetch the encoded frame.

    c. Release ownership of the output frame back to the encoder.

  3. Shut down the Integration Layer

V-Nova LCEVC Encoding Software Stack