mplayer 移植到ok6410开发板下怎么改变播放视频的界面位置与大小
答案:1 悬赏:50 手机版
解决时间 2021-03-05 13:26
- 提问者网友:两耳就是菩提
- 2021-03-04 20:44
mplayer 移植到ok6410开发板下怎么改变播放视频的界面位置与大小
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-03-04 21:05
一、改变界面显示的坐标 在播放视频的时候,视频都是从,(0,0)坐标开始播放,要改变坐标的话,按下面操作: 通过对vo_fbdev.c里面的:(vo_fbdev.c这个文件在mplayer安装目录的libvo目录下)static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y){ uint8_t *d; uint8_t *s; d = center + fb_line_len * y + fb_pixel_size * x; s = src[0]; while (h) { fast_memcpy(d, s, w * fb_pixel_size); d += fb_line_len; s += stride[0]; h--; } return 0;}的分析,可以看出,x,y为缓存图像坐标的起始点只要改d = center + fb_line_len * y + fb_pixel_size * x;为d = center + fb_line_len * (y+15) + fb_pixel_size * x;后保存重新编译就可以了。xy表示像素。然而编译后全屏播放也一样会偏移15pix,即标题栏没有覆盖!引发出能否自己添加外部命令参数,通过对geometry.c,vo_s3fb.c,vo_fbdev.c进行分析,可以利用geometry的x y参数赋值。因为-geometry本来只对x11 xmga xv xvmc xvidix gl gl2 directx和tdfxfb有效,现在我们添加上对fbdev也有效!其他均不变!在vo_fbdev.c开头添加库文件#include "geometry.h"定义四个变量static uint32_t fbwidth, fbheight, fbx, fby;在static int config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)的末尾添加参数获取命令:geometry(&fbx, &fby, &fbwidth, &fbheight, 240, 320);//注意,后面的为screenwidth和screenheight.不能为0,0mp_msg(MSGT_VO, MSGL_INFO, "fbdev: output is at %dx%d +%dx%d\n", fbx, fby, fbwidth, fbheight);在将d = center + fb_line_len * y + fb_pixel_size * x改为d = center + fb_line_len * (y + fby) + fb_pixel_size * (x + fbx);重新编译后得到Mplyaer文件即可 二、改变视频界面大小进入开发板根目录,然后vi ~/.mplayer/config ,添加一下几行:# Write your default config options here!vo=fbdev2ao=ossframedrop = yes
joystick = no
joystick = no
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