日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nxp imx6添加自定义分辨率

發布時間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nxp imx6添加自定义分辨率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NXP imx6 系列添加自定義hdmi分辨率

平臺: nxp imx6dl
BSP: linux 4.1.15 x11

最近項目上的應用是 1024x768 分辨率, imx6dl hdmi 輸出默認是 1920x1080@60
支持列表里也看不到,1024x768 的分辨率,在uboot里傳參 1024x768 結果輸出是1280x720
這種情況下,要么ui顯示不全,要么ui縮在顯示器左上角,不純純要我命嗎。。。

可以采取以下解決方案,
一 縮放
通過以下設置把ui縮放到滿屏
xrandr --output ‘DISP3 BG - DI1’ --scale-from 1024x768
其中DISP3 BG - DI1 是 fbdev name,執行xrandr 可以看到
1024x768 是ui原始分辨率。

二 通過cvt 和 xrandr設置需要的分辨率
//用cvt得到新分辨率的參數
cvt 1024 768 60
//添加新分辨率
xrandr --newmode “1024x768_60.00” 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
//把新分辨率添加到模式列表
xrandr --addmode ‘DISP3 BG - DI1’ “1024x768_60.00”
//設置新分辨率
xrandr --output ‘DISP3 BG - DI1’ --mode “1024x768_60.00”
或者
xrandr -s 1024x768

三 在內核中默認支持自定義的分辨率

hdmi初始化期間會從linux-4.1.15\drivers\video\fbdev\core\modedb.c 獲取支持的標準分辨率,如下:

該數組結構如下, 要添加自定義分辨率,xres yres refresh 是知道的,其他成員怎么賦值呢?

struct fb_videomode {const char *name; /* optional */u32 refresh; /* optional */u32 xres;u32 yres;u32 pixclock;u32 left_margin;u32 right_margin;u32 upper_margin;u32 lower_margin;u32 hsync_len;u32 vsync_len;u32 sync;u32 vmode;u32 flag; };

百度搜索可以看到很多人在通過公式計算 分辨率相關參數。這個我不懂,咱也不會,哈哈。
fbcvt 可以做的事情,我直接用就好了,懶得用公式一步步計算了。
fb_find_mode_cvt 的函數聲明可以看到,參數至少需要 xres, yres, refresh 和vmode
vmode 參數可選

#define FB_VMODE_NONINTERLACED 0 /* non interlaced */ #define FB_VMODE_INTERLACED 1 /* interlaced */

我的參數是 1024 768 60 FB_VMODE_NONINTERLACED
賦給 struct fb_videomode 對應的成員后,fb_find_mode_cvt 會把其他的成員計算出來。并填充struct fb_videomode

/** fb_find_mode_cvt - calculate mode using VESA(TM) CVT* @mode: pointer to fb_videomode; xres, yres, refresh and vmode must be* pre-filled with the desired values* @margins: add margin to calculation (1.8% of xres and yres)* @rb: compute with reduced blanking (for flatpanels)** RETURNS:* 0 for success* @mode is filled with computed values. If interlaced, the refresh field* will be filled with the field rate (2x the frame rate)** DESCRIPTION:* Computes video timings using VESA(TM) Coordinated Video Timings*/ int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb)

所以,fbcvt 得到自定義分辨率的參數,然后加到hdmi 支持列表里。
最后把新的分辨率設置下去,具體流程不再分析,百度可以看到很多大佬的流程分析

我們需要用到三個接口
// 得到新分辨率參數
int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb)
// 把新分辨率添加到支持列表
fb_add_videomint fb_add_videomode(const struct fb_videomode *mode, struct list_head *head)
// 設置分辨率
void mxc_hdmi_set_mode(struct mxc_hdmi *hdmi)

具體修改如下:

--- a/linux-4.1.15/drivers/video/fbdev/mxc/mxc_hdmi.c +++ b/linux-4.1.15/drivers/video/fbdev/mxc/mxc_hdmi.c @@ -1955,6 +1955,14 @@ static void mxc_hdmi_cable_connected(struct mxc_hdmi *hdmi)break;}+ /* Bruce Su 20210913. add 1024*768 resolution */ + struct fb_videomode tlfs_mode = {}; + tlfs_mode.vmode = FB_VMODE_NONINTERLACED; + tlfs_mode.xres = 1024; + tlfs_mode.yres = 768; + tlfs_mode.refresh = 60; + fb_find_mode_cvt(&tlfs_mode, 0, 0); + fb_add_videomode(&tlfs_mode, &hdmi->fbi->modelist);/* Setting video mode */mxc_hdmi_set_mode(hdmi);

總結

以上是生活随笔為你收集整理的nxp imx6添加自定义分辨率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美色频 | 日韩欧美网站 | 激情拍拍| 激情啪啪网 | 亚洲大片精品 | 成人在线看片 | 国产欧美精品一区二区色综合 | 琪琪午夜伦理影院7777 | 自拍第一区 | 国产精品性色 | 天天干天天草天天射 | a级网站在线观看 | 天海翼中文字幕 | 日韩毛片高清在线播放 | 日韩中文字幕网址 | 99热99热 | 美女福利在线视频 | 91亚色在线观看 | 日韩精品123 | 丰满人妻在公车被猛烈进入电影 | 久久综合影院 | 在线日韩国产 | 网友自拍咪咪爱 | 日韩高清成人 | 亚洲开心网 | 日本黄页网站免费大全 | 永久精品 | 亚洲精品国 | 亚洲国产综合视频 | 色呦呦网| 久99热| 日韩国产中文字幕 | 人妻洗澡被强公日日澡 | 亚洲综合在线播放 | 国产成人视屏 | 亚洲国产成人精品激情在线 | 日韩中文字幕视频在线 | 黄色a站 | 草民午夜理伦三级 | 免看一级a毛片一片成人不卡 | 亚洲免费视频大全 | 黄色小说在线看 | 免费看美女隐私网站 | 男女午夜爽爽爽 | 日批在线| 国产三级在线免费观看 | 久久激情网站 | 亚洲AV无码片久久精品 | 51吃瓜网今日吃瓜 | 国产精品视频一二三区 | 97视频在线 | 91吃瓜今日吃瓜入口 | 性欧美又大又长又硬 | 98成人网 | 超碰免费在线观看 | 永久免费AV无码网站韩国毛片 | 亚洲精品日韩av | 欧美香蕉网 | av网址网站 | 久久久久久久一区二区三区 | 4438国产精品一区二区 | 日韩中文字幕在线播放 | www色日本 | 少妇系列av | www.youjizz.com国产| 亚洲国产97在线精品一区 | 国产成年妇视频 | 999久久久国产 | 日韩无| 无限资源日本好片 | 人成精品| 一区二区三区欧美日韩 | 伊人成人动漫 | 国产99精品视频 | 两根大肉大捧一进一出好爽视频 | 成人动漫亚洲 | 国产白丝av | 免费网站在线观看视频 | 18久久| 日韩精品在线观看视频 | 九九热国产精品视频 | 日韩一区二区不卡视频 | 色黄视频在线观看 | 白丝一区 | 亚洲性免费 | 麻豆tube| 午夜影院一区二区三区 | 国产精品天美传媒入口 | 在线免费一区二区 | 俄罗斯毛片 | 久久亚洲一区二区三区四区 | 亚洲不卡视频在线 | jizz日本在线 | 99精品在线免费观看 | 亚洲污片| 亚洲a一区 | 亚洲精品天堂在线观看 | 长河落日电视连续剧免费观看01 | 国产91在线播放九色 |