diff options
Diffstat (limited to 'docs/design/part-interlaced-video.txt')
-rw-r--r-- | docs/design/part-interlaced-video.txt | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/docs/design/part-interlaced-video.txt b/docs/design/part-interlaced-video.txt deleted file mode 100644 index 4ac678e95..000000000 --- a/docs/design/part-interlaced-video.txt +++ /dev/null @@ -1,107 +0,0 @@ -Interlaced Video -================ - -Video buffers have a number of states identifiable through a combination of caps -and buffer flags. - -Possible states: -- Progressive -- Interlaced - - Plain - - One field - - Two fields - - Three fields - this should be a progressive buffer with a repeated 'first' - field that can be used for telecine pulldown - - Telecine - - One field - - Two fields - - Progressive - - Interlaced (a.k.a. 'mixed'; the fields are from different frames) - - Three fields - this should be a progressive buffer with a repeated 'first' - field that can be used for telecine pulldown - -Note: It can be seen that the difference between the plain interlaced and -telecine states is that in the telecine state, buffers containing two fields may -be progressive. - -Tools for identification: -- GstVideoInfo - - GstVideoInterlaceMode - enum - GST_VIDEO_INTERLACE_MODE_... - - PROGRESSIVE - - INTERLEAVED - - MIXED -- Buffers flags - GST_VIDEO_BUFFER_FLAG_... - - TFF - - RFF - - ONEFIELD - - INTERLACED - - -Identification of Buffer States -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Note that flags are not necessarily interpreted in the same way for all -different states nor are they necessarily required nor make sense in all cases. - - -Progressive -........... - -If the interlace mode in the video info corresponding to a buffer is -"progressive", then the buffer is progressive. - - -Plain Interlaced -................ - -If the video info interlace mode is "interleaved", then the buffer is plain -interlaced. - -GST_VIDEO_BUFFER_FLAG_TFF indicates whether the top or bottom field is to be -displayed first. The timestamp on the buffer corresponds to the first field. - -GST_VIDEO_BUFFER_FLAG_RFF indicates that the first field (indicated by the TFF flag) -should be repeated. This is generally only used for telecine purposes but as the -telecine state was added long after the interlaced state was added and defined, -this flag remains valid for plain interlaced buffers. - -GST_VIDEO_BUFFER_FLAG_ONEFIELD means that only the field indicated through the TFF -flag is to be used. The other field should be ignored. - - -Telecine -........ - -If video info interlace mode is "mixed" then the buffers are in some form of -telecine state. - -The TFF and ONEFIELD flags have the same semantics as for the plain interlaced -state. - -GST_VIDEO_BUFFER_FLAG_RFF in the telecine state indicates that the buffer contains -only repeated fields that are present in other buffers and are as such -unneeded. For example, in a sequence of three telecined frames, we might have: - -AtAb AtBb BtBb - -In this situation, we only need the first and third buffers as the second -buffer contains fields present in the first and third. - -Note that the following state can have its second buffer identified using the -ONEFIELD flag (and TFF not set): - -AtAb AtBb BtCb - -The telecine state requires one additional flag to be able to identify -progressive buffers. - -The presence of the GST_VIDEO_BUFFER_FLAG_INTERLACED means that the buffer is an -'interlaced' or 'mixed' buffer that contains two fields that, when combined -with fields from adjacent buffers, allow reconstruction of progressive frames. -The absence of the flag implies the buffer containing two fields is a -progressive frame. - -For example in the following sequence, the third buffer would be mixed (yes, it -is a strange pattern, but it can happen): - -AtAb AtBb BtCb CtDb DtDb |