Main Page   Modules   Data Structures   Data Fields   Related Pages  

Raw Input Parameters


Data Structures

struct  rte_video_stream_params
struct  rte_audio_stream_params
union  rte_stream_parameters

Enumerations

enum  rte_pixfmt {
  RTE_PIXFMT_YUV420 = 1,
  RTE_PIXFMT_YUYV,
  RTE_PIXFMT_YVYU,
  RTE_PIXFMT_UYVY,
  RTE_PIXFMT_VYUY,
  RTE_PIXFMT_RGBA32_LE = 32,
  RTE_PIXFMT_RGBA32_BE,
  RTE_PIXFMT_BGRA32_LE,
  RTE_PIXFMT_BGRA32_BE,
  RTE_PIXFMT_ABGR32_BE = 32,
  RTE_PIXFMT_ABGR32_LE,
  RTE_PIXFMT_ARGB32_BE,
  RTE_PIXFMT_ARGB32_LE,
  RTE_PIXFMT_RGB24,
  RTE_PIXFMT_BGR24,
  RTE_PIXFMT_RGB16_LE,
  RTE_PIXFMT_RGB16_BE,
  RTE_PIXFMT_BGR16_LE,
  RTE_PIXFMT_BGR16_BE,
  RTE_PIXFMT_RGBA15_LE,
  RTE_PIXFMT_RGBA15_BE,
  RTE_PIXFMT_BGRA15_LE,
  RTE_PIXFMT_BGRA15_BE,
  RTE_PIXFMT_ARGB15_LE,
  RTE_PIXFMT_ARGB15_BE,
  RTE_PIXFMT_ABGR15_LE,
  RTE_PIXFMT_ABGR15_BE
}
enum  rte_framefmt {
  RTE_FRAMEFMT_PROGRESSIVE = 1,
  RTE_FRAMEFMT_INTERLACED,
  RTE_FRAMEFMT_ALTERNATING
}
enum  rte_sndfmt {
  RTE_SNDFMT_S8 = 1,
  RTE_SNDFMT_U8,
  RTE_SNDFMT_S16_LE,
  RTE_SNDFMT_S16_BE,
  RTE_SNDFMT_U16_LE,
  RTE_SNDFMT_U16_BE
}

Functions

rte_bool rte_parameters_set (rte_codec *codec, rte_stream_parameters *params)
rte_bool rte_parameters_get (rte_codec *codec, rte_stream_parameters *params)
rte_bool rte_codec_parameters_set (rte_codec *codec, rte_stream_parameters *params)
rte_bool rte_codec_parameters_get (rte_codec *codec, rte_stream_parameters *params)

Enumeration Type Documentation

enum rte_pixfmt
 

Image format used in a video input stream.

SymbolByte 0Byte 1Byte 2Byte 3
Planar YUV 4:2:0 data.
RTE_PIXFMT_YUV420
Y planeU planeV plane
Y00Y01Y02Y03
Y10Y11Y12Y13
Y20Y21Y22Y23
Y30Y31Y32Y33
Cb00Cb01
Cb10Cb11
Cr00Cr01
Cr10Cr11
Packed YUV 4:2:2 data.
RTE_PIXFMT_YUYVY0CbY1Cr
RTE_PIXFMT_YVYUY0CrY1Cb
RTE_PIXFMT_UYVYCbY0CrY1
RTE_PIXFMT_VYUYCrY0CbY1
Packed 32 bit RGB data.
RTE_PIXFMT_RGBA32_LE RTE_PIXFMT_ARGB32_BE r7 ... r0g7 ... g0 b7 ... b0a7 ... a0
RTE_PIXFMT_BGRA32_LE RTE_PIXFMT_ARGB32_BE b7 ... b0g7 ... g0 r7 ... r0a7 ... a0
RTE_PIXFMT_ARGB32_LE RTE_PIXFMT_BGRA32_BE a7 ... a0r7 ... r0 g7 ... g0b7 ... b0
RTE_PIXFMT_ABGR32_LE RTE_PIXFMT_RGBA32_BE a7 ... a0b7 ... b0 g7 ... g0r7 ... r0
Packed 24 bit RGB data.
RTE_PIXFMT_RGBA24 r7 ... r0g7 ... g0 b7 ... b0 
RTE_PIXFMT_BGRA24 b7 ... b0g7 ... g0 r7 ... r0 
Packed 16 bit RGB data.
RTE_PIXFMT_RGB16_LE g2 g1 g0 r4 r3 r2 r1 r0 b4 b3 b2 b1 b0 g5 g4 g3   
RTE_PIXFMT_BGR16_LE g2 g1 g0 b4 b3 b2 b1 b0 r4 r3 r2 r1 r0 g5 g4 g3   
RTE_PIXFMT_RGB16_BE b4 b3 b2 b1 b0 g5 g4 g3 g2 g1 g0 r4 r3 r2 r1 r0   
RTE_PIXFMT_BGR16_BE r4 r3 r2 r1 r0 g5 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0   
Packed 15 bit RGB data.
RTE_PIXFMT_RGBA15_LE g2 g1 g0 r4 r3 r2 r1 r0 a0 b4 b3 b2 b1 b0 g4 g3   
RTE_PIXFMT_BGRA15_LE g2 g1 g0 b4 b3 b2 b1 b0 a0 r4 r3 r2 r1 r0 g4 g3   
RTE_PIXFMT_ARGB15_LE g1 g0 r4 r3 r2 r1 r0 a0 b4 b3 b2 b1 b0 g4 g3 g2   
RTE_PIXFMT_ABGR15_LE g1 g0 b4 b3 b2 b1 b0 a0 r4 r3 r2 r1 r0 g4 g3 g2   
RTE_PIXFMT_RGBA15_BE a0 b4 b3 b2 b1 b0 g4 g3 g2 g1 g0 r4 r3 r2 r1 r0   
RTE_PIXFMT_BGRA15_BE a0 r4 r3 r2 r1 r0 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0   
RTE_PIXFMT_ARGB15_BE b4 b3 b2 b1 b0 g4 g3 g2 g1 g0 r4 r3 r2 r1 r0 a0   
RTE_PIXFMT_ABGR15_BE r4 r3 r2 r1 r0 g4 g3 g2 g1 g0 b4 b3 b2 b1 b0 a0   

