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
  • DIL_QueryProperty
  • DIL_SetProperty
  • DIL_QueryPropertyGroup
  • DIL_ReleaseProperty
  • DIL_ReleasePropertyGroup
  • DILProperty struct.
  • DILPropertyGroup struct.

Was this helpful?

  1. Decoder
  2. SDK
  3. Decoder Integration Layer (DIL)

DIL Properties API

DIL_QueryProperty

Obtain a specific named property. This function provides a way of looking up a property by name to observe it's current value, this may be of use for a user to query DIL properties

DIL_ReturnCode DIL_QueryProperty(DIL_Decoder decoder, const char* name, DILProperty* output);

DIL_SetProperty

Set a specific named property. This function provides a way of changing a property by name

DIL_ReturnCode DIL_SetProperty(DIL_Decoder decoder, const char* name, DILProperty* value);

DIL_QueryPropertyGroup

Obtain all the available properties for a named group

DIL_ReturnCode DIL_QueryPropertyGroup(DIL_Decoder decoder, const char* name, DILPropertyGroup* output);

DIL_ReleaseProperty

Release a previously queried property, this function provides a way of releasing any memory allocated by a call to DIL_QueryProperty. Any data contained in value maybe invalidated after this call

DIL_ReturnCode DIL_ReleaseProperty(DIL_Decoder decoder, DILProperty* value);

DIL_ReleasePropertyGroup

Release a previously queried property group, this function provides a way of releasing any memory allocated by a call to DIL_QueryPropertyGroup Any data contained in value maybe invalidated after this call

DIL_ReturnCode DIL_ReleasePropertyGroup(DIL_Decoder decoder, DILPropertyGroup* value);

DILProperty struct.

This structure contains all relevant information used to query a property or metadata from the DIL.

typedef struct DILProperty
{
  const char*     name;        /* The name of the property.  */
  const char*     description; /* A description of the property. */
  DILPropertyType type;        /* The value type for this property. */
  union
  {
    int8_t      i8;
    int16_t     i16;
    int32_t     i32;
    int64_t     i64;
    uint8_t     u8;
    uint16_t    u16;
    uint32_t    u32;
    uint64_t    u64;
    float       f;
    double      d;
    const char* str;
    const void* vptr;
    const void* data;
		const DILPropertyGroup* pgptr;
  } value;                  /* A union representing the value of the property. The user must read the field that match the type enum value. */

  const uint8_t* blob;      /* Special field containing a block of contiguous memory when the type enum is set to DIL_PT_Blob. This is allowed to be NULL. */
  uint32_t       blob_size; /* When the blob is not NULL then the length in bytes of the memory, otherwise 0. */
	uint64_t       data_size; /* size of the "data" buffer in bytes */
	bool           can_free;  /* flag to show if the pointer values should be free'ed when the DIL_ReleaseProperty is called */
} DILProperty;

DILPropertyGroup struct.

This structure contains a logical grouping of properties, this is a convenience feature to assist with providing a "pretty" command line, or GUI.

All properties are assigned to a group, and properties can only appear in one group.

typedef struct DILPropertyGroup_t
{
  const char*  name;           /* The name for this group of properties. */
  const char*  description;    /* A description of the property group. */
  DILProperty* properties;     /* An array of properties for this group. */
  uint32_t     property_count; /* The length of the properties array. */
	bool         can_free;       /* flag to show if the properties pointer should be free'ed when the DIL_ReleaseProperty is called */
} DILPropertyGroup;
PreviousDIL Types and EnumerationsNextNDK

Last updated 4 months ago

Was this helpful?