GstVulkanDecoder

GstVulkanOperation abstracts a video decoding operation.

GstVulkanDecoder

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstVulkanDecoder

Members

parent (GstObject) –

the parent GstObject

queue (GstVulkanQueue *) –

the GstVulkanQueue to command buffers will be allocated from

codec (guint) –

the configured video codec operation

profile (GstVulkanVideoProfile) –

the configured GstVulkanVideoProfile

input_buffer (GstBuffer *) –

the buffer to upload the bitstream to decode

layered_buffer (GstBuffer *) –
No description available
dedicated_dpb (gboolean) –

if decoder needs a dedicated DPB

layered_dpb (gboolean) –

if decoder's dedicated DPB has to be a layered image

Since : 1.24


Class structure

GstVulkanDecoderClass

Fields
parent (GstObjectClass) –

the parent GstObject

Since : 1.24


GstVulkan.VulkanDecoderClass

Attributes
parent (Gst.ObjectClass) –

the parent Gst.Object

Since : 1.24


GstVulkan.VulkanDecoderClass

Attributes
parent (Gst.ObjectClass) –

the parent Gst.Object

Since : 1.24


GstVulkan.VulkanDecoder

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──GstVulkan.VulkanDecoder

Members

parent (Gst.Object) –

the parent Gst.Object

queue (GstVulkan.VulkanQueue) –

the GstVulkan.VulkanQueue to command buffers will be allocated from

codec (Number) –

the configured video codec operation

input_buffer (Gst.Buffer) –

the buffer to upload the bitstream to decode

layered_buffer (Gst.Buffer) –
No description available
dedicated_dpb (Number) –

if decoder needs a dedicated DPB

layered_dpb (Number) –

if decoder's dedicated DPB has to be a layered image

Since : 1.24


GstVulkan.VulkanDecoder

GObject.Object
    ╰──GObject.InitiallyUnowned
        ╰──Gst.Object
            ╰──GstVulkan.VulkanDecoder

Members

parent (Gst.Object) –

the parent Gst.Object

queue (GstVulkan.VulkanQueue) –

the GstVulkan.VulkanQueue to command buffers will be allocated from

codec (int) –

the configured video codec operation

input_buffer (Gst.Buffer) –

the buffer to upload the bitstream to decode

layered_buffer (Gst.Buffer) –
No description available
dedicated_dpb (bool) –

if decoder needs a dedicated DPB

layered_dpb (bool) –

if decoder's dedicated DPB has to be a layered image

Since : 1.24


Methods

gst_vulkan_decoder_append_slice

gboolean
gst_vulkan_decoder_append_slice (GstVulkanDecoder * self,
                                 GstVulkanDecoderPicture * pic,
                                 const guint8* data,
                                 size_t size,
                                 gboolean add_startcode)

Appends slices's data bitstream into pic internal input buffer.

Parameters:

self

a GstVulkanDecoder

data

slice's bitstream data

size

the size of data

add_startcode

whether add start code

Returns

whether the slice data were added.


GstVulkan.VulkanDecoder.prototype.append_slice

function GstVulkan.VulkanDecoder.prototype.append_slice(pic: GstVulkan.VulkanDecoderPicture, data: Number, size: Number, add_startcode: Number): {
    // javascript wrapper for 'gst_vulkan_decoder_append_slice'
}

Appends slices's data bitstream into pic internal input buffer.

Parameters:

data (Number)

slice's bitstream data

size (Number)

the size of data

add_startcode (Number)

whether add start code

Returns (Number)

whether the slice data were added.


GstVulkan.VulkanDecoder.append_slice

def GstVulkan.VulkanDecoder.append_slice (self, pic, data, size, add_startcode):
    #python wrapper for 'gst_vulkan_decoder_append_slice'

Appends slices's data bitstream into pic internal input buffer.

Parameters:

data (int)

slice's bitstream data

size (int)

the size of data

add_startcode (bool)

whether add start code

Returns (bool)

whether the slice data were added.


gst_vulkan_decoder_caps

gboolean
gst_vulkan_decoder_caps (GstVulkanDecoder * self,
                         GstVulkanVideoCapabilities * caps)

Gets the Vulkan decoding capabilities of the current video session.

Parameters:

self

a GstVulkanDecoder

caps ( [out])

a GstVulkanVideoCapabilities

Returns

whether the capabilities were fetched correctly.


GstVulkan.VulkanDecoder.prototype.caps

