我正在尝试用C ++编写一个小程序,逐帧转码视频,我正在使用函数libvlc_video_set_callbacks和libvlc_video_set_format_callbacks来实现这一目标。
第一个函数运行正常,但我不确定如何实现libvlc_video_set_format_callbacks。
我试着用这种方式开始,但是它为'setup'给了我一个参数错误:
int setup(void* pUserData, char *chroma, unsigned int *width, unsigned int *height, unsigned int *pitches, unsigned int *lines)
{
(void) pUserData;
return 1;
}
libvlc_video_set_format_callbacks(mp, setup, cleanup);
接下来就是我真的不知道如何设置正确的视频格式属性。
你能帮我解决这个设置功能,或者至少指出一个展示如何实现它的例子,因为我找不到它? 你可以想象,我不是一个非常有经验的程序员,所以请耐心等待我;) 提前致谢
答案 0 :(得分:0)
liblv_video_set_format_callbacks
第二个参数的类型为libvlc_video_format_cb
,它是以下typedef:
typedef unsigned(* libvlc_video_format_cb)(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines);
我们可以看到您与setup
函数的两个不同之处:
void**
。你的是void*
。unsigned
。你的是int
。我不知道视频格式属性。因此,我无法给你任何指示。