X264_encoder_open总是返回null
x264_encoder_open always return null
这是我的代码
x264_param_default(及m_X264Param);
nRet = x264_param_default_preset(&m_X264Param,"medium","zerolatency") ;
if (nRet)
{
return -1;
}
if (cpMain == Param.nProfile)
{
nRet = x264_param_apply_profile(&m_X264Param,"main") ;
}
else if (cpSimple == Param.nProfile)
{
nRet = x264_param_apply_profile(&m_X264Param,"baseline") ;
}
else if (cpComplex == Param.nProfile)
{
nRet = x264_param_apply_profile(&m_X264Param,"high");
}
if (nRet)
{
return -1;
}
m_X264Param.i_width = Param.nWidth ;
m_X264Param.i_height = Param.nHeight ;
m_X264Param.i_threads = X264_THREADS_AUTO ;
m_X264Param.i_log_level = X264_LOG_NONE ;
m_X264Param.rc.i_bitrate = Param.nBitRate ;
m_X264Param.rc.i_rc_method = X264_RC_ABR ;
m_X264Param.i_csp = X264_CSP_I420 ;
m_x264handle = x264_encoder_open(&m_X264Param);
,但它总是返回null,这是我第一次使用它,我错过了一些关键参数吗?谁能告诉我答案!非常感谢,并致以最良好的祝愿
返回的NULL
只是参数参数或环境中的错误指示。
只是一个可能发生的例子:
x264_t *x264_encoder_open( x264_param_t *param )
{
// ...
if( x264_threading_init() )
{
x264_log( h, X264_LOG_ERROR, "unable to initialize threadingn" );
goto fail;
}
// ...
fail:
x264_free( h );
return NULL;
}
通过m_X264Param.pf_log
和朋友添加一个日志回调,并调用诊断消息来解释问题
不,我认为编码器打开不应该返回null。请检查函数名是否正确,我认为这个函数通常包含build号比如x264_encoder_encode_130
等。另外,如果你正在使用DLL,那么你必须正确地链接它我知道的不多,我只知道2美分的偏航。
相关文章:
- 如何在映射中返回null
- 为什么返回 NULL 不会破坏函数?
- fopen 在 gdb 中返回 NULL
- 为什么要从main()返回NULL?
- 为什么TinyXML2的XMLDocument::FirstChild()函数在尝试解析这个有效的XML文件时返回NULL?
- Box2D World.GetBodyList() 返回 NULL,但 World 显然正在更新对象
- boost::p ython:PyErr_Fetch始终返回 NULL 回溯
- 如何在 Visual C++ 中从返回类型为 map 的函数返回 null?
- 如何在C++中返回Null作为引用
- 从模板化函数返回Null对象
- GDALOpen 在 GEOTiff 文件上返回 null
- PyThreadState_GET() 从 PyImport_GetModuleDict() 中返回 NULL
- (位图)LoadImage() 返回 NULL,GetLastError() 返回 0
- 在构造函数处将类对象强制转换为接口始终返回 NULL
- 如何为迭代器返回"null"值?
- 具有 4 个指针的节点的递归插入函数返回 null
- winAPI FindResource 仅在 DLL 中返回 NULL
- 使用 dlopen/dlsym 打开C++共享库 - dlsym 返回 NULL
- SetWindowsHookEx 在挂接到其他线程时返回 NULL
- 尚未归shared_ptr所有的实例的 shared_from_this() 总是返回 null?