enum rte_framefmt
 

Field/frame format used in a video input stream.

Enumeration values:
RTE_FRAMEFMT_PROGRESSIVE  The images are not interlaced, one buffer contains one frame.
RTE_FRAMEFMT_INTERLACED  The images are interlaced, one buffer contains one interlaced frame. Field order is determined by rte_video_stream_params spatial_order and temporal_order.
RTE_FRAMEFMT_ALTERNATING  The images are fields, one buffer contains alternating a top or bottom field of a frame. The stream starts with the field determined by rte_video_stream_params spatial_order and temporal_order. The alternating must be maintained throughout the stream, however when timestamps are correct fields can drop individually.

enum rte_sndfmt
 

Sample format used in a audio input stream.

SymbolMeaning
RTE_SNDFMT_S8Signed 8 bit samples
RTE_SNDFMT_U8Unsigned 8 bit samples
RTE_SNDFMT_S16_LESigned 16 bit samples, little endian
RTE_SNDFMT_S16_BESigned 16 bit samples, big endian
RTE_SNDFMT_U16_LEUnsigned 16 bit samples, little endian
RTE_SNDFMT_U16_BEUnsigned 16 bit samples, big endian


Function Documentation

rte_bool rte_parameters_set rte_codec   codec,
rte_stream_parameters   params
 

Parameters:
codec  Pointer to a rte_codec returned by rte_get_codec() or rte_set_codec().
params  Parameters describing the source data.
This function is used to negotiate the source data parameters such as image width and height or audio sampling frequency. The params structure must be cleared before calling this function, you can propose parameters by setting the respective fields. On return all fields will be set to the nearest possible value, for example the image width and height rounded to a multiple of 16. The cycle can repeat until a suitable set of parameters has been negotiated.

Typical usage of rte_parameters_set():

 rte_stream_parameters params;
 
 memset (&params, 0, sizeof(params));
 
 params.video.pixfmt = RTE_PIXFMT_YUYV;
 params.video.frame_rate = 24.0;
 params.video.width = 384;
 params.video.height = 288;
 
 rte_parameters_set (video_codec, &params);

When the codec supports clipping, scaling and resampling you can do this:

Video clipping:

 rte_codec_option_set (video_codec, "width", dest_x1 - dest_x0 + 1);
 rte_codec_option_set (video_codec, "height", dest_y1 - dest_y0 + 1);

 params.video.stride = source_y1 - source_y0 + 1;
 params.video.offset = dest_x0 + dest_y0 * params.video.stride;
 params.video.width  = dest_x1 - dest_x0 + 1;
 params.video.height = dest_y1 - dest_y0 + 1;

Video scaling:

 rte_codec_option_set (video_codec, "width", dest_x1 - dest_x0 + 1);
 rte_codec_option_set (video_codec, "height", dest_y1 - dest_y0 + 1);

 params.video.stride = source_y1 - source_y0 + 1;
 params.video.offset = 0;
 params.video.width  = source_x1 - source_x0 + 1;
 params.video.height = source_y1 - source_y0 + 1;

Audio resampling:

 rte_codec_option_set (audio_codec, "sampling_freq", 44100.0);

 params.audio.sampling_freq = 32000.0;

Returns:
FALSE if the parameters are somehow ambiguous.

rte_bool rte_parameters_get rte_codec   codec,
rte_stream_parameters   params
 

Parameters:
codec  Pointer to a rte_codec returned by rte_get_codec() or rte_set_codec().
params  Parameters describing the source data.
Query the negotiated data parameters.

Returns:
FALSE if no parameters have been negotiated.

rte_bool rte_codec_parameters_set rte_codec   codec,
rte_stream_parameters   params
 

Parameters:
codec  Pointer to a rte_codec returned by rte_get_codec() or rte_set_codec().
params  Parameters describing the source data.
See rte_parameters_set().

Returns:
FALSE if the parameters are somehow ambiguous.

rte_bool rte_codec_parameters_get rte_codec   codec,
rte_stream_parameters   params
 

Parameters:
codec  Pointer to a rte_codec returned by rte_get_codec() or rte_set_codec().
params  Parameters describing the source data.
See rte_parameters_get().

Returns:
FALSE if no parameters have been negotiated.


Generated on Fri Feb 28 09:23:38 2003 for RTE Library by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002