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