MediaProcessors
Public Attributes | List of all members
proc_frame_ctx_s Struct Reference

#include <proc_if.h>

Public Attributes

uint8_t * data
 
const uint8_t * p_data [PROC_FRAME_NUM_DATA_POINTERS]
 
int linesize [PROC_FRAME_NUM_DATA_POINTERS]
 
size_t width [PROC_FRAME_NUM_DATA_POINTERS]
 
size_t height [PROC_FRAME_NUM_DATA_POINTERS]
 
int proc_sample_fmt
 
int proc_sampling_rate
 
int64_t pts
 
int64_t dts
 
int es_id
 

Detailed Description

Input/output frame context structure. This aims to be a generic input/output frame structure for any kind of processing (e.g. video, audio, subtitles, data, ...). Not all the fields will be necessarily used by all the processors, in fact, most of the processors will only use a subset of these fields.

Definition at line 78 of file proc_if.h.

Member Data Documentation

uint8_t* proc_frame_ctx_s::data

Pointer to data buffer. Data may be organized in one or more "data planes".

Definition at line 84 of file proc_if.h.

int64_t proc_frame_ctx_s::dts

Decoding time-stamp, in microseconds. Not used in the case of raw data (only used at encoder output/decoder input, by encoders that use internal frame reordering).

Definition at line 144 of file proc_if.h.

int proc_frame_ctx_s::es_id

Elementary stream identifier. Used, for example, in mutiplexion / demultiplexion.

Definition at line 149 of file proc_if.h.

size_t proc_frame_ctx_s::height[PROC_FRAME_NUM_DATA_POINTERS]

Frame height. In the case of audio, compressed/encoded data, or any 1-dimensional data, this value should be set to 1.

Definition at line 119 of file proc_if.h.

int proc_frame_ctx_s::linesize[PROC_FRAME_NUM_DATA_POINTERS]

Number of bytes per line for each plane. This is not the number of actual data bytes per line, but the stride in byte units (stride bytes >= data bytes per line). For example, in the case of raw video YUV planar formatted data, each line-size refer to the buffer line stride applicable to each data plane. In the case of non-planar raw data or compressed/encoded data, only one entry may be used and would specify the buffer size in bytes (note that buffer size >= actual data size) The number of actual data bytes per line is given by 'width' parameter for the corresponding plane.

Definition at line 107 of file proc_if.h.

const uint8_t* proc_frame_ctx_s::p_data[PROC_FRAME_NUM_DATA_POINTERS]

Pointers to data planes. These pointers refer to a position within the data buffer. For example, in the case of raw video YUV planar formatted data, three planes may be used corresponding to the luminance and the two chrominances components respectively. In the case of non-planar raw data or compressed/encoded data, only the first plane may be used.

Definition at line 94 of file proc_if.h.

int proc_frame_ctx_s::proc_sample_fmt

Processor samples format identifier. Type proc_sample_fmt_t enumerates the supported formats (table proc_sample_fmt_lut can also be used if literal description is preferred). Typically not used in the case of compressed/encoded data.

Definition at line 127 of file proc_if.h.

int proc_frame_ctx_s::proc_sampling_rate

Processor data sampling rate. For example, for video, this value approximately represent the frames-per-second (FPS). For audio, the sampling-rate value in units of Hz. (e.g. 44100, ...)

Definition at line 134 of file proc_if.h.

int64_t proc_frame_ctx_s::pts

Presentation time-stamp, in microseconds.

Definition at line 138 of file proc_if.h.

size_t proc_frame_ctx_s::width[PROC_FRAME_NUM_DATA_POINTERS]

Frame width. In the case of audio, compressed/encoded data, or any 1-dimensional data, this value is used to specify the actual data size in bytes.

Definition at line 113 of file proc_if.h.


The documentation for this struct was generated from the following file: