{
    "mode": "man",
    "parameter": "pammixinterlace",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/pammixinterlace/1/json",
    "generated": "2026-09-01T13:58:58Z",
    "synopsis": "",
    "sections": {
        "NAME": {
            "content": "pammixinterlace - mix adjacent lines to merge interlaced images\n\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "",
            "subsections": [
                {
                    "name": "pammixinterlace",
                    "content": "[-filter={linear, fir, ffmpeg}]\n\n[-adaptive]\n\n[infile]\n\n\n"
                }
            ]
        },
        "DESCRIPTION": {
            "content": "This program is part of Netpbm(1).\n\npammixinterlace is meant to operate on an image which is the interlacing of two images, where\nraster  rows  0, 2, 4, etc. are from one image and rows 1, 3, 5, etc. are from another.  (See\nbelow for why you might expect to encounter such an image).\n\npammixinterlace makes each row of the output a mixture of the corresponding row of the  input\nand  its  two neighbors.  It uses half of the main row and a quarter each of the two neighbor\nrows.\n\nThis can be useful if the image is a video capture from an interlaced video source.  In  that\ncase,  each  row shows the subject 1/60 second before or after the two rows that surround it.\nIf the subject is moving, this can detract from the quality of the image.\n\nIn video data streams, you often find each frame contains only half the rows of the image  --\nthe odd half or the even half.  The displayer of the stream displays the rows in their proper\npositions  on  a  CRT  as they come in.  When you display the rows in this order, the CRT has\nless flicker because a particular area of the screen gets refreshed twice as often.   In  the\nprocess of capturing such a stream, computers often generate the interlaced image of the type\nthat  pammixinterlace  works  with.  But this interlaced image, when displayed on a CRT, does\nnot look the same as if a displayer were rendering the stream directly on a  CRT  as  it  ar‐\nrived,  because  of  the  timing  of when the various pixels get drawn and subsequently fade.\nThat's why you need something like pammixinterlace.\n\nYou may prefer the effect of simply extracting one of two  images.   You  can  do  that  with\npamdeinterlace.\n\n\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "In  addition  to  the options common to all programs based on libnetpbm (most notably -quiet,\nsee \u001b]8;;index.html#commonoptions\u001b\\ Common Options\u001b]8;;\u001b\\ ), pammixinterlace recognizes the following command line options:\n\n\n\n",
            "subsections": [
                {
                    "name": "-filter=",
                    "content": "This option chooses between one of the three filtering mechanisms.  linear is  a  lin‐\near-blend  formula.   fir  is  a  size-5  FIR low-pass filter, and ffmpeg is a formula\npulled from the documentation of the program \u001b]8;;http://ffmpeg.mplayerhq.hu\u001b\\ffmpeg\u001b]8;;\u001b\\ .\n\nThe default is fir.\n\n"
                },
                {
                    "name": "-adaptive",
                    "content": "This option turns on \"adaptive\" filtering mode.  In this mode pammixinterlace modifies\nonly pixels that are obviously part of a \"comb\" pattern.\n\n\n\n\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "pamdeinterlace(1), pam(1) pnm(1)\n",
            "subsections": []
        },
        "DOCUMENT SOURCE": {
            "content": "This manual page was generated by the Netpbm tool 'makeman' from  HTML  source.   The  master\ndocumentation is at\n\nhttp://netpbm.sourceforge.net/doc/pammixinterlace.html\n\nnetpbm documentation                      22 February 2007            Pammixinterlace User Manual(1)",
            "subsections": []
        }
    },
    "summary": "pammixinterlace - mix adjacent lines to merge interlaced images",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "This option chooses between one of the three filtering mechanisms. linear is a lin‐ ear-blend formula. fir is a size-5 FIR low-pass filter, and ffmpeg is a formula pulled from the documentation of the program \u001b]8;;http://ffmpeg.mplayerhq.hu\u001b\\ffmpeg\u001b]8;;\u001b\\ . The default is fir."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "This option turns on \"adaptive\" filtering mode. In this mode pammixinterlace modifies only pixels that are obviously part of a \"comb\" pattern."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "pamdeinterlace",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pamdeinterlace/1/json"
        },
        {
            "name": "pam",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pam/1/json"
        },
        {
            "name": "pnm",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pnm/1/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Merge each row in an image with its two neighbors.",
        "examples": [
            {
                "description": "Merge each row in an image with its two neighbors",
                "command": "pammixinterlace {{path/to/image.ppm}} > {{path/to/output.ppm}}"
            },
            {
                "description": "Use the specified filtering mechanism",
                "command": "pammixinterlace {{-f|-filter}} {{linear|fir|ffmpeg}} {{path/to/image.ppm}} > {{path/to/output.ppm}}"
            },
            {
                "description": "Turn on adaptive filtering mode, i.e., only modify pixels that are obviously part of a comb pattern",
                "command": "pammixinterlace {{-a|-adaptive}} {{path/to/image.ppm}} > {{path/to/output.ppm}}"
            }
        ]
    }
}