function GstVulkan.VulkanDecoder.prototype.caps(): {
    // javascript wrapper for 'gst_vulkan_decoder_caps'
}

Gets the Vulkan decoding capabilities of the current video session.

Returns a tuple made of:

(Number )

whether the capabilities were fetched correctly.

whether the capabilities were fetched correctly.


GstVulkan.VulkanDecoder.caps

def GstVulkan.VulkanDecoder.caps (self):
    #python wrapper for 'gst_vulkan_decoder_caps'

Gets the Vulkan decoding capabilities of the current video session.

Returns a tuple made of:

(bool )

whether the capabilities were fetched correctly.

whether the capabilities were fetched correctly.


gst_vulkan_decoder_create_dpb_pool

gboolean
gst_vulkan_decoder_create_dpb_pool (GstVulkanDecoder * self,
                                    GstCaps * caps)

Instantiates an internal Vulkan image pool for driver decoders whose output buffers cannot be used as DPB buffers.

Parameters:

self

a GstVulkanDecoder

caps

the GstCaps of the DP

Returns

whether the pool was created.


GstVulkan.VulkanDecoder.prototype.create_dpb_pool

function GstVulkan.VulkanDecoder.prototype.create_dpb_pool(caps: Gst.Caps): {
    // javascript wrapper for 'gst_vulkan_decoder_create_dpb_pool'
}

Instantiates an internal Vulkan image pool for driver decoders whose output buffers cannot be used as DPB buffers.

Parameters:

caps (Gst.Caps)

the Gst.Caps of the DP

Returns (Number)

whether the pool was created.


GstVulkan.VulkanDecoder.create_dpb_pool

def GstVulkan.VulkanDecoder.create_dpb_pool (self, caps):
    #python wrapper for 'gst_vulkan_decoder_create_dpb_pool'

Instantiates an internal Vulkan image pool for driver decoders whose output buffers cannot be used as DPB buffers.

Parameters:

caps (Gst.Caps)

the Gst.Caps of the DP

Returns (bool)

whether the pool was created.


gst_vulkan_decoder_decode

gboolean
gst_vulkan_decoder_decode (GstVulkanDecoder * self,
                           GstVulkanDecoderPicture * pic,
                           GError ** error)

Decodes pic.

Return: whether pic was decoded correctly. It might fill error.

Parameters:

self

a GstVulkanDecoder

error

a GError

Returns
No description available

GstVulkan.VulkanDecoder.prototype.decode

function GstVulkan.VulkanDecoder.prototype.decode(pic: GstVulkan.VulkanDecoderPicture): {
    // javascript wrapper for 'gst_vulkan_decoder_decode'
}

Decodes pic.

Return: whether pic was decoded correctly. It might fill error.

Returns (Number)
No description available

GstVulkan.VulkanDecoder.decode

@raises(GLib.GError)
def GstVulkan.VulkanDecoder.decode (self, pic):
    #python wrapper for 'gst_vulkan_decoder_decode'

Decodes pic.

Return: whether pic was decoded correctly. It might fill error.

Returns (bool)
No description available

gst_vulkan_decoder_flush

gboolean
gst_vulkan_decoder_flush (GstVulkanDecoder * self,
                          GError ** error)

Initializes the decoder at driver level and set its DPB slots to the inactive state.

Parameters:

self

a GstVulkanDecoder

error

a GError

Returns

whether flush was successful


GstVulkan.VulkanDecoder.prototype.flush

function GstVulkan.VulkanDecoder.prototype.flush(): {
    // javascript wrapper for 'gst_vulkan_decoder_flush'
}

Initializes the decoder at driver level and set its DPB slots to the inactive state.

Returns (Number)

whether flush was successful


GstVulkan.VulkanDecoder.flush

@raises(GLib.GError)
def GstVulkan.VulkanDecoder.flush (self):
    #python wrapper for 'gst_vulkan_decoder_flush'

Initializes the decoder at driver level and set its DPB slots to the inactive state.

Returns (bool)

whether flush was successful


gst_vulkan_decoder_is_started

gboolean
gst_vulkan_decoder_is_started (GstVulkanDecoder * self)

Parameters:

self

a GstVulkanDecoder

Returns

whether gst_vulkan_decoder_start was called correctly previously.


GstVulkan.VulkanDecoder.prototype.is_started

