about summary refs log tree commit diff
path: root/pammixinterlace.html
blob: 8db7b63a59db30b545d8a2ad4a99c596e6ebabdb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD><TITLE>Pammixinterlace User Manual</TITLE></HEAD>
<BODY>
<H1>pammixinterlace</H1>
Updated: 22 February 2007
<BR>
<A HREF="#index">Table Of Contents</A>

<H2>NAME</H2>

pammixinterlace - mix adjacent lines to merge interlaced images

<H2 id="synopsis">SYNOPSIS</H2>

<B>pammixinterlace</B>

[<b>-filter=</b>{<b>linear</b>, <b>fir</b>, <b>ffmpeg</b>}]

[<b>-adaptive</b>]

[<I>infile</I>]


<H2 id="description">DESCRIPTION</H2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p><B>pammixinterlace</B> is meant to operate on an image which is the
interlacing of two images, where raster rows 0, 2, 4, etc. are from
one image and rows 1, 3, 5, etc. are from another.  (See below for
why you might expect to encounter such an image).

<p><b>pammixinterlace</b> makes each row of the output a mixture
of the corresponding row of the input and its two neighbors.  It uses
half of the main row and a quarter each of the two neighbor rows.

<P>This can be useful if the image is a video capture from an
interlaced video source.  In that case, each row shows the subject
1/60 second before or after the two rows that surround it.  If the
subject is moving, this can detract from the quality of the image.

<p>In video data streams, you often find each frame contains only half
the rows of the image -- the odd half or the even half.  The displayer
of the stream displays the rows in their proper positions on a CRT as
they come in.  When you display the rows in this order, the CRT has
less flicker because a particular area of the screen gets refreshed
twice as often.  In the process of capturing such a stream, computers
often generate the interlaced image of the type that
<b>pammixinterlace</b> works with.  But this interlaced image, when
displayed on a CRT, does not look the same as if a displayer were
rendering the stream directly on a CRT as it arrived, because of the
timing of when the various pixels get drawn and subsequently fade.
That's why you need something like <b>pammixinterlace</b>.

<p>You may prefer the effect of simply extracting one of two images.
You can do that with <b>pamdeinterlace</b>.


<h2 id="options">OPTIONS</h2>

<dl>

<dt><b>-filter=</b>{<b>linear</b>,<b>fir</b>,<b>ffmpeg</b>}

<dd>This option chooses between one of the three filtering mechanisms.
<b>linear</b> is a linear-blend formula.  <b>fir</b> is a size-5 FIR
low-pass filter, and <b>ffmpeg</b> is a formula pulled from the
documentation of the program <a
href="http://ffmpeg.mplayerhq.hu"><b>ffmpeg</b></a>.

<p>The default is <b>fir</b>.

<dt><b>-adaptive</b>

<dd>This option turns on "adaptive" filtering mode.  In this mode
<b>pammixinterlace</b> modifies only pixels that are obviously part of
a "comb" pattern.

</dl>


<H2 id="seealso">SEE ALSO</H2>

<B><A HREF="pamdeinterlace.html">pamdeinterlace</A></B>,
<B><A HREF="pam.html">pam</A></B>
<B><A HREF="pnm.html">pnm</A></B>

<HR>
<H2 id="index">Table Of Contents</H2>
<UL>
<LI><A HREF="#synopsis">SYNOPSIS</A>
<LI><A HREF="#description">DESCRIPTION</A>
<LI><A HREF="#options">OPTIONS</A>
<LI><A HREF="#seealso">SEE ALSO</A>
</UL>
</BODY>
</HTML>