GstVulkanDecoder
GstVulkanOperation abstracts a video decoding operation.
GstVulkanDecoder
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstVulkanDecoder
Members
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 *)
–
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
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
profile
(GstVulkan.VulkanVideoProfile)
–
the configured GstVulkan.VulkanVideoProfile
input_buffer
(Gst.Buffer)
–
the buffer to upload the bitstream to decode
layered_buffer
(Gst.Buffer)
–
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
profile
(GstVulkan.VulkanVideoProfile)
–
the configured GstVulkan.VulkanVideoProfile
input_buffer
(Gst.Buffer)
–
the buffer to upload the bitstream to decode
layered_buffer
(Gst.Buffer)
–
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
–
pic
–
data
–
slice's bitstream data
size
–
the size of data
add_startcode
–
whether add start code
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:
slice's bitstream data
the size of data
whether add start code
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:
slice's bitstream data
the size of data
whether add start code
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.
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.
Parameters:
Returns a tuple made of:
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.
Parameters:
Returns a tuple made of:
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.
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:
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:
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.
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.
Parameters:
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.
Parameters:
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.
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.
Parameters:
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.
Parameters:
whether flush was successful
gst_vulkan_decoder_is_started
gboolean gst_vulkan_decoder_is_started (GstVulkanDecoder * self)
Parameters:
self
–
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'
}
Parameters:
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'
Parameters:
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.
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.
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:
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:
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.
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.
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.
whether pic was initialized.
gst_vulkan_decoder_profile_caps
GstCaps * gst_vulkan_decoder_profile_caps (GstVulkanDecoder * self)
Parameters:
self
–
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'
}
Parameters:
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'
Parameters:
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.
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.
Parameters:
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.
Parameters:
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
–
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.
Parameters:
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.
Parameters:
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.
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
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
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
–
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
–
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.
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.
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
–
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.
Parameters:
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.
Parameters:
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
refs
(GstVulkanDecoderPicture *)
–
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
refs
([ GstVulkan.VulkanDecoderPicture ])
–
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
refs
([ GstVulkan.VulkanDecoderPicture ])
–
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:
pic
–
GstVulkan.VulkanDecoderPicture.prototype.release
function GstVulkan.VulkanDecoderPicture.prototype.release(): {
// javascript wrapper for 'gst_vulkan_decoder_picture_release'
}
Releases the internal resource of pic.
Parameters:
GstVulkan.VulkanDecoderPicture.release
def GstVulkan.VulkanDecoderPicture.release (self):
#python wrapper for 'gst_vulkan_decoder_picture_release'
Releases the internal resource of pic.
Parameters:
The results of the search are