function GstVulkan.VulkanDecoder.prototype.is_started(): {
    // javascript wrapper for 'gst_vulkan_decoder_is_started'
}
Returns (Number)

whether GstVulkan.VulkanDecoder.prototype.start was called correctly previously.


GstVulkan.VulkanDecoder.is_started

def GstVulkan.VulkanDecoder.is_started (self):
    #python wrapper for 'gst_vulkan_decoder_is_started'
Returns (bool)

whether GstVulkan.VulkanDecoder.start was called correctly previously.


gst_vulkan_decoder_out_format

gboolean
gst_vulkan_decoder_out_format (GstVulkanDecoder * self,
                               VkVideoFormatPropertiesKHR* format)

Gets the Vulkan format properties of the output frames.

Parameters:

self

a GstVulkanDecoder

format

the Vulkan output format properties

Returns

whether the format was fetched.


gst_vulkan_decoder_picture_create_view

GstVulkanImageView *
gst_vulkan_decoder_picture_create_view (GstVulkanDecoder * self,
                                        GstBuffer * buf,
                                        gboolean is_out)

Creates a GstVulkanImageView for buf for decoding, with the internal Ycbcr sampler, if available.

Parameters:

self

a GstVulkanDecoder

buf

a GstBuffer

is_out

if buf is for output or for DPB

Returns ( [transfer: full][nullable])

the GstVulkanImageView.


GstVulkan.VulkanDecoder.prototype.picture_create_view

function GstVulkan.VulkanDecoder.prototype.picture_create_view(buf: Gst.Buffer, is_out: Number): {
    // javascript wrapper for 'gst_vulkan_decoder_picture_create_view'
}

Creates a GstVulkan.VulkanImageView for buf for decoding, with the internal Ycbcr sampler, if available.

Parameters:

buf (Gst.Buffer)

a Gst.Buffer

is_out (Number)

if buf is for output or for DPB


GstVulkan.VulkanDecoder.picture_create_view

def GstVulkan.VulkanDecoder.picture_create_view (self, buf, is_out):
    #python wrapper for 'gst_vulkan_decoder_picture_create_view'

Creates a GstVulkan.VulkanImageView for buf for decoding, with the internal Ycbcr sampler, if available.

Parameters:

buf (Gst.Buffer)

a Gst.Buffer

is_out (bool)

if buf is for output or for DPB


gst_vulkan_decoder_picture_init

gboolean
gst_vulkan_decoder_picture_init (GstVulkanDecoder * self,
                                 GstVulkanDecoderPicture * pic,
                                 GstBuffer * out)

Initializes pic with out as output buffer.

Parameters:

self

a GstVulkanDecoder

out

the GstBuffer to use as output

Returns

whether pic was initialized.


GstVulkan.VulkanDecoder.prototype.picture_init

function GstVulkan.VulkanDecoder.prototype.picture_init(pic: GstVulkan.VulkanDecoderPicture, out: Gst.Buffer): {
    // javascript wrapper for 'gst_vulkan_decoder_picture_init'
}

Initializes pic with out as output buffer.

Returns (Number)

whether pic was initialized.


GstVulkan.VulkanDecoder.picture_init

def GstVulkan.VulkanDecoder.picture_init (self, pic, out):
    #python wrapper for 'gst_vulkan_decoder_picture_init'

Initializes pic with out as output buffer.

Returns (bool)

whether pic was initialized.


gst_vulkan_decoder_profile_caps

GstCaps *
gst_vulkan_decoder_profile_caps (GstVulkanDecoder * self)

Parameters:

self

a GstVulkanDecoder

Returns ( [transfer: full])

the GstCaps of the profile defined at gst_vulkan_decoder_start.


GstVulkan.VulkanDecoder.prototype.profile_caps

function GstVulkan.VulkanDecoder.prototype.profile_caps(): {
    // javascript wrapper for 'gst_vulkan_decoder_profile_caps'
}
Returns (Gst.Caps)

the Gst.Caps of the profile defined at GstVulkan.VulkanDecoder.prototype.start.


GstVulkan.VulkanDecoder.profile_caps

def GstVulkan.VulkanDecoder.profile_caps (self):
    #python wrapper for 'gst_vulkan_decoder_profile_caps'
Returns (Gst.Caps)

the Gst.Caps of the profile defined at GstVulkan.VulkanDecoder.start.


gst_vulkan_decoder_start

gboolean
gst_vulkan_decoder_start (GstVulkanDecoder * self,
                          GstVulkanVideoProfile * profile,
                          GError ** error)

