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的作用是結束當前行,並將與裝置關聯的緩衝區資料重新整理到裝置中...