一、改變界面顯示的坐標
在播放視頻的時候,視頻都是從,(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并顯示到開發板上
推薦閱讀最新更新時間:2025-04-16 10:42







設計資源 培訓 開發板 精華推薦
- MC32PF3000A8EP PMIC 解決方案電源管理的典型應用
- DC1697A,使用 LTC2945 寬范圍 I2C 功率監視器的演示板
- 4*4矩陣鍵盤模塊
- LT1084CT-12、12V/5A 并聯低壓差穩壓器的典型應用電路
- OP295GSZ H橋運算放大器典型應用
- 2012年福建省電子設計競賽智能小車組
- 具有集成升壓和捕捉二極管的 LT3470HDDB 微功率降壓穩壓器的典型應用電路
- LT3845AEFE 演示板,具有可編程頻率和同步功能的高壓同步降壓控制器 16V VIN 60V,VOUT = 12V @ 10A
- AD688 高精度 10V 基準的典型應用電路,用于通過降噪進行增益和平衡調整
- 無線物聯網、低功耗 Bluetooth?、4? 位、100kHz 真正 RMS 數字萬用表