It creates a Vulkan video session for the given profile. If an error occurs, error is filled.

Parameters:

self

a GstVulkanDecoder

profile

a GstVulkanVideoProfile

error

a GError

Returns

whether the video decoder has started correctly.


GstVulkan.VulkanDecoder.prototype.start

function GstVulkan.VulkanDecoder.prototype.start(profile: GstVulkan.VulkanVideoProfile): {
    // javascript wrapper for 'gst_vulkan_decoder_start'
}

It creates a Vulkan video session for the given profile. If an error occurs, error is filled.

Returns (Number)

whether the video decoder has started correctly.


GstVulkan.VulkanDecoder.start

@raises(GLib.GError)
def GstVulkan.VulkanDecoder.start (self, profile):
    #python wrapper for 'gst_vulkan_decoder_start'

It creates a Vulkan video session for the given profile. If an error occurs, error is filled.

Returns (bool)

whether the video decoder has started correctly.


gst_vulkan_decoder_stop

gboolean
gst_vulkan_decoder_stop (GstVulkanDecoder * self)

Destroys the video session created at gst_vulkan_decoder_start and clean up the internal objects.

Parameters:

self

a GstVulkanDecoder

Returns

whether the decoder stopped correctly.


GstVulkan.VulkanDecoder.prototype.stop

function GstVulkan.VulkanDecoder.prototype.stop(): {
    // javascript wrapper for 'gst_vulkan_decoder_stop'
}

Destroys the video session created at GstVulkan.VulkanDecoder.prototype.start and clean up the internal objects.

Returns (Number)

whether the decoder stopped correctly.


GstVulkan.VulkanDecoder.stop

def GstVulkan.VulkanDecoder.stop (self):
    #python wrapper for 'gst_vulkan_decoder_stop'

Destroys the video session created at GstVulkan.VulkanDecoder.start and clean up the internal objects.

Returns (bool)

whether the decoder stopped correctly.


gst_vulkan_decoder_update_video_session_parameters

gboolean
gst_vulkan_decoder_update_video_session_parameters (GstVulkanDecoder * self,
                                                    GstVulkanDecoderParameters* params,
                                                    GError ** error)

Update the internal codec parameters for the current video session.

Parameters:

self

a GstVulkanDecoder

params

a GstVulkanDecoderParameters union

error

a GError

Returns

whether the params were updated internally. It might fill error.


GstVulkan.VulkanDecoder.prototype.update_video_session_parameters

function GstVulkan.VulkanDecoder.prototype.update_video_session_parameters(params: GstVulkan.VulkanDecoderParameters): {
    // javascript wrapper for 'gst_vulkan_decoder_update_video_session_parameters'
}

Update the internal codec parameters for the current video session.

Parameters:

params (GstVulkan.VulkanDecoderParameters)

a GstVulkanDecoderParameters union

Returns (Number)

whether the params were updated internally. It might fill error.


GstVulkan.VulkanDecoder.update_video_session_parameters

@raises(GLib.GError)
def GstVulkan.VulkanDecoder.update_video_session_parameters (self, params):
    #python wrapper for 'gst_vulkan_decoder_update_video_session_parameters'

Update the internal codec parameters for the current video session.

Parameters:

params (GstVulkan.VulkanDecoderParameters)

a GstVulkanDecoderParameters union

Returns (bool)

whether the params were updated internally. It might fill error.


gst_vulkan_decoder_update_ycbcr_sampler

gboolean
gst_vulkan_decoder_update_ycbcr_sampler (GstVulkanDecoder * self,
                                         VkSamplerYcbcrRange range,
                                         VkChromaLocation xloc,
                                         VkChromaLocation yloc,
                                         GError ** error)

Update the internal Ycbcr sampler for the output images.

Parameters:

self

a GstVulkanDecoder

range

whether color components are encoded using the full range of numerical values or whether values are reserved for headroom and foot room.

xloc

x location of downsampled chroma component samples relative to the luma samples.

yloc

y location of downsampled chroma component samples relative to the luma samples.

error
No description available
Returns

whether the sampler was updated.


GstVulkan.VulkanDecoder.prototype.update_ycbcr_sampler

function GstVulkan.VulkanDecoder.prototype.update_ycbcr_sampler(range: Vulkan.SamplerYcbcrRange, xloc: Vulkan.ChromaLocation, yloc: Vulkan.ChromaLocation): {
    // javascript wrapper for 'gst_vulkan_decoder_update_ycbcr_sampler'
}

