33 #ifndef _TI_CODEC_WRAPPER_H_ 34 #define _TI_CODEC_WRAPPER_H_ 52 #define CODEC_MAX_LEN_CMD_STR 4096u 53 #define CODEC_MAX_LEN_ELEM_NAME 32u 54 #define CODEC_MAX_NUM_PLANES 4u 55 #define CODEC_MAX_BUFFER_DEPTH 16u 56 #if defined(SOC_J784S4) 57 #define CODEC_MAX_NUM_CHANNELS 12u 59 #define CODEC_MAX_NUM_CHANNELS 8u int32_t appCodecInit(app_codec_wrapper_params_t *prm)
Launches the CODECPipeline described by user defined parameters. Initializes the codec_wrapper and ca...
#define CODEC_MAX_BUFFER_DEPTH
Definition: codec_wrapper.h:55
int32_t appCodecDeqAppSink(uint8_t idx)
Pull a buffer from the AppSink element into the bufferpool.
uint8_t in_num_channels
Definition: codec_wrapper.h:73
void appCodecDeInit()
Unmaps all buffers that were mapped and destroys all GStreamer or OpenMAX objects.
#define CODEC_MAX_NUM_CHANNELS
Definition: codec_wrapper.h:59
int32_t appCodecEnqAppSink(uint8_t idx)
Release a previously pulled CODECBuffer back to GStreamer and cleanup.
int32_t appCodecStart()
Starts the CODECPipeline that was launched previously.
#define CODEC_MAX_NUM_PLANES
Definition: codec_wrapper.h:54
int32_t appCodecSinkInit(void *data_ptr[CODEC_MAX_BUFFER_DEPTH][CODEC_MAX_NUM_CHANNELS][CODEC_MAX_NUM_PLANES])
Initializes the AppSink elements to be able to pull buffers from the CODECPipeline. Registers the data_pointers that will map to the bufferpool of pulled CODECBuffers. The output parameters (out_*) must be properly initialised.
int32_t appCodecEnqEosAppSrc()
Push EOS (End Of Stream) to the AppSrc element. Signals the elements to stop processing buffers after...
int32_t appDecode
Definition: codec_wrapper.h:87
int32_t out_width
Definition: codec_wrapper.h:77
int32_t out_height
Definition: codec_wrapper.h:78
int32_t appCodecSrcInit(void *data_ptr[CODEC_MAX_BUFFER_DEPTH][CODEC_MAX_NUM_CHANNELS][CODEC_MAX_NUM_PLANES])
Initializes the AppSrc elements to be able to push buffers to the CODECPipeline. Wraps the given allo...
int32_t appCodecDeqAppSrc(uint8_t idx)
Wait for a previously pushed buffer to be consumed by the CODECPipeline.
uint8_t in_num_planes
Definition: codec_wrapper.h:72
int32_t in_height
Definition: codec_wrapper.h:70
int32_t appEncode
Definition: codec_wrapper.h:86
int32_t in_width
Definition: codec_wrapper.h:69
uint8_t out_num_channels
Definition: codec_wrapper.h:81
uint8_t out_num_planes
Definition: codec_wrapper.h:80
int32_t appCodecStop()
Stops the CODECPipeline that was in playing state. If there is no AppSink element, waits to recieve EOS before cleaning up.
#define CODEC_MAX_LEN_CMD_STR
Definition: codec_wrapper.h:52
uint8_t in_buffer_depth
Definition: codec_wrapper.h:74
void appCodecPrintStats()
Prints the current count of the numbers of buffers pushed/pulled to/from the CODECPipeline. Not multi-thread safe.
int32_t appCodecEnqAppSrc(uint8_t idx)
Push a buffer from the bufferpool to the AppSrc element.
#define CODEC_MAX_LEN_ELEM_NAME
Definition: codec_wrapper.h:53
uint8_t out_buffer_depth
Definition: codec_wrapper.h:82
Init parameters.
Definition: codec_wrapper.h:66