一、改变界面显示的坐标
在播放视频的时候,视频都是从,(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,0
mp_msg(MSGT_VO, MSGL_INFO, 'fbdev: output is at %dx%d +%dx%dn', 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=fbdev2
ao=oss
framedrop = yes
joystick = no
vf=rotate=4,scale=480:240
主要的就是最后一个vf=rotate=4,scale=480:272,rotate表示你要让视频旋转几度,1表示90,2是180,类推。
上一篇:启动开发板,提示:can't access tty,job control turned off
下一篇:Linux下制作logo并显示到开发板上
设计资源 培训 开发板 精华推荐
- 使用 Analog Devices 的 LT1120AIS8 的参考设计
- 使用 NXP Semiconductors 的 TDA8559T 的参考设计
- 无镇流器的 LT3091MPFE 并联器件的典型应用(50mA 最小负载)
- LT1021DCS8-5 电压基准作为应变计调节器的典型应用
- stm32extend
- BD7682FJ-LB 300 至 900 VDC 输入准谐振辅助电源,具有替代启动电路 (ASC),1700V SiC MOSFET
- 多版本 DW01 锂电池保护板
- 3528幻彩LED灯板
- 用于简单时钟振荡器的 NCP300HSN45T1 4.5V 电压检测器的典型应用
- LT1021BCH-5 由电流源驱动的负分流基准的典型应用