v4l2 FIELD 的理解
我們要區分video為 順序式和交錯式: 數序式video順序的傳輸video image所有的行,而交錯式video則把一個video劃分成兩個fields,分別保存video image的奇數行和偶數行,被稱作奇數field和偶數field.? 陰極射線電視機需要交替的顯示行來組成一個完整的幀,交替的時延需要我們交替的傳輸奇數field和偶數field. 這個奇怪的技術的引用是因為:在刷新率接近電影時,圖片會消退的過快。使用field可以避免使用double buffer以及額外的帶寬需求。
首先要明確camera并不是在同一時間曝光一幀,camera通過許多fields來傳輸這些幀的,這些field是在不同瞬間拍照。屏幕上的一個對象因此會在兩個field之間產生動畫效果。這種情況下需要識別哪一幀更老一點,也稱作“瞬間序”
當驅動通過fields 提供或者接收images,應用應該知道如何通過這些fields組合成幀,通過劃分為top bottom field, “空間序”: top field的第一行是幀的第一行, bottom field的第一行是幀的第二行。
然而因為field是一個跟著一個拍的,爭論幀是由top還是bottom開始的是沒意義的,任何兩個相鄰的top bottom field, 或者 bottom top field都可以組成一個有效的幀。
與直覺相反top field不一定是older field, older filed是否包含top 或者bottom lines是由video標準決定的. 因此要區分瞬間序和空間序。下面的圖會給出清晰的解釋。
所有的video capture和out devices必須匯報當前的field順序。 一些驅動可能允許選擇不同的序,end應用可以在調用VIDIOC_S_FMT前初始化struct v4l2_pix_format的 field成員。否則可以使用V4L2_FIELD_ANY
下面列出了可能的field類型
V4L2_FIELD_ANY 0 Application 可以請求使用這個參數,如果V4L2_FIELD_NONE, V4L2_FIELD_TOP, V4L2_FIELD_BOTTOM V4L2_FIELD_INTERLACE 中任何一個格式都支持.驅動選擇使用哪一個格式依賴于硬件能力,以及請求的image尺寸,驅動選擇一個然后返回這個格式。struct_buffer的field成員不可以為V4L2_FIELD_ANY.?
V4L2_FIELD_NONE 1?
?Images是順序式格式,驅動可以指定這種order,當驅動無法區分V4L2_FIELD_TOP和V4L2_FIELD_BOTTOM?
V4L2_FIELD_TOP 2?
?Images僅僅包含top field?
V4L2_FIELD_BOTTOM 3?
?Images僅僅包含bottom field. 應用可能希望防止設備捕獲interlaced的圖片,因為這種圖片會在運動物體周圍產生毛狀特效?
V4L2_FIELD_INTERLACED 4 Images包含top和bottom field, 隔行交替,fields的瞬間序依賴于當前video的標準。M/NTSC首先傳輸bottom field, 其他的則先傳輸top field?
V4L2_FIELD_SEQ_TB 5?
?Images包含top和bottom field, top field的行首先存放在memory中,然后緊跟著bottom field的行。 Fields一直以瞬間序存儲,較老的放在內存前面。Images的尺寸和幀相關,而不是field
?
V4L2_FIELD_SEQ_BT 6 Images包含top和bottom field, bottom field的行首先存放在memory中,然后緊跟著top field的行。 Fields一直以瞬間序存儲,較老的放在內存前面。Images的尺寸和幀相關,而不是field?
V4L2_FIELD_ALTERATE 7? 一個幀的兩個field分別放在不同的buffer, 按照瞬間序,也就是說老的一個是第一個。driver或者應用指明field的奇偶性(奇偶性:當前的field是top 還是bottom field). 任何兩個連續的field構成一個frame,是否兩個field是連續的,不需要drop掉他們,可以通過v4l2_buffer中的sequence 成員判定。Images的尺寸和frame而不是fields相關
?
V4L2_FIELD_INTERLACED_TB 8?
?Images 包含top和bottom field, 每行交替, top field在前面。top field首先傳送?
?
V4L2_FIELD_INTERLACED_BT 9 Images 包含top和bottom field, 每行交替, bottom field在前面。bottom field首先傳送?
?
Field Order, Top Field First Transmitted
Field Order, Bottom Field First Transmitted
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/kickxxx/archive/2011/04/27/6367669.aspx
轉載于:https://www.cnblogs.com/sdphome/archive/2011/05/15/2047138.html
總結
以上是生活随笔為你收集整理的v4l2 FIELD 的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS循环绑定对象或变量
- 下一篇: VC 在CStatic控件上绘图