overlay中的輸入和輸出

2021-05-26 14:06:33 字數 2310 閱讀 6991

overlay技術跟幀快取技術都可以用於顯示。overlay在驅動層是v4l2架構。

struct v4l2_format format;

format.type = v4l2_buf_type_video_output;

ret = ioctl(fd, vidioc_g_fmt, &format, "get format");

if (ret)

return ret;

logi("v4l2_overlay_reinit:: w=%d h=%d\n",format.fmt.pix.width, format.fmt.pix.height);

format.type = v4l2_buf_type_video_output;

logi("v4l2_overlay_init:: w=%d h=%d\n", format.fmt.pix.width,format.fmt.pix.height);

ret = ioctl(fd, vidioc_s_fmt, &format, "set outputformat");

通過這種方法,就可以設定overlay的輸入源,格式是(比如:overlay_format_cbycry_420_i),width (比如:720),heigjt(比如:480)。

有時候,並不需要把所有的輸入影象資料都顯示出來,我們只需要把部分影象資料顯示,可以通過下面的設定:

struct v4l2_crop crop;

int ret;

crop.type =v4l2_buf_type_video_output;

ret = ioctl(fd,vidioc_g_crop, &crop, "get crop");

crop.c.left = x;

crop.c.top = y;

crop.c.width = w;

crop.c.height = h;

crop.type =v4l2_buf_type_video_output;

ioctl(fd,vidioc_s_crop, &crop, "set crop");

這樣就可以:比如 把上面的720*480 的乙個矩形(x, y , w, h)顯示到顯示裝置上。

structv4l2_format format;

format.fmt.win->w.left = x;

format.fmt. win->w.top = y;

format.fmt. win->w.width = w;

format.fmt. win->w.height = h;

logi("v4l2_overlay_set_position::set to w=%d h=%d", format.fmt.win.w.width, format.fmt.win.w.height);

format.type =v4l2_buf_type_video_overlay;

ret = v4l2_overlay_ioctl(fd,vidioc_s_fmt, &format,

"setv4l2_overlay format");

logi("v4l2_overlay_set_position::new w=%d h=%d", format.fmt.win.w.width, format.fmt.win.w.height);

Shell中的輸入和輸出

終端使用者登入linux伺服器,為每乙個終端使用者啟動乙個shell程式。echo 空,後面沒有任何東西,將要有乙個回車換行 示例 bin bash echo don t anylisize special charaters.echo demo n n n echo anylisize speci...

輸入和輸出

本章內容為coursera課程c 程式設計中第七周的課件的整理 與輸入輸出流操作相關的類 istream是用於輸入的流類,cin就是該類的物件。ostream是用於輸出的流類,cout就是該類的物件。ifstream是用於從檔案讀取資料的類。ofstream是用於向檔案寫入資料的類。iostream...

輸入和輸出

1 c 的io機制 c 沒有提供關於輸入輸出的語句,但是提供了全面的標準庫來提供io機制。這個標準庫就是iostream庫。許多與io相關的操作都要包含這個庫。2 4個io物件 3 cin的輸入分隔符為空格 4 操縱符 endl endl的作用是結束當前行,並將與裝置關聯的緩衝區資料重新整理到裝置中...