![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <stdio.h>#include <string.h>#include "utils/vf_split.h"#include "video.h"#include "video_codec.h"
Go to the source code of this file.
Functions | |
| shared_ptr< video_frame > | vf_merge_tiles (std::vector< shared_ptr< video_frame > > const &tiles) |
| vector< shared_ptr< video_frame > > | vf_separate_tiles (shared_ptr< video_frame > frame) |
| void | vf_split (struct video_frame *out, struct video_frame *src, unsigned int x_count, unsigned int y_count, int preallocate) |
Definition in file vf_split.cpp.
| shared_ptr< video_frame > vf_merge_tiles | ( | std::vector< shared_ptr< video_frame > > const & | tiles | ) |
Definition at line 135 of file vf_split.cpp.
References desc, frame, video_desc::tile_count, type, vf_alloc_desc(), vf_copy_metadata(), vf_free(), and video_desc_from_frame().
Referenced by compress_frame_tiles().

| vector< shared_ptr< video_frame > > vf_separate_tiles | ( | shared_ptr< video_frame > | frame | ) |
Definition at line 114 of file vf_split.cpp.
References tile::data, tile::data_len, desc, frame, video_desc::tile_count, video_frame::tile_count, video_frame::tiles, vf_alloc_desc(), vf_copy_metadata(), vf_free(), and video_desc_from_frame().
Referenced by compress_frame(), and compress_frame_tiles().

| void vf_split | ( | struct video_frame * | out, |
| struct video_frame * | src, | ||
| unsigned int | x_count, | ||
| unsigned int | y_count, | ||
| int | preallocate ) |
vf_split splits the frame into multiple tiles. Caller is responsible for allocating memory for all of these: out (to hold all elements), out elements and theirs data member to hold tile data.
width must be divisible by x_count && heigth by y_count (!)
| out | output video frames array the resulting matrix will be stored row-dominant |
| src | source video frame |
| x_count | number of columns |
| y_count | number of rows |
| preallocate | used for preallocating buffers because determining right size can be cumbersome. Anyway only .data are allocated. |
Definition at line 51 of file vf_split.cpp.
References video_frame::color_spec, tile::data, tile::data_len, video_frame::fps, get_bpp(), tile::height, video_frame::tiles, vc_get_linesize(), vf_get_tile(), and tile::width.
Referenced by filter(), and split_postprocess().
