OBS源码分析set_gpu_converted_plane

/**********************************************************************************
* Function Name: set_gpu_converted_plane
* Description: 拷贝一个数据片
* Parameters: width 视频宽
height 视频高
linesize_input 输入数据的每行对齐长度
linesize_output 输出数据每行对齐长度
         in 输入数据
out 输出数据
* Return Type : 返回输入数据的尾部指针
*****************************************************************************
*/ static const uint8_t *set_gpu_converted_plane(uint32_t width, uint32_t height, uint32_t linesize_input, uint32_t linesize_output, const uint8_t *in, uint8_t *out) { /*如果每行数据长度相同,就一次性拷贝*/ if ((width == linesize_input) && (width == linesize_output)) { size_t total = (size_t)width * (size_t)height; memcpy(out, in, total); in += total; } else { /*一行一行的拷贝*/ for (size_t y = 0; y < height; y++) { memcpy(out, in, width); out += linesize_output; in += linesize_input; } } return in; }

 

posted @ 2020-09-29 16:38  同意并愿意  阅读(105)  评论(0)    收藏  举报