static bool getRkVpuLibHandle()
{
if (gRkVpuLibHandle == NULL) {
gRkVpuLibHandle = dlopen(RK_VPU_LIB, RTLD_NOW);
}
if (gRkVpuLibHandle == NULL) {
ALOGD("Failed to open RK_VPU_LIB");
return false;
}
if (gRkVpuLibHandle != NULL) {
if ((VpuCodecOpenCtxFactory) dlsym(gRkVpuLibHandle, "vpu_open_context") == NULL)
return false;
if ((VpuCodecCloseCtxFactory) dlsym(gRkVpuLibHandle, "vpu_close_context") == NULL)
return false;
}
return true;
}
char* RK_VPU_LIB = "libvpu.so";
DecoderVideo::decode(void* ptr)
{
if (!process(&pPacket,VIDEO_READ_LEFT_EYE_DATA,ret))
}
DecoderVideo::process(AVPacket *packet,int direct,int needDecode)
{
if (mHwdecFlag) {
if (!Hwdec(packet,direct,needDecode))
}
}
DecoderVideo::Hwdec(AVPacket *packet,int direct,int needDecode)
{
VpuCodecContext* ctx