GNU Radio 3.6.5 C++ API

video_sdl_sink_uc Class Reference

video sink using SDL More...

#include <video_sdl_sink_uc.h>

Inheritance diagram for video_sdl_sink_uc:
gr_sync_block gr_block gr_basic_block gr_msg_accepter gruel::msg_accepter

List of all members.

Public Member Functions

 ~video_sdl_sink_uc ()
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 just like gr_block::general_work, only this arranges to call consume_each for you

Protected Member Functions

 video_sdl_sink_uc (double framerate, int width, int height, unsigned int format, int dst_width, int dst_height)
void copy_line_pixel_interleaved (unsigned char *dst_pixels_u, unsigned char *dst_pixels_v, const unsigned char *src_pixels, int src_width)
void copy_line_line_interleaved (unsigned char *dst_pixels_u, unsigned char *dst_pixels_v, const unsigned char *src_pixels, int src_width)
void copy_line_single_plane (unsigned char *dst_pixels, const unsigned char *src_pixels, int src_width)
void copy_line_single_plane_dec2 (unsigned char *dst_pixels, const unsigned char *src_pixels, int src_width)
int copy_plane_to_surface (int plane, int noutput_items, const unsigned char *src_pixels)

Protected Attributes

float d_framerate
int d_wanted_frametime_ms
int d_width
int d_height
int d_dst_width
int d_dst_height
int d_format
int d_current_line
SDL_Surface * d_screen
SDL_Overlay * d_image
SDL_Rect d_dst_rect
float d_avg_delay
unsigned int d_wanted_ticks

Friends

VIDEO_SDL_API
video_sdl_sink_uc_sptr 
video_sdl_make_sink_uc (double framerate, int width, int height, unsigned int format, int dst_width, int dst_height)

Detailed Description

video sink using SDL

input signature is one, two or three streams of uchar. One stream: stream is grey (Y) two streems: first is grey (Y), second is alternating U and V Three streams: first is grey (Y), second is U, third is V Input samples must be in the range [0,255].


Constructor & Destructor Documentation

video_sdl_sink_uc::video_sdl_sink_uc ( double  framerate,
int  width,
int  height,
unsigned int  format,
int  dst_width,
int  dst_height 
) [protected]
video_sdl_sink_uc::~video_sdl_sink_uc ( )

Member Function Documentation

void video_sdl_sink_uc::copy_line_line_interleaved ( unsigned char *  dst_pixels_u,
unsigned char *  dst_pixels_v,
const unsigned char *  src_pixels,
int  src_width 
) [protected]
void video_sdl_sink_uc::copy_line_pixel_interleaved ( unsigned char *  dst_pixels_u,
unsigned char *  dst_pixels_v,
const unsigned char *  src_pixels,
int  src_width 
) [protected]
void video_sdl_sink_uc::copy_line_single_plane ( unsigned char *  dst_pixels,
const unsigned char *  src_pixels,
int  src_width 
) [protected]
void video_sdl_sink_uc::copy_line_single_plane_dec2 ( unsigned char *  dst_pixels,
const unsigned char *  src_pixels,
int  src_width 
) [protected]
int video_sdl_sink_uc::copy_plane_to_surface ( int  plane,
int  noutput_items,
const unsigned char *  src_pixels 
) [protected]
int video_sdl_sink_uc::work ( int  noutput_items,
gr_vector_const_void_star input_items,
gr_vector_void_star output_items 
) [virtual]

just like gr_block::general_work, only this arranges to call consume_each for you

The user must override work to define the signal processing code

Implements gr_sync_block.


Friends And Related Function Documentation

VIDEO_SDL_API video_sdl_sink_uc_sptr video_sdl_make_sink_uc ( double  framerate,
int  width,
int  height,
unsigned int  format,
int  dst_width,
int  dst_height 
) [friend]

Member Data Documentation

float video_sdl_sink_uc::d_avg_delay [protected]
SDL_Rect video_sdl_sink_uc::d_dst_rect [protected]
int video_sdl_sink_uc::d_format [protected]
float video_sdl_sink_uc::d_framerate [protected]
int video_sdl_sink_uc::d_height [protected]
SDL_Overlay* video_sdl_sink_uc::d_image [protected]
SDL_Surface* video_sdl_sink_uc::d_screen [protected]
unsigned int video_sdl_sink_uc::d_wanted_ticks [protected]
int video_sdl_sink_uc::d_width [protected]

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