{
  "date": "2026-11-10 Asia/Tokyo",
  "question": "Does video watermark repair preserve non-square-pixel display proportions?",
  "actualBrowserLoadedDimensions": {
    "anamorphic": [
      960,
      270
    ],
    "square": [
      960,
      270
    ]
  },
  "actualBox": {
    "x": 104,
    "y": 84,
    "width": 108,
    "height": 42,
    "start": 0,
    "end": 3,
    "zone2": false
  },
  "inputs": {
    "date": "2026-11-10 Asia/Tokyo",
    "status": "INPUT ONLY; browser load/repair/export NOT RUN",
    "question": "Does video watermark repair preserve non-square-pixel display proportions?",
    "sources": [
      {
        "file": "square-source.mp4",
        "bytes": 67074,
        "sha256": "941001d9918c700772036e6e7343ba65d6f6f099022d568441f9e44bd1229c23",
        "storedDimensions": [
          960,
          270
        ],
        "sampleAspectRatio": "1/1",
        "intendedDisplayDimensions": [
          960,
          270
        ],
        "displayAspectRatio": "32:9",
        "verifiedHeader": [
          "Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 960x270 [SAR 1:1 DAR 32:9], 72 kb/s, 24 fps, 24 tbr, 12288 tbn (default)",
          "Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 96 kb/s (default)"
        ],
        "frames": 72,
        "sourceCounters": [
          0,
          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
        ],
        "displayGeometry": [
          {
            "sourceCounter": 0,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 110,
              "height": 110,
              "widthHeightRatio": 1.0
            }
          },
          {
            "sourceCounter": 24,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 110,
              "height": 110,
              "widthHeightRatio": 1.0
            }
          },
          {
            "sourceCounter": 48,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 110,
              "height": 110,
              "widthHeightRatio": 1.0
            }
          },
          {
            "sourceCounter": 71,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 110,
              "height": 110,
              "widthHeightRatio": 1.0
            }
          }
        ],
        "audioSamples": 144384,
        "audioRate": 48000,
        "audioSeconds": 3.008,
        "fullInputDecodeExit": 0
      },
      {
        "file": "anamorphic-source.mp4",
        "bytes": 60854,
        "sha256": "e3460abe66ce8d3a50751d298b9bd81abb57ff42b9ed989103a42a71a65d005a",
        "storedDimensions": [
          480,
          270
        ],
        "sampleAspectRatio": "2/1",
        "intendedDisplayDimensions": [
          960,
          270
        ],
        "displayAspectRatio": "32:9",
        "verifiedHeader": [
          "Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 480x270 [SAR 2:1 DAR 32:9], 55 kb/s, 24 fps, 24 tbr, 12288 tbn (default)",
          "Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 96 kb/s (default)"
        ],
        "frames": 72,
        "sourceCounters": [
          0,
          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
        ],
        "displayGeometry": [
          {
            "sourceCounter": 0,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 108,
              "height": 111,
              "widthHeightRatio": 0.972972972972973
            }
          },
          {
            "sourceCounter": 24,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 108,
              "height": 111,
              "widthHeightRatio": 0.972972972972973
            }
          },
          {
            "sourceCounter": 48,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 108,
              "height": 111,
              "widthHeightRatio": 0.972972972972973
            }
          },
          {
            "sourceCounter": 71,
            "displayGoldBounds": {
              "x": 596,
              "y": 70,
              "width": 108,
              "height": 111,
              "widthHeightRatio": 0.972972972972973
            }
          }
        ],
        "audioSamples": 144384,
        "audioRate": 48000,
        "audioSeconds": 3.008,
        "fullInputDecodeExit": 0
      }
    ],
    "normalization": "actual scale=iw*sar:ih,setsar=1 decode; not simulated remover result",
    "shapeMask": "ROI x560:740 y55:190; R>150,90<G<190,B<60; inclusive pixel width/height bounds",
    "scope": "Own artwork, new files; original circle is a geometric fixture, not a claimed human quotation."
  },
  "outputs": [
    {
      "kind": "anamorphic",
      "file": "result-anamorphic.webm",
      "bytes": 112153,
      "sha256": "77c4b9d70b0cc4a96f64664c4c48f2d0acc75cc279afde44197d1c5f8ce8e8ae",
      "videoHeader": "Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(pc, bt709/bt709/iec61966-2-1), 960x270, SAR 1:1 DAR 32:9, 32 tbr, 1k tbn (default)",
      "dimensions": [
        960,
        270
      ],
      "SARreported": [
        "1:1"
      ],
      "DARreported": [
        "32:9"
      ],
      "frames": 57,
      "sourceCounters": [
        0,
        0,
        1,
        3,
        4,
        6,
        8,
        9,
        11,
        12,
        14,
        15,
        17,
        18,
        20,
        21,
        22,
        23,
        24,
        26,
        27,
        28,
        29,
        30,
        32,
        33,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        44,
        45,
        46,
        47,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        59,
        60,
        61,
        62,
        63,
        65,
        66,
        67,
        68,
        69,
        71
      ],
      "framePTS": [
        0.0,
        0.11,
        0.416,
        0.505,
        0.538,
        0.599,
        0.692,
        0.724,
        0.826,
        0.847,
        0.942,
        0.973,
        1.069,
        1.097,
        1.191,
        1.223,
        1.285,
        1.317,
        1.354,
        1.441,
        1.475,
        1.536,
        1.566,
        1.596,
        1.692,
        1.723,
        1.816,
        1.849,
        1.915,
        1.943,
        1.974,
        2.037,
        2.069,
        2.097,
        2.192,
        2.223,
        2.285,
        2.315,
        2.442,
        2.476,
        2.536,
        2.566,
        2.597,
        2.661,
        2.692,
        2.723,
        2.816,
        2.849,
        2.911,
        2.943,
        2.973,
        3.069,
        3.097,
        3.16,
        3.191,
        3.223,
        3.317
      ],
      "matchedChecks": [
        {
          "requestedCounter": 0,
          "actualCounter": 0,
          "outputFrameIndex": 0,
          "outputPTS": 0.0,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 111,
            "ratio": 0.972972972972973
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 110,
            "ratio": 0.9818181818181818
          }
        },
        {
          "requestedCounter": 24,
          "actualCounter": 24,
          "outputFrameIndex": 18,
          "outputPTS": 1.354,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 111,
            "ratio": 0.972972972972973
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 110,
            "ratio": 0.9818181818181818
          }
        },
        {
          "requestedCounter": 48,
          "actualCounter": 47,
          "outputFrameIndex": 37,
          "outputPTS": 2.315,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 111,
            "ratio": 0.972972972972973
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 110,
            "ratio": 0.9818181818181818
          }
        },
        {
          "requestedCounter": 71,
          "actualCounter": 71,
          "outputFrameIndex": 56,
          "outputPTS": 3.317,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 111,
            "ratio": 0.972972972972973
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 108,
            "height": 110,
            "ratio": 0.9818181818181818
          }
        }
      ],
      "audioHeader": [
        "Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)"
      ],
      "audioChannels": 2,
      "samplesPerChannel": 141120,
      "sampleRate": 48000,
      "audioSeconds": 2.94,
      "audioNonzero": true,
      "fullDecodeExit": 0
    },
    {
      "kind": "square",
      "file": "result-square.webm",
      "bytes": 103233,
      "sha256": "31447de6d6c725ecb24a1e3ba62f2c199d51e434d0444ea188c8225b5ca44289",
      "videoHeader": "Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(pc, bt709/bt709/iec61966-2-1), 960x270, SAR 1:1 DAR 32:9, 1k tbr, 1k tbn (default)",
      "dimensions": [
        960,
        270
      ],
      "SARreported": [
        "1:1"
      ],
      "DARreported": [
        "32:9"
      ],
      "frames": 53,
      "sourceCounters": [
        0,
        1,
        2,
        3,
        4,
        9,
        10,
        11,
        12,
        14,
        15,
        16,
        18,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        29,
        30,
        31,
        32,
        33,
        35,
        36,
        38,
        39,
        40,
        42,
        43,
        44,
        45,
        47,
        48,
        50,
        51,
        53,
        54,
        55,
        56,
        57,
        59,
        60,
        62,
        63,
        65,
        66,
        68,
        69,
        71
      ],
      "framePTS": [
        0.0,
        0.071,
        0.104,
        0.142,
        0.166,
        0.372,
        0.416,
        0.452,
        0.478,
        0.587,
        0.634,
        0.665,
        0.729,
        0.824,
        0.853,
        0.916,
        0.947,
        0.981,
        1.041,
        1.072,
        1.102,
        1.2,
        1.227,
        1.291,
        1.321,
        1.357,
        1.446,
        1.479,
        1.572,
        1.607,
        1.669,
        1.729,
        1.791,
        1.824,
        1.853,
        1.947,
        1.978,
        2.075,
        2.102,
        2.197,
        2.227,
        2.294,
        2.322,
        2.352,
        2.446,
        2.482,
        2.571,
        2.603,
        2.699,
        2.729,
        2.821,
        2.853,
        2.949
      ],
      "matchedChecks": [
        {
          "requestedCounter": 0,
          "actualCounter": 0,
          "outputFrameIndex": 0,
          "outputPTS": 0.0,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          }
        },
        {
          "requestedCounter": 24,
          "actualCounter": 24,
          "outputFrameIndex": 17,
          "outputPTS": 0.981,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          }
        },
        {
          "requestedCounter": 48,
          "actualCounter": 48,
          "outputFrameIndex": 36,
          "outputPTS": 1.978,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          }
        },
        {
          "requestedCounter": 71,
          "actualCounter": 71,
          "outputFrameIndex": 52,
          "outputPTS": 2.949,
          "sourceGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          },
          "savedGold": {
            "x": 596,
            "y": 70,
            "width": 110,
            "height": 110,
            "ratio": 1.0
          }
        }
      ],
      "audioHeader": [
        "Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)"
      ],
      "audioChannels": 2,
      "samplesPerChannel": 144000,
      "sampleRate": 48000,
      "audioSeconds": 3.0,
      "audioNonzero": true,
      "fullDecodeExit": 0
    }
  ],
  "geometryMethod": "ROI x560:740 y55:190; R>150,90<G<190,B<60; inclusive pixel width/height bounds",
  "ratioFormula": "inclusive gold width / inclusive gold height",
  "scope": "Per-fixture thresholded bounds, matched source counters. Not lossless equality, perceptual calibration or universal device compatibility."
}