当前位置:  技术问答>linux和unix

继续问用xvid解码后在fb/3显示,为什么没有任何图像.有代码.请帮忙看一下.

    来源: 互联网  发布时间:2016-06-22

    本文导语:  //以下是初始化xvid结构 int init_decode() { int ret; xvid_gbl_init_t xvid_gbl_init; xvid_dec_create_t xvid_dec_create; memset(&xvid_gbl_init, 0, sizeof(xvid_gbl_init_t)); memset(&xvid_dec_create, 0, sizeof(xvid_dec_create_t)); CSP = XVID_CSP_UYVY|XVID_CSP_VF...

//以下是初始化xvid结构
int init_decode()
{
int ret;

xvid_gbl_init_t xvid_gbl_init;
xvid_dec_create_t xvid_dec_create;

memset(&xvid_gbl_init, 0, sizeof(xvid_gbl_init_t));
memset(&xvid_dec_create, 0, sizeof(xvid_dec_create_t));

CSP = XVID_CSP_UYVY|XVID_CSP_VFLIP;
xvid_gbl_init.version = XVID_VERSION;
xvid_gbl_init.cpu_flags = 0;
xvid_gbl_init.debug = 0;

xvid_global(NULL, 0, &xvid_gbl_init, NULL);

xvid_dec_create.version = XVID_VERSION;
xvid_dec_create.width = 0;
xvid_dec_create.height = 0;

ret = xvid_decore(NULL, XVID_DEC_CREATE, &xvid_dec_create, NULL);

dec_handle = xvid_dec_create.handle;

return ret;
}

//以下是正式解码video.
void decode_video()
{
xvid_dec_stats_t xvid_dec_stats;
unsigned char *mp4_ptr = NULL, *m_data = NULL;
long used_bytes = 0;
mp4_ptr = buffer;
do
{
m_data = (unsigned char*)malloc(352*288*4);
used_bytes = DecodeVideo(mp4_ptr, m_data, useful_bytes, &xvid_dec_stats);
mp4_ptr += used_bytes;
useful_bytes -= used_bytes;
showOneFrame(fbmem, fb_width, fb_height, m_data);
free(m_data);
sleep(1);
}while(useful_bytes > 10 || used_bytes version = XVID_VERSION;
xvid_dec_frame.general = 0;
xvid_dec_frame.bitstream = istream;
xvid_dec_frame.length = istream_size;
xvid_dec_frame.output.plane[0] = ostream;
xvid_dec_frame.output.stride[0] = 352;
xvid_dec_frame.output.csp = CSP;

ret = xvid_decore(dec_handle, XVID_DEC_DECODE, &xvid_dec_frame, xvid_dec_stats);
printf("DecodeVideo ok.n");
return ret;
}

//showOneFrame fun:
int showOneFrame(void *fbmem, int width, int height, unsigned char *m_data)
{
int i = 0, j = 0;
unsigned char *dst;
for(i = 0; i 

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 得到参数却无法继续执行,请大家帮帮忙了!
  • CentOS下PHP安装完成后继续安装GD扩展库
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • 继续继续RAID5问题
  • 停在断点后AppletViewer不能再继续了……
  • make过程中还能继续?
  • 如何让一个daemon线程 重启后来继续运行呢?
  • 编译失败后如何再继续编译
  • 继续给分
  • 怎样使一个线程暂停,还有继续
  • 发现一个有趣的东西,继续散分。
  • suse linux 网络管理器小程序找不到所需的资源。无法继续。
  • 请教下:是否有方法 在vim中执行make命令的同时继续编辑和查看文件呢?
  • sh脚本 用户退出后继续执行
  • 郁闷,继续散分
  • 继续请教机器死机问题
  • 继续散分!贿赂各位大虾和小虾
  • 土土的问,gdb中如何从一个断点继续执行到下一个断点?(不是单步)
  • 接前面的《继续讨论文件目录处理的,高手指点!!》
  • 急!急!急!继续提问!简单问题!
  • 直到线程执行完后,才让程序继续执行下去,怎么实现??
  • 继续问:使用Motif库的OverrideShell创建的窗口怎么放在屏幕的中央?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3