GstH264Decoder
GstH264Decoder
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstVideoDecoder ╰──GstH264Decoder
The opaque GstH264Decoder data structure.
Class structure
GstCodecs.H264Decoder
GObject.Object ╰──GObject.InitiallyUnowned ╰──Gst.Object ╰──Gst.Element ╰──GstVideo.VideoDecoder ╰──GstCodecs.H264Decoder
The opaque GstCodecs.H264Decoder data structure.
GstCodecs.H264Decoder
GObject.Object ╰──GObject.InitiallyUnowned ╰──Gst.Object ╰──Gst.Element ╰──GstVideo.VideoDecoder ╰──GstCodecs.H264Decoder
The opaque GstCodecs.H264Decoder data structure.
Methods
gst_h264_decoder_get_picture
GstH264Picture * gst_h264_decoder_get_picture (GstH264Decoder * decoder, guint32 system_frame_number)
Retrive DPB and return a GstH264Picture corresponding to the system_frame_number
a GstH264Picture if successful, or NULL otherwise
Since : 1.18
GstCodecs.H264Decoder.prototype.get_picture
function GstCodecs.H264Decoder.prototype.get_picture(system_frame_number: Number): {
// javascript wrapper for 'gst_h264_decoder_get_picture'
}
Retrive DPB and return a GstCodecs.H264Picture corresponding to the system_frame_number
a GstCodecs.H264Picture if successful, or null otherwise
Since : 1.18
GstCodecs.H264Decoder.get_picture
def GstCodecs.H264Decoder.get_picture (self, system_frame_number):
#python wrapper for 'gst_h264_decoder_get_picture'
Retrive DPB and return a GstCodecs.H264Picture corresponding to the system_frame_number
a GstCodecs.H264Picture if successful, or None otherwise
Since : 1.18
gst_h264_decoder_set_process_ref_pic_lists
gst_h264_decoder_set_process_ref_pic_lists (GstH264Decoder * decoder, gboolean process)
Called to en/disable reference picture modification process.
Parameters:
decoder
–
process
–
whether subclass is requiring reference picture modification process
Since : 1.18
GstCodecs.H264Decoder.prototype.set_process_ref_pic_lists
function GstCodecs.H264Decoder.prototype.set_process_ref_pic_lists(process: Number): {
// javascript wrapper for 'gst_h264_decoder_set_process_ref_pic_lists'
}
Called to en/disable reference picture modification process.
Parameters:
whether subclass is requiring reference picture modification process
Since : 1.18
GstCodecs.H264Decoder.set_process_ref_pic_lists
def GstCodecs.H264Decoder.set_process_ref_pic_lists (self, process):
#python wrapper for 'gst_h264_decoder_set_process_ref_pic_lists'
Called to en/disable reference picture modification process.
Parameters:
whether subclass is requiring reference picture modification process
Since : 1.18
Properties
compliance
“compliance” GstH264DecoderCompliance *
The compliance controls the behavior of the decoder to handle some subtle cases and contexts, such as the low-latency DPB bumping or mapping the baseline profile as the constrained-baseline profile, etc.
Flags : Read / Write / Construct
Since : 1.20
compliance
“compliance” GstCodecs.H264DecoderCompliance
The compliance controls the behavior of the decoder to handle some subtle cases and contexts, such as the low-latency DPB bumping or mapping the baseline profile as the constrained-baseline profile, etc.
Flags : Read / Write / Construct
Since : 1.20
compliance
“self.props.compliance” GstCodecs.H264DecoderCompliance
The compliance controls the behavior of the decoder to handle some subtle cases and contexts, such as the low-latency DPB bumping or mapping the baseline profile as the constrained-baseline profile, etc.
Flags : Read / Write / Construct
Since : 1.20
Virtual Methods
decode_slice
GstFlowReturn decode_slice (GstH264Decoder * decoder, GstH264Picture * picture, GstH264Slice * slice, GArray * ref_pic_list0, GArray * ref_pic_list1)
Provides per slice data with parsed slice header and required raw bitstream for subclass to decode it. If gst_h264_decoder_set_process_ref_pic_lists is called with TRUE by the subclass, ref_pic_list0 and ref_pic_list1 are non-%NULL. In case of interlaced stream, ref_pic_list0 and ref_pic_list1 will contain only the first field of complementary reference field pair if currently being decoded picture is a frame picture. Subclasses might need to retrive the other field (i.e., the second field) of the picture if needed.
Parameters:
decoder
–
picture
(
[transfer: none])
–
slice
(
[transfer: none])
–
ref_pic_list0
–
(element-type GstH264Picture) (transfer none): an array of GstH264Picture pointers
ref_pic_list1
–
(element-type GstH264Picture) (transfer none): an array of GstH264Picture pointers
vfunc_decode_slice
function vfunc_decode_slice(decoder: GstCodecs.H264Decoder, picture: GstCodecs.H264Picture, slice: GstCodecs.H264Slice, ref_pic_list0: [ GstCodecs.H264Picture ], ref_pic_list1: [ GstCodecs.H264Picture ]): {
// javascript implementation of the 'decode_slice' virtual method
}
Provides per slice data with parsed slice header and required raw bitstream for subclass to decode it. If GstCodecs.H264Decoder.prototype.set_process_ref_pic_lists is called with true by the subclass, ref_pic_list0 and ref_pic_list1 are non-%NULL. In case of interlaced stream, ref_pic_list0 and ref_pic_list1 will contain only the first field of complementary reference field pair if currently being decoded picture is a frame picture. Subclasses might need to retrive the other field (i.e., the second field) of the picture if needed.
Parameters:
(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers
(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers
do_decode_slice
def do_decode_slice (decoder, picture, slice, ref_pic_list0, ref_pic_list1):
#python implementation of the 'decode_slice' virtual method
Provides per slice data with parsed slice header and required raw bitstream for subclass to decode it. If GstCodecs.H264Decoder.set_process_ref_pic_lists is called with True by the subclass, ref_pic_list0 and ref_pic_list1 are non-%NULL. In case of interlaced stream, ref_pic_list0 and ref_pic_list1 will contain only the first field of complementary reference field pair if currently being decoded picture is a frame picture. Subclasses might need to retrive the other field (i.e., the second field) of the picture if needed.
Parameters:
(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers
(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers
end_picture
GstFlowReturn end_picture (GstH264Decoder * decoder, GstH264Picture * picture)
Optional. Called per one GstH264Picture to notify subclass to finish decoding process for the GstH264Picture
vfunc_end_picture
function vfunc_end_picture(decoder: GstCodecs.H264Decoder, picture: GstCodecs.H264Picture): {
// javascript implementation of the 'end_picture' virtual method
}
Optional. Called per one GstCodecs.H264Picture to notify subclass to finish decoding process for the GstCodecs.H264Picture
Parameters:
do_end_picture
def do_end_picture (decoder, picture):
#python implementation of the 'end_picture' virtual method
Optional. Called per one GstCodecs.H264Picture to notify subclass to finish decoding process for the GstCodecs.H264Picture
Parameters:
get_preferred_output_delay
guint get_preferred_output_delay (GstH264Decoder * decoder, gboolean live)
Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.
the number of perferred delayed output frame
Since : 1.20
vfunc_get_preferred_output_delay
function vfunc_get_preferred_output_delay(decoder: GstCodecs.H264Decoder, live: Number): {
// javascript implementation of the 'get_preferred_output_delay' virtual method
}
Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.
Parameters:
whether upstream is live or not
the number of perferred delayed output frame
Since : 1.20
do_get_preferred_output_delay
def do_get_preferred_output_delay (decoder, live):
#python implementation of the 'get_preferred_output_delay' virtual method
Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.
Parameters:
whether upstream is live or not
the number of perferred delayed output frame
Since : 1.20
new_field_picture
GstFlowReturn new_field_picture (GstH264Decoder * decoder, GstH264Picture * first_field, GstH264Picture * second_field)
Called when a new field picture is created for interlaced field picture. Subclass can attach implementation specific user data on second_field via gst_h264_picture_set_user_data
Parameters:
decoder
–
first_field
(
[transfer: none])
–
the first field GstH264Picture already decoded
second_field
(
[transfer: none])
–
a GstH264Picture for the second field
Since : 1.20
vfunc_new_field_picture
function vfunc_new_field_picture(decoder: GstCodecs.H264Decoder, first_field: GstCodecs.H264Picture, second_field: GstCodecs.H264Picture): {
// javascript implementation of the 'new_field_picture' virtual method
}
Called when a new field picture is created for interlaced field picture. Subclass can attach implementation specific user data on second_field via gst_h264_picture_set_user_data
Parameters:
the first field GstCodecs.H264Picture already decoded
a GstCodecs.H264Picture for the second field
Since : 1.20
do_new_field_picture
def do_new_field_picture (decoder, first_field, second_field):
#python implementation of the 'new_field_picture' virtual method
Called when a new field picture is created for interlaced field picture. Subclass can attach implementation specific user data on second_field via gst_h264_picture_set_user_data
Parameters:
the first field GstCodecs.H264Picture already decoded
a GstCodecs.H264Picture for the second field
Since : 1.20
new_picture
GstFlowReturn new_picture (GstH264Decoder * decoder, GstVideoCodecFrame * frame, GstH264Picture * picture)
Optional. Called whenever new GstH264Picture is created. Subclass can set implementation specific user data on the GstH264Picture via gst_h264_picture_set_user_data
Parameters:
decoder
–
frame
(
[transfer: none])
–
picture
(
[transfer: none])
–
vfunc_new_picture
function vfunc_new_picture(decoder: GstCodecs.H264Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.H264Picture): {
// javascript implementation of the 'new_picture' virtual method
}
Optional. Called whenever new GstCodecs.H264Picture is created. Subclass can set implementation specific user data on the GstCodecs.H264Picture via gst_h264_picture_set_user_data
Parameters:
do_new_picture
def do_new_picture (decoder, frame, picture):
#python implementation of the 'new_picture' virtual method
Optional. Called whenever new GstCodecs.H264Picture is created. Subclass can set implementation specific user data on the GstCodecs.H264Picture via gst_h264_picture_set_user_data
Parameters:
new_sequence
GstFlowReturn new_sequence (GstH264Decoder * decoder, const GstH264SPS * sps, gint max_dpb_size)
Notifies subclass of SPS update
Parameters:
decoder
–
sps
–
max_dpb_size
–
the size of dpb including preferred output delay by subclass reported via get_preferred_output_delay method.
output_picture
GstFlowReturn output_picture (GstH264Decoder * decoder, GstVideoCodecFrame * frame, GstH264Picture * picture)
Called with a GstH264Picture which is required to be outputted. The GstVideoCodecFrame must be consumed by subclass.
Parameters:
decoder
–
frame
(
[transfer: full])
–
picture
(
[transfer: full])
–
vfunc_output_picture
function vfunc_output_picture(decoder: GstCodecs.H264Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.H264Picture): {
// javascript implementation of the 'output_picture' virtual method
}
Called with a GstCodecs.H264Picture which is required to be outputted. The GstVideo.VideoCodecFrame must be consumed by subclass.
Parameters:
do_output_picture
def do_output_picture (decoder, frame, picture):
#python implementation of the 'output_picture' virtual method
Called with a GstCodecs.H264Picture which is required to be outputted. The GstVideo.VideoCodecFrame must be consumed by subclass.
Parameters:
start_picture
GstFlowReturn start_picture (GstH264Decoder * decoder, GstH264Picture * picture, GstH264Slice * slice, GstH264Dpb * dpb)
Optional. Called per one GstH264Picture to notify subclass to prepare decoding process for the GstH264Picture
Parameters:
decoder
–
picture
(
[transfer: none])
–
slice
(
[transfer: none])
–
dpb
(
[transfer: none])
–
vfunc_start_picture
function vfunc_start_picture(decoder: GstCodecs.H264Decoder, picture: GstCodecs.H264Picture, slice: GstCodecs.H264Slice, dpb: GstCodecs.H264Dpb): {
// javascript implementation of the 'start_picture' virtual method
}
Optional. Called per one GstCodecs.H264Picture to notify subclass to prepare decoding process for the GstCodecs.H264Picture
Parameters:
do_start_picture
def do_start_picture (decoder, picture, slice, dpb):
#python implementation of the 'start_picture' virtual method
Optional. Called per one GstCodecs.H264Picture to notify subclass to prepare decoding process for the GstCodecs.H264Picture
Parameters:
GstH264Dpb
GstCodecs.H264Dpb
GstCodecs.H264Dpb
Methods
GstCodecs.H264Dpb.prototype.add
function GstCodecs.H264Dpb.prototype.add(picture: GstCodecs.H264Picture): {
// javascript wrapper for 'gst_h264_dpb_add'
}
Store the picture
Parameters:
GstCodecs.H264Dpb.add
def GstCodecs.H264Dpb.add (self, picture):
#python wrapper for 'gst_h264_dpb_add'
Store the picture
Parameters:
gst_h264_dpb_bump
GstH264Picture * gst_h264_dpb_bump (GstH264Dpb * dpb, gboolean drain)
Perform bumping process as defined in C.4.5.3 "Bumping" process. If drain is TRUE, dpb will remove a GstH264Picture from internal array so that returned GstH264Picture could hold the last reference of it
a GstH264Picture which is needed to be outputted
Since : 1.20
GstCodecs.H264Dpb.prototype.bump
function GstCodecs.H264Dpb.prototype.bump(drain: Number): {
// javascript wrapper for 'gst_h264_dpb_bump'
}
Perform bumping process as defined in C.4.5.3 "Bumping" process. If drain is true, dpb will remove a GstCodecs.H264Picture from internal array so that returned GstCodecs.H264Picture could hold the last reference of it
a GstCodecs.H264Picture which is needed to be outputted
Since : 1.20
GstCodecs.H264Dpb.bump
def GstCodecs.H264Dpb.bump (self, drain):
#python wrapper for 'gst_h264_dpb_bump'
Perform bumping process as defined in C.4.5.3 "Bumping" process. If drain is True, dpb will remove a GstCodecs.H264Picture from internal array so that returned GstCodecs.H264Picture could hold the last reference of it
a GstCodecs.H264Picture which is needed to be outputted
Since : 1.20
gst_h264_dpb_clear
gst_h264_dpb_clear (GstH264Dpb * dpb)
Clear all stored GstH264Picture
Parameters:
dpb
–
GstCodecs.H264Dpb.prototype.clear
function GstCodecs.H264Dpb.prototype.clear(): {
// javascript wrapper for 'gst_h264_dpb_clear'
}
Clear all stored GstCodecs.H264Picture
Parameters:
GstCodecs.H264Dpb.clear
def GstCodecs.H264Dpb.clear (self):
#python wrapper for 'gst_h264_dpb_clear'
Clear all stored GstCodecs.H264Picture
Parameters:
gst_h264_dpb_delete_unused
gst_h264_dpb_delete_unused (GstH264Dpb * dpb)
Delete already outputted and not referenced all pictures from dpb
Parameters:
dpb
–
GstCodecs.H264Dpb.prototype.delete_unused
function GstCodecs.H264Dpb.prototype.delete_unused(): {
// javascript wrapper for 'gst_h264_dpb_delete_unused'
}
Delete already outputted and not referenced all pictures from dpb
Parameters:
GstCodecs.H264Dpb.delete_unused
def GstCodecs.H264Dpb.delete_unused (self):
#python wrapper for 'gst_h264_dpb_delete_unused'
Delete already outputted and not referenced all pictures from dpb
Parameters:
gst_h264_dpb_free
gst_h264_dpb_free (GstH264Dpb * dpb)
Free the dpb
Parameters:
dpb
–
a GstH264Dpb to free
GstCodecs.H264Dpb.prototype.free
function GstCodecs.H264Dpb.prototype.free(): {
// javascript wrapper for 'gst_h264_dpb_free'
}
Free the dpb
Parameters:
a GstCodecs.H264Dpb to free
GstCodecs.H264Dpb.free
def GstCodecs.H264Dpb.free (self):
#python wrapper for 'gst_h264_dpb_free'
Free the dpb
Parameters:
a GstCodecs.H264Dpb to free
gst_h264_dpb_get_interlaced
gboolean gst_h264_dpb_get_interlaced (GstH264Dpb * dpb)
Parameters:
dpb
–
TRUE if dpb is configured for interlaced stream
Since : 1.20
GstCodecs.H264Dpb.prototype.get_interlaced
function GstCodecs.H264Dpb.prototype.get_interlaced(): {
// javascript wrapper for 'gst_h264_dpb_get_interlaced'
}
Parameters:
Since : 1.20
GstCodecs.H264Dpb.get_interlaced
def GstCodecs.H264Dpb.get_interlaced (self):
#python wrapper for 'gst_h264_dpb_get_interlaced'
Parameters:
Since : 1.20
gst_h264_dpb_get_long_ref_by_long_term_pic_num
GstH264Picture * gst_h264_dpb_get_long_ref_by_long_term_pic_num (GstH264Dpb * dpb, gint long_term_pic_num)
Find a long term reference picture which has matching long term picture number
Since : 1.20
GstCodecs.H264Dpb.prototype.get_long_ref_by_long_term_pic_num
function GstCodecs.H264Dpb.prototype.get_long_ref_by_long_term_pic_num(long_term_pic_num: Number): {
// javascript wrapper for 'gst_h264_dpb_get_long_ref_by_long_term_pic_num'
}
Find a long term reference picture which has matching long term picture number
Parameters:
a long term picture number
Since : 1.20
GstCodecs.H264Dpb.get_long_ref_by_long_term_pic_num
def GstCodecs.H264Dpb.get_long_ref_by_long_term_pic_num (self, long_term_pic_num):
#python wrapper for 'gst_h264_dpb_get_long_ref_by_long_term_pic_num'
Find a long term reference picture which has matching long term picture number
Parameters:
a long term picture number
Since : 1.20
gst_h264_dpb_get_lowest_frame_num_short_ref
GstH264Picture * gst_h264_dpb_get_lowest_frame_num_short_ref (GstH264Dpb * dpb)
Find a short term reference picture which has the lowest frame_num_wrap
Parameters:
dpb
–
GstCodecs.H264Dpb.prototype.get_lowest_frame_num_short_ref
function GstCodecs.H264Dpb.prototype.get_lowest_frame_num_short_ref(): {
// javascript wrapper for 'gst_h264_dpb_get_lowest_frame_num_short_ref'
}
Find a short term reference picture which has the lowest frame_num_wrap
Parameters:
GstCodecs.H264Dpb.get_lowest_frame_num_short_ref
def GstCodecs.H264Dpb.get_lowest_frame_num_short_ref (self):
#python wrapper for 'gst_h264_dpb_get_lowest_frame_num_short_ref'
Find a short term reference picture which has the lowest frame_num_wrap
Parameters:
gst_h264_dpb_get_max_num_frames
gint gst_h264_dpb_get_max_num_frames (GstH264Dpb * dpb)
Parameters:
dpb
–
the number of maximum frames
Since : 1.20
GstCodecs.H264Dpb.prototype.get_max_num_frames
function GstCodecs.H264Dpb.prototype.get_max_num_frames(): {
// javascript wrapper for 'gst_h264_dpb_get_max_num_frames'
}
Parameters:
the number of maximum frames
Since : 1.20
GstCodecs.H264Dpb.get_max_num_frames
def GstCodecs.H264Dpb.get_max_num_frames (self):
#python wrapper for 'gst_h264_dpb_get_max_num_frames'
Parameters:
the number of maximum frames
Since : 1.20
gst_h264_dpb_get_max_num_reorder_frames
guint32 gst_h264_dpb_get_max_num_reorder_frames (GstH264Dpb * dpb)
Parameters:
dpb
–
Maximum number of reorder frames
Since : 1.22.2
GstCodecs.H264Dpb.prototype.get_max_num_reorder_frames
function GstCodecs.H264Dpb.prototype.get_max_num_reorder_frames(): {
// javascript wrapper for 'gst_h264_dpb_get_max_num_reorder_frames'
}
Parameters:
Maximum number of reorder frames
Since : 1.22.2
GstCodecs.H264Dpb.get_max_num_reorder_frames
def GstCodecs.H264Dpb.get_max_num_reorder_frames (self):
#python wrapper for 'gst_h264_dpb_get_max_num_reorder_frames'
Parameters:
Maximum number of reorder frames
Since : 1.22.2
gst_h264_dpb_get_picture
GstH264Picture * gst_h264_dpb_get_picture (GstH264Dpb * dpb, guint32 system_frame_number)
Parameters:
dpb
–
a GstH264Dpb system_frame_number The system frame number
system_frame_number
–
the picture identified with the specified system_frame_number, or NULL if DPB does not contain a GstH264Picture corresponding to the system_frame_number
Since : 1.18
GstCodecs.H264Dpb.prototype.get_picture
function GstCodecs.H264Dpb.prototype.get_picture(system_frame_number: Number): {
// javascript wrapper for 'gst_h264_dpb_get_picture'
}
Parameters:
a GstCodecs.H264Dpb system_frame_number The system frame number
the picture identified with the specified system_frame_number, or null if DPB does not contain a GstCodecs.H264Picture corresponding to the system_frame_number
Since : 1.18
GstCodecs.H264Dpb.get_picture
def GstCodecs.H264Dpb.get_picture (self, system_frame_number):
#python wrapper for 'gst_h264_dpb_get_picture'
Parameters:
a GstCodecs.H264Dpb system_frame_number The system frame number
the picture identified with the specified system_frame_number, or None if DPB does not contain a GstCodecs.H264Picture corresponding to the system_frame_number
Since : 1.18
gst_h264_dpb_get_pictures_all
GArray * gst_h264_dpb_get_pictures_all (GstH264Dpb * dpb)
Return: (element-type GstH264Picture) (transfer full): a GArray of GstH264Picture stored in dpb
Parameters:
dpb
–
GstCodecs.H264Dpb.prototype.get_pictures_all
function GstCodecs.H264Dpb.prototype.get_pictures_all(): {
// javascript wrapper for 'gst_h264_dpb_get_pictures_all'
}
Return: (element-type GstH264Picture) (transfer full): a GArray (not introspectable) of GstCodecs.H264Picture stored in dpb
Parameters:
GstCodecs.H264Dpb.get_pictures_all
def GstCodecs.H264Dpb.get_pictures_all (self):
#python wrapper for 'gst_h264_dpb_get_pictures_all'
Return: (element-type GstH264Picture) (transfer full): a GArray (not introspectable) of GstCodecs.H264Picture stored in dpb
Parameters:
gst_h264_dpb_get_pictures_long_term_ref
gst_h264_dpb_get_pictures_long_term_ref (GstH264Dpb * dpb, gboolean include_second_field, GArray * out)
Retrieve all long-term reference pictures from dpb. The picture will be appended to the array.
Parameters:
dpb
–
include_second_field
–
TRUE if the second field pictures need to be included
out
(
[out][element-typeGstH264Picture][transfer: full])
–
an array of GstH264Picture pointer
Since : 1.20
GstCodecs.H264Dpb.prototype.get_pictures_long_term_ref
function GstCodecs.H264Dpb.prototype.get_pictures_long_term_ref(include_second_field: Number): {
// javascript wrapper for 'gst_h264_dpb_get_pictures_long_term_ref'
}
Retrieve all long-term reference pictures from dpb. The picture will be appended to the array.
Parameters:
Since : 1.20
GstCodecs.H264Dpb.get_pictures_long_term_ref
def GstCodecs.H264Dpb.get_pictures_long_term_ref (self, include_second_field):
#python wrapper for 'gst_h264_dpb_get_pictures_long_term_ref'
Retrieve all long-term reference pictures from dpb. The picture will be appended to the array.
Parameters:
Since : 1.20
gst_h264_dpb_get_pictures_short_term_ref
gst_h264_dpb_get_pictures_short_term_ref (GstH264Dpb * dpb, gboolean include_non_existing, gboolean include_second_field, GArray * out)
Retrieve all short-term reference pictures from dpb. The picture will be appended to the array.
Parameters:
dpb
–
include_non_existing
–
TRUE if non-existing pictures need to be included
include_second_field
–
TRUE if the second field pictures need to be included
out
(
[out][element-typeGstH264Picture][transfer: full])
–
an array of GstH264Picture pointers
Since : 1.20
GstCodecs.H264Dpb.prototype.get_pictures_short_term_ref
function GstCodecs.H264Dpb.prototype.get_pictures_short_term_ref(include_non_existing: Number, include_second_field: Number): {
// javascript wrapper for 'gst_h264_dpb_get_pictures_short_term_ref'
}
Retrieve all short-term reference pictures from dpb. The picture will be appended to the array.
Parameters:
Since : 1.20
GstCodecs.H264Dpb.get_pictures_short_term_ref
def GstCodecs.H264Dpb.get_pictures_short_term_ref (self, include_non_existing, include_second_field):
#python wrapper for 'gst_h264_dpb_get_pictures_short_term_ref'
Retrieve all short-term reference pictures from dpb. The picture will be appended to the array.
Parameters:
Since : 1.20
gst_h264_dpb_get_short_ref_by_pic_num
GstH264Picture * gst_h264_dpb_get_short_ref_by_pic_num (GstH264Dpb * dpb, gint pic_num)
Find a short term reference picture which has matching picture number
GstCodecs.H264Dpb.prototype.get_short_ref_by_pic_num
function GstCodecs.H264Dpb.prototype.get_short_ref_by_pic_num(pic_num: Number): {
// javascript wrapper for 'gst_h264_dpb_get_short_ref_by_pic_num'
}
Find a short term reference picture which has matching picture number
GstCodecs.H264Dpb.get_short_ref_by_pic_num
def GstCodecs.H264Dpb.get_short_ref_by_pic_num (self, pic_num):
#python wrapper for 'gst_h264_dpb_get_short_ref_by_pic_num'
Find a short term reference picture which has matching picture number
gst_h264_dpb_get_size
gint gst_h264_dpb_get_size (GstH264Dpb * dpb)
Return: the length of stored dpb array
Parameters:
dpb
–
GstCodecs.H264Dpb.prototype.get_size
function GstCodecs.H264Dpb.prototype.get_size(): {
// javascript wrapper for 'gst_h264_dpb_get_size'
}
Return: the length of stored dpb array
Parameters:
GstCodecs.H264Dpb.get_size
def GstCodecs.H264Dpb.get_size (self):
#python wrapper for 'gst_h264_dpb_get_size'
Return: the length of stored dpb array
Parameters:
gst_h264_dpb_has_empty_frame_buffer
gboolean gst_h264_dpb_has_empty_frame_buffer (GstH264Dpb * dpb)
Parameters:
dpb
–
TRUE if dpb still has empty frame buffers.
Since : 1.20
GstCodecs.H264Dpb.prototype.has_empty_frame_buffer
function GstCodecs.H264Dpb.prototype.has_empty_frame_buffer(): {
// javascript wrapper for 'gst_h264_dpb_has_empty_frame_buffer'
}
Parameters:
Since : 1.20
GstCodecs.H264Dpb.has_empty_frame_buffer
def GstCodecs.H264Dpb.has_empty_frame_buffer (self):
#python wrapper for 'gst_h264_dpb_has_empty_frame_buffer'
Parameters:
Since : 1.20
gst_h264_dpb_mark_all_non_ref
gst_h264_dpb_mark_all_non_ref (GstH264Dpb * dpb)
Mark all pictures are not referenced
Parameters:
dpb
–
GstCodecs.H264Dpb.prototype.mark_all_non_ref
function GstCodecs.H264Dpb.prototype.mark_all_non_ref(): {
// javascript wrapper for 'gst_h264_dpb_mark_all_non_ref'
}
Mark all pictures are not referenced
Parameters:
GstCodecs.H264Dpb.mark_all_non_ref
def GstCodecs.H264Dpb.mark_all_non_ref (self):
#python wrapper for 'gst_h264_dpb_mark_all_non_ref'
Mark all pictures are not referenced
Parameters:
gst_h264_dpb_needs_bump
gboolean gst_h264_dpb_needs_bump (GstH264Dpb * dpb, GstH264Picture * to_insert, GstH264DpbBumpMode latency_mode)
Parameters:
dpb
–
to_insert
–
the current GstH264Picture to insert to dpb.
latency_mode
–
The required GstH264DpbBumpMode for bumping.
TRUE if bumping is required
Since : 1.20
GstCodecs.H264Dpb.prototype.needs_bump
function GstCodecs.H264Dpb.prototype.needs_bump(to_insert: GstCodecs.H264Picture, latency_mode: GstCodecs.H264DpbBumpMode): {
// javascript wrapper for 'gst_h264_dpb_needs_bump'
}
Parameters:
the current GstCodecs.H264Picture to insert to dpb.
The required GstCodecs.H264DpbBumpMode for bumping.
Since : 1.20
GstCodecs.H264Dpb.needs_bump
def GstCodecs.H264Dpb.needs_bump (self, to_insert, latency_mode):
#python wrapper for 'gst_h264_dpb_needs_bump'
Parameters:
the current GstCodecs.H264Picture to insert to dpb.
The required GstCodecs.H264DpbBumpMode for bumping.
Since : 1.20
gst_h264_dpb_num_ref_frames
gint gst_h264_dpb_num_ref_frames (GstH264Dpb * dpb)
Parameters:
dpb
–
The number of referenced frames
Since : 1.20
GstCodecs.H264Dpb.prototype.num_ref_frames
function GstCodecs.H264Dpb.prototype.num_ref_frames(): {
// javascript wrapper for 'gst_h264_dpb_num_ref_frames'
}
Parameters:
The number of referenced frames
Since : 1.20
GstCodecs.H264Dpb.num_ref_frames
def GstCodecs.H264Dpb.num_ref_frames (self):
#python wrapper for 'gst_h264_dpb_num_ref_frames'
Parameters:
The number of referenced frames
Since : 1.20
gst_h264_dpb_perform_memory_management_control_operation
gboolean gst_h264_dpb_perform_memory_management_control_operation (GstH264Dpb * dpb, GstH264RefPicMarking * ref_pic_marking, GstH264Picture * picture)
Perform "8.2.5.4 Adaptive memory control decoded reference picture marking process"
TRUE if successful
Since : 1.20
gst_h264_dpb_set_interlaced
gst_h264_dpb_set_interlaced (GstH264Dpb * dpb, gboolean interlaced)
Since : 1.20
GstCodecs.H264Dpb.prototype.set_interlaced
function GstCodecs.H264Dpb.prototype.set_interlaced(interlaced: Number): {
// javascript wrapper for 'gst_h264_dpb_set_interlaced'
}
Since : 1.20
GstCodecs.H264Dpb.set_interlaced
def GstCodecs.H264Dpb.set_interlaced (self, interlaced):
#python wrapper for 'gst_h264_dpb_set_interlaced'
Since : 1.20
gst_h264_dpb_set_last_output
gst_h264_dpb_set_last_output (GstH264Dpb * dpb, GstH264Picture * picture)
Notify the DPB that picture is output directly without storing in the DPB.
Since : 1.20
GstCodecs.H264Dpb.prototype.set_last_output
function GstCodecs.H264Dpb.prototype.set_last_output(picture: GstCodecs.H264Picture): {
// javascript wrapper for 'gst_h264_dpb_set_last_output'
}
Notify the DPB that picture is output directly without storing in the DPB.
Since : 1.20
GstCodecs.H264Dpb.set_last_output
def GstCodecs.H264Dpb.set_last_output (self, picture):
#python wrapper for 'gst_h264_dpb_set_last_output'
Notify the DPB that picture is output directly without storing in the DPB.
Since : 1.20
gst_h264_dpb_set_max_num_frames
gst_h264_dpb_set_max_num_frames (GstH264Dpb * dpb, gint max_num_frames)
Set the number of maximum allowed frames to store
Since : 1.20
GstCodecs.H264Dpb.prototype.set_max_num_frames
function GstCodecs.H264Dpb.prototype.set_max_num_frames(max_num_frames: Number): {
// javascript wrapper for 'gst_h264_dpb_set_max_num_frames'
}
Set the number of maximum allowed frames to store
Parameters:
the maximum number of picture
Since : 1.20
GstCodecs.H264Dpb.set_max_num_frames
def GstCodecs.H264Dpb.set_max_num_frames (self, max_num_frames):
#python wrapper for 'gst_h264_dpb_set_max_num_frames'
Set the number of maximum allowed frames to store
Parameters:
the maximum number of picture
Since : 1.20
gst_h264_dpb_set_max_num_reorder_frames
gst_h264_dpb_set_max_num_reorder_frames (GstH264Dpb * dpb, guint32 max_num_reorder_frames)
Parameters:
dpb
–
max_num_reorder_frames
–
the max number of reorder frames, which should not exceed the max size of DPB.
Since : 1.20
GstCodecs.H264Dpb.prototype.set_max_num_reorder_frames
function GstCodecs.H264Dpb.prototype.set_max_num_reorder_frames(max_num_reorder_frames: Number): {
// javascript wrapper for 'gst_h264_dpb_set_max_num_reorder_frames'
}
Parameters:
the max number of reorder frames, which should not exceed the max size of DPB.
Since : 1.20
GstCodecs.H264Dpb.set_max_num_reorder_frames
def GstCodecs.H264Dpb.set_max_num_reorder_frames (self, max_num_reorder_frames):
#python wrapper for 'gst_h264_dpb_set_max_num_reorder_frames'
Parameters:
the max number of reorder frames, which should not exceed the max size of DPB.
Since : 1.20
Functions
GstH264Picture
GstCodecs.H264Picture
GstCodecs.H264Picture
Constructors
gst_h264_picture_new
GstH264Picture * gst_h264_picture_new ()
Create new GstH264Picture
a new GstH264Picture
GstCodecs.H264Picture.prototype.new
function GstCodecs.H264Picture.prototype.new(): {
// javascript wrapper for 'gst_h264_picture_new'
}
Create new GstCodecs.H264Picture
a new GstCodecs.H264Picture
GstCodecs.H264Picture.new
def GstCodecs.H264Picture.new ():
#python wrapper for 'gst_h264_picture_new'
Create new GstCodecs.H264Picture
a new GstCodecs.H264Picture
GstH264Slice
Members
header
(GstH264SliceHdr)
–
nalu
(GstH264NalUnit)
–
GstCodecs.H264Slice
Members
header (not introspectable)
(object)
–
nalu (not introspectable)
(object)
–
GstCodecs.H264Slice
Members
header (not introspectable)
(object)
–
nalu (not introspectable)
(object)
–
Function Macros
GST_H264_DECODER_CAST
#define GST_H264_DECODER_CAST(obj) ((GstH264Decoder*)obj)
GST_H264_PICTURE_CAST
#define GST_H264_PICTURE_CAST(obj) (GST_H264_PICTURE(obj))
GST_H264_PICTURE_IS_FRAME
#define GST_H264_PICTURE_IS_FRAME(picture) \ ((picture)->field == GST_H264_PICTURE_FIELD_FRAME)
Check whether picture is a frame (not a field picture)
Parameters:
picture
–
Since : 1.20
GST_H264_PICTURE_IS_LONG_TERM_REF
#define GST_H264_PICTURE_IS_LONG_TERM_REF(picture) \ ((picture)->ref == GST_H264_PICTURE_REF_LONG_TERM)
Check whether picture is used for long-term reference
Parameters:
picture
–
Since : 1.20
GST_H264_PICTURE_IS_REF
#define GST_H264_PICTURE_IS_REF(picture) \ ((picture)->ref != GST_H264_PICTURE_REF_NONE)
Check whether picture is used for short-term or long-term reference
Parameters:
picture
–
Since : 1.20
GST_H264_PICTURE_IS_SHORT_TERM_REF
#define GST_H264_PICTURE_IS_SHORT_TERM_REF(picture) \ ((picture)->ref == GST_H264_PICTURE_REF_SHORT_TERM)
Check whether picture is used for short-term reference
Parameters:
picture
–
Since : 1.20
Enumerations
GstH264DecoderCompliance
Members
GST_H264_DECODER_COMPLIANCE_AUTO
(0)
–
The decoder behavior is automatically choosen.
GST_H264_DECODER_COMPLIANCE_STRICT
(1)
–
The decoder behavior strictly conforms to the SPEC. All the decoder behaviors conform to the SPEC, not including any nonstandard behavior which is not mentioned in the SPEC.
GST_H264_DECODER_COMPLIANCE_NORMAL
(2)
–
The decoder behavior normally conforms to the SPEC. Most behaviors conform to the SPEC but including some nonstandard features which are widely used or often used in the industry practice. This meets the request of real streams and usages, but may not 100% conform to the SPEC. It has very low risk. E.g., we will output pictures without waiting DPB being full for the lower latency, which may cause B frame disorder when there are reference frames with smaller POC after it in decoder order. And the baseline profile may be mapped to the constrained-baseline profile, but it may have problems when a real baseline stream comes with FMO or ASO.
GST_H264_DECODER_COMPLIANCE_FLEXIBLE
(3)
–
The decoder behavior flexibly conforms to the SPEC. It uses the nonstandard features more aggressively in order to get better performance(for example, lower latency). It may change the result of the decoder and should be used carefully. Besides including all risks in normal mode, it has more risks, such as frames disorder when reference frames POC decrease in decoder order.
Since : 1.20
GstCodecs.H264DecoderCompliance
Members
GstCodecs.H264DecoderCompliance.AUTO
(0)
–
The decoder behavior is automatically choosen.
GstCodecs.H264DecoderCompliance.STRICT
(1)
–
The decoder behavior strictly conforms to the SPEC. All the decoder behaviors conform to the SPEC, not including any nonstandard behavior which is not mentioned in the SPEC.
GstCodecs.H264DecoderCompliance.NORMAL
(2)
–
The decoder behavior normally conforms to the SPEC. Most behaviors conform to the SPEC but including some nonstandard features which are widely used or often used in the industry practice. This meets the request of real streams and usages, but may not 100% conform to the SPEC. It has very low risk. E.g., we will output pictures without waiting DPB being full for the lower latency, which may cause B frame disorder when there are reference frames with smaller POC after it in decoder order. And the baseline profile may be mapped to the constrained-baseline profile, but it may have problems when a real baseline stream comes with FMO or ASO.
GstCodecs.H264DecoderCompliance.FLEXIBLE
(3)
–
The decoder behavior flexibly conforms to the SPEC. It uses the nonstandard features more aggressively in order to get better performance(for example, lower latency). It may change the result of the decoder and should be used carefully. Besides including all risks in normal mode, it has more risks, such as frames disorder when reference frames POC decrease in decoder order.
Since : 1.20
GstCodecs.H264DecoderCompliance
Members
GstCodecs.H264DecoderCompliance.AUTO
(0)
–
The decoder behavior is automatically choosen.
GstCodecs.H264DecoderCompliance.STRICT
(1)
–
The decoder behavior strictly conforms to the SPEC. All the decoder behaviors conform to the SPEC, not including any nonstandard behavior which is not mentioned in the SPEC.
GstCodecs.H264DecoderCompliance.NORMAL
(2)
–
The decoder behavior normally conforms to the SPEC. Most behaviors conform to the SPEC but including some nonstandard features which are widely used or often used in the industry practice. This meets the request of real streams and usages, but may not 100% conform to the SPEC. It has very low risk. E.g., we will output pictures without waiting DPB being full for the lower latency, which may cause B frame disorder when there are reference frames with smaller POC after it in decoder order. And the baseline profile may be mapped to the constrained-baseline profile, but it may have problems when a real baseline stream comes with FMO or ASO.
GstCodecs.H264DecoderCompliance.FLEXIBLE
(3)
–
The decoder behavior flexibly conforms to the SPEC. It uses the nonstandard features more aggressively in order to get better performance(for example, lower latency). It may change the result of the decoder and should be used carefully. Besides including all risks in normal mode, it has more risks, such as frames disorder when reference frames POC decrease in decoder order.
Since : 1.20
GstH264DpbBumpMode
Members
GST_H264_DPB_BUMP_NORMAL_LATENCY
(0)
–
No latency requirement for DBP bumping.
GST_H264_DPB_BUMP_LOW_LATENCY
(1)
–
Low-latency requirement for DBP bumping.
GST_H264_DPB_BUMP_VERY_LOW_LATENCY
(2)
–
Very low-latency requirement for DBP bumping.
Since : 1.20
GstCodecs.H264DpbBumpMode
Members
GstCodecs.H264DpbBumpMode.NORMAL_LATENCY
(0)
–
No latency requirement for DBP bumping.
GstCodecs.H264DpbBumpMode.LOW_LATENCY
(1)
–
Low-latency requirement for DBP bumping.
GstCodecs.H264DpbBumpMode.VERY_LOW_LATENCY
(2)
–
Very low-latency requirement for DBP bumping.
Since : 1.20
GstCodecs.H264DpbBumpMode
Members
GstCodecs.H264DpbBumpMode.NORMAL_LATENCY
(0)
–
No latency requirement for DBP bumping.
GstCodecs.H264DpbBumpMode.LOW_LATENCY
(1)
–
Low-latency requirement for DBP bumping.
GstCodecs.H264DpbBumpMode.VERY_LOW_LATENCY
(2)
–
Very low-latency requirement for DBP bumping.
Since : 1.20
GstH264PictureField
Members
GST_H264_PICTURE_FIELD_FRAME
(0)
–
GST_H264_PICTURE_FIELD_TOP_FIELD
(1)
–
GST_H264_PICTURE_FIELD_BOTTOM_FIELD
(2)
–
GstCodecs.H264PictureField
Members
GstCodecs.H264PictureField.FRAME
(0)
–
GstCodecs.H264PictureField.TOP_FIELD
(1)
–
GstCodecs.H264PictureField.BOTTOM_FIELD
(2)
–
GstCodecs.H264PictureField
Members
GstCodecs.H264PictureField.FRAME
(0)
–
GstCodecs.H264PictureField.TOP_FIELD
(1)
–
GstCodecs.H264PictureField.BOTTOM_FIELD
(2)
–
GstH264PictureReference
Members
GST_H264_PICTURE_REF_NONE
(0)
–
Not used for reference picture
GST_H264_PICTURE_REF_SHORT_TERM
(1)
–
Used for short-term reference picture
GST_H264_PICTURE_REF_LONG_TERM
(2)
–
Used for long-term reference picture
Since : 1.20
GstCodecs.H264PictureReference
Members
GstCodecs.H264PictureReference.NONE
(0)
–
Not used for reference picture
GstCodecs.H264PictureReference.SHORT_TERM
(1)
–
Used for short-term reference picture
GstCodecs.H264PictureReference.LONG_TERM
(2)
–
Used for long-term reference picture
Since : 1.20
GstCodecs.H264PictureReference
Members
GstCodecs.H264PictureReference.NONE
(0)
–
Not used for reference picture
GstCodecs.H264PictureReference.SHORT_TERM
(1)
–
Used for short-term reference picture
GstCodecs.H264PictureReference.LONG_TERM
(2)
–
Used for long-term reference picture
Since : 1.20
Constants
GST_H264_DPB_MAX_SIZE
#define GST_H264_DPB_MAX_SIZE 16
GstCodecs.H264_DPB_MAX_SIZE
GstCodecs.H264_DPB_MAX_SIZE
The results of the search are