MPEG-4 LASeR encoding and decoding.
More...
|
GF_LASeRCodec * | gf_laser_decoder_new (GF_SceneGraph *scenegraph) |
|
void | gf_laser_decoder_del (GF_LASeRCodec *codec) |
|
void | gf_laser_decoder_set_clock (GF_LASeRCodec *codec, Double(*GetSceneTime)(void *st_cbk), void *st_cbk) |
|
GF_Err | gf_laser_decoder_configure_stream (GF_LASeRCodec *codec, u16 ESID, u8 *DecoderSpecificInfo, u32 DecoderSpecificInfoLength) |
|
GF_Err | gf_laser_decoder_remove_stream (GF_LASeRCodec *codec, u16 ESID) |
|
GF_Err | gf_laser_decode_au (GF_LASeRCodec *codec, u16 ESID, const u8 *data, u32 data_length) |
|
GF_Err | gf_laser_decode_command_list (GF_LASeRCodec *codec, u16 ESID, u8 *data, u32 data_length, GF_List *com_list) |
|
Bool | gf_laser_decode_has_conditionnals (GF_LASeRCodec *codec) |
|
GF_LASeRCodec * | gf_laser_encoder_new (GF_SceneGraph *scenegraph) |
|
void | gf_laser_encoder_del (GF_LASeRCodec *codec) |
|
GF_Err | gf_laser_encoder_new_stream (GF_LASeRCodec *codec, u16 ESID, GF_LASERConfig *cfg) |
|
GF_Err | gf_laser_encode_au (GF_LASeRCodec *codec, u16 ESID, GF_List *command_list, Bool reset_encoding_context, u8 **out_data, u32 *out_data_length) |
|
GF_Err | gf_laser_encoder_get_config (GF_LASeRCodec *codec, u16 ESID, u8 **out_data, u32 *out_data_length) |
|
GF_Err | gf_laser_encoder_get_rap (GF_LASeRCodec *codec, u8 **out_data, u32 *out_data_length) |
|
This section documents the LASeR encoding and decoding functions of the GPAC framework. For scene graph documentation, check scenegraph.h
◆ GF_LASeRCodec
◆ gf_laser_decoder_new()
creates a new LASeR decoder
- Parameters
-
scenegraph | the scenegraph on which the decoder operates |
- Returns
- a newly allocated LASeR decoder
◆ gf_laser_decoder_del()
destroys a LASeR decoder
- Parameters
-
codec | the target LASeR decoder |
◆ gf_laser_decoder_set_clock()
void gf_laser_decoder_set_clock |
( |
GF_LASeRCodec * |
codec, |
|
|
Double(*)(void *st_cbk) |
GetSceneTime, |
|
|
void * |
st_cbk |
|
) |
| |
sets the scene time. Scene time is the real clock of the bifs stream in secs
- Parameters
-
codec | the target LASeR decoder |
GetSceneTime | the scene clock query callback function |
st_cbk | opaque data for the callback function |
◆ gf_laser_decoder_configure_stream()
sets up a stream
- Parameters
-
codec | the target LASeR decoder |
ESID | the ESID of the stream |
DecoderSpecificInfo | the decoder configuration data of the LASeR stream |
DecoderSpecificInfoLength | the size in bytes of the decoder configuration data |
- Returns
- error if any
◆ gf_laser_decoder_remove_stream()
removes a stream
- Parameters
-
codec | the target LASeR decoder |
ESID | the ESID of the stream |
- Returns
- error if any
◆ gf_laser_decode_au()
decodes a LASeR AU and applies it to the graph (non-memory mode only)
- Parameters
-
codec | the target LASeR decoder |
ESID | the ESID of the stream |
data | the access unit payload |
data_length | the access unit size in bytes |
- Returns
- error if any
◆ gf_laser_decode_command_list()
decodes a LASeR AU in memory - fills the command list with the content of the AU - cf scenegraph_vrml.h for commands usage
- Parameters
-
codec | the target LASeR decoder |
ESID | the ESID of the stream |
data | the access unit payload |
data_length | the access unit size in bytes |
com_list | a list to be filled with decoded commands |
- Returns
- error if any
◆ gf_laser_decode_has_conditionnals()
checks if a LASeR decoder has associated conditionnals
- Parameters
-
codec | the target LASeR decoder |
- Returns
- GF_TRUE if conditionnals are attached to this decoder
◆ gf_laser_encoder_new()
creates a new LASeR encoder
- Parameters
-
scenegraph | the scenegraph on which the encoder operates |
- Returns
- a newly allocated LASeR encoder
◆ gf_laser_encoder_del()
destroys a LASeR encoder
- Parameters
-
codec | the target LASeR encoder |
◆ gf_laser_encoder_new_stream()
sets up a destination stream
- Parameters
-
codec | the target LASeR encoder |
ESID | the ID of the stream |
cfg | the LASeR configuration descriptor |
- Returns
- error if any
◆ gf_laser_encode_au()
encodes a list of commands for the given stream in the output buffer - data is dynamically allocated for output
- Parameters
-
codec | the target LASeR encoder |
ESID | the ID of the stream |
command_list | a list of commands to encode |
reset_encoding_context | if GF_TRUE, resets all color and font tables of LASeR streams (used for clean RAPs) |
out_data | set to an allocated buffer containing the encoded AU - shall be destroyed by caller |
out_data_length | set to the size of the encoded AU |
- Returns
- error if any
◆ gf_laser_encoder_get_config()
gets a stream encoded config description
- Parameters
-
codec | the target LASeR encoder |
ESID | the ID of the stream |
out_data | set to an allocated buffer containing the encoded configuration - shall be destroyed by caller |
out_data_length | set to the size of the encoded configuration |
- Returns
- error if any
◆ gf_laser_encoder_get_rap()
encodes current graph as a scene replace
- Parameters
-
codec | the target LASeR encoder |
out_data | set to an allocated buffer containing the encoded scene replace AU - shall be destroyed by caller |
out_data_length | set to the size of the encoded AU |
- Returns
- error if any