Update the internal Ycbcr sampler for the output images.

Parameters:

range (Vulkan.SamplerYcbcrRange)

whether color components are encoded using the full range of numerical values or whether values are reserved for headroom and foot room.

xloc (Vulkan.ChromaLocation)

x location of downsampled chroma component samples relative to the luma samples.

yloc (Vulkan.ChromaLocation)

y location of downsampled chroma component samples relative to the luma samples.

Returns (Number)

whether the sampler was updated.


GstVulkan.VulkanDecoder.update_ycbcr_sampler

@raises(GLib.GError)
def GstVulkan.VulkanDecoder.update_ycbcr_sampler (self, range, xloc, yloc):
    #python wrapper for 'gst_vulkan_decoder_update_ycbcr_sampler'

Update the internal Ycbcr sampler for the output images.

Parameters:

range (Vulkan.SamplerYcbcrRange)

whether color components are encoded using the full range of numerical values or whether values are reserved for headroom and foot room.

xloc (Vulkan.ChromaLocation)

x location of downsampled chroma component samples relative to the luma samples.

yloc (Vulkan.ChromaLocation)

y location of downsampled chroma component samples relative to the luma samples.

Returns (bool)

whether the sampler was updated.


gst_vulkan_decoder_wait

gboolean
gst_vulkan_decoder_wait (GstVulkanDecoder * self)

Waits indefinitely for decoding fences to signal, and queries the operation result if available.

Parameters:

self

a GstVulkanDecoder

Returns

whether the wait succeeded in waiting for all the fences to be freed.


GstVulkan.VulkanDecoder.prototype.wait

function GstVulkan.VulkanDecoder.prototype.wait(): {
    // javascript wrapper for 'gst_vulkan_decoder_wait'
}

Waits indefinitely for decoding fences to signal, and queries the operation result if available.

Returns (Number)

whether the wait succeeded in waiting for all the fences to be freed.


GstVulkan.VulkanDecoder.wait

def GstVulkan.VulkanDecoder.wait (self):
    #python wrapper for 'gst_vulkan_decoder_wait'

Waits indefinitely for decoding fences to signal, and queries the operation result if available.

Returns (bool)

whether the wait succeeded in waiting for all the fences to be freed.


GstVulkanDecoderPicture

It contains the whole state for decoding a single picture.

Members

out (GstBuffer *) –

output buffer

dpb (GstBuffer *) –

DPB representation of out if needed by driver

img_view_ref (GstVulkanImageView *) –

image view for reference

img_view_out (GstVulkanImageView *) –

image view for output

slice_offs (GArray *) –

array of offsets of each uploaded slice

references required to decode current pictures

Since : 1.24


GstVulkan.VulkanDecoderPicture

It contains the whole state for decoding a single picture.

Members

out (Gst.Buffer) –

output buffer

dpb (Gst.Buffer) –

DPB representation of out if needed by driver

img_view_ref (GstVulkan.VulkanImageView) –

image view for reference

img_view_out (GstVulkan.VulkanImageView) –

image view for output

slice_offs ([ Object ]) –

array of offsets of each uploaded slice

references required to decode current pictures

Since : 1.24


GstVulkan.VulkanDecoderPicture

It contains the whole state for decoding a single picture.

Members

out (Gst.Buffer) –

output buffer

dpb (Gst.Buffer) –

DPB representation of out if needed by driver

img_view_ref (GstVulkan.VulkanImageView) –

image view for reference

img_view_out (GstVulkan.VulkanImageView) –

image view for output

slice_offs ([ object ]) –

array of offsets of each uploaded slice

references required to decode current pictures

Since : 1.24


Methods

gst_vulkan_decoder_picture_release

gst_vulkan_decoder_picture_release (GstVulkanDecoderPicture * pic)

Releases the internal resource of pic.

Parameters:


GstVulkan.VulkanDecoderPicture.prototype.release

function GstVulkan.VulkanDecoderPicture.prototype.release(): {
    // javascript wrapper for 'gst_vulkan_decoder_picture_release'
}

Releases the internal resource of pic.


GstVulkan.VulkanDecoderPicture.release

def GstVulkan.VulkanDecoderPicture.release (self):
    #python wrapper for 'gst_vulkan_decoder_picture_release'

Releases the internal resource of pic.


The results of the search are