52 #define OFFSET(x) offsetof(InterlaceContext, x)
53 #define V AV_OPT_FLAG_VIDEO_PARAM
55 {
"scan",
"scanning mode",
OFFSET(scan),
57 {
"tff",
"top field first", 0,
59 {
"bff",
"bottom field first", 0,
61 {
"lowpass",
"enable vertical low-pass filter",
OFFSET(
lowpass),
108 outlink->
w = inlink->
w;
109 outlink->
h = inlink->
h;
129 int lines = (plane == 1 || plane == 2) ? -(-inlink->
h) >> vsub : inlink->
h;
142 int srcp_linesize = src_frame->
linesize[plane] * 2;
143 int dstp_linesize = dst_frame->
linesize[plane] * 2;
144 for (j = lines; j > 0; j--) {
151 for (i = 0; i < linesize; i++) {
155 dstp[i] = (1 + srcp[i] + srcp[i] + srcp_above[i] + srcp_below[i]) >> 2;
157 dstp += dstp_linesize;
158 srcp += srcp_linesize;
162 srcp, src_frame->
linesize[plane] * 2,
186 "video is already interlaced, adjusting framerate only\n");
257 .priv_class = &
class,