summaryrefslogtreecommitdiff
path: root/docs/design/part-interlaced-video.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design/part-interlaced-video.txt')
-rw-r--r--docs/design/part-interlaced-video.txt107
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