{"id":4896,"date":"2026-05-09T00:46:53","date_gmt":"2026-05-09T00:46:53","guid":{"rendered":"https:\/\/monitorgarage-localwp-sql-2026-09-06.local\/?page_id=4896"},"modified":"2026-05-09T00:46:54","modified_gmt":"2026-05-09T00:46:54","slug":"calculadora-de-ancho-de-banda","status":"publish","type":"page","link":"https:\/\/monitorgarage.com\/en\/calculadora-de-ancho-de-banda\/","title":{"rendered":"Video Bandwidth Calculator"},"content":{"rendered":"<section id=\"mg-bw-calc-1\" class=\"mg-calc mg-calc-bandwidth\">\n  <header class=\"mg-calc-heading\"><h1>Bandwidth calculator<\/h1><p>Check which connections can carry your video signal.<\/p><\/header>\n  <div class=\"mg-calc-board\">\n    <div class=\"mg-calc-config\">\n      <h2>Video signal<\/h2>\n      <label class=\"mg-calc-field\"><span>Common configuration<\/span><select data-calc-preset><option value=\"\">Custom<\/option><option value=\"1920,1080,240,8,3,1.03,1\"  selected='selected'>1080p \u00b7 240 Hz \u00b7 8 bits<\/option><option value=\"1920,1080,600,8,3,1.03,1\" >1080p \u00b7 600 Hz \u00b7 8 bits<\/option><option value=\"2560,1440,240,10,3,1.03,1\" >1440p \u00b7 240 Hz \u00b7 10 bits<\/option><option value=\"2560,1440,360,10,3,1.03,2.5\" >1440p \u00b7 360 Hz \u00b7 DSC 2,5:1<\/option><option value=\"2560,1440,500,10,3,1.03,2.5\" >1440p \u00b7 500 Hz \u00b7 DSC 2,5:1<\/option><option value=\"3440,1440,180,10,3,1.03,1\" >UWQHD \u00b7 180 Hz \u00b7 10 bits<\/option><option value=\"3840,2160,120,10,3,1.03,1\" >4K \u00b7 120 Hz \u00b7 10 bits<\/option><option value=\"3840,2160,144,10,3,1.03,1\" >4K \u00b7 144 Hz \u00b7 10 bits<\/option><option value=\"3840,2160,240,10,3,1.03,1\" >4K \u00b7 240 Hz \u00b7 10 bits<\/option><option value=\"5120,1440,240,10,3,1.03,3\" >DQHD \u00b7 240 Hz \u00b7 DSC 3:1<\/option><option value=\"5120,2160,120,10,3,1.03,2.5\" >5K2K \u00b7 120 Hz \u00b7 DSC 2,5:1<\/option><option value=\"7680,4320,60,10,3,1.03,3\" >8K \u00b7 60 Hz \u00b7 DSC 3:1<\/option><\/select><\/label>\n      <div class=\"mg-calc-fields mg-calc-fields--three\">\n        <label class=\"mg-calc-field\"><span>Width \u00b7 px<\/span><input aria-label=\"Horizontal resolution\" type=\"number\" min=\"1\" max=\"100000\" step=\"1\" value=\"1920\" required data-calc-field=\"w\"><\/label>\n        <label class=\"mg-calc-field\"><span>Height \u00b7 px<\/span><input aria-label=\"Vertical resolution\" type=\"number\" min=\"1\" max=\"100000\" step=\"1\" value=\"1080\" required data-calc-field=\"h\"><\/label>\n        <label class=\"mg-calc-field\"><span>Refresh rate \u00b7 Hz<\/span><input aria-label=\"Refresh rate in Hz\" type=\"number\" min=\"1\" max=\"10000\" step=\"any\" value=\"240\" required data-calc-field=\"hz\"><\/label>\n      <\/div>\n      <div class=\"mg-calc-fields\">\n        <label class=\"mg-calc-field\"><span>Bits per channel<\/span><select data-calc-field=\"bpc\"><option value=\"8\">8 bits<\/option><option value=\"10\">10 bits<\/option><option value=\"12\">12 bits<\/option><option value=\"16\">16 bits<\/option><\/select><\/label>\n        <label class=\"mg-calc-field\"><span>Colour format<\/span><select data-calc-field=\"chroma\"><option value=\"3\">RGB \/ 4:4:4<\/option><option value=\"y444\">YCbCr 4:4:4<\/option><option value=\"2\">YCbCr 4:2:2<\/option><option value=\"1.5\">YCbCr 4:2:0<\/option><\/select><\/label>\n      <\/div>\n      <details class=\"mg-calc-details mg-calc-subsettings\"><summary>Compression and signal overhead<\/summary>\n        <div class=\"mg-calc-fields\">\n          <label class=\"mg-calc-field\"><span>DSC compression<\/span><select data-calc-field=\"dsc\"><option value=\"1\">Without DSC<\/option><option value=\"2\">DSC 2:1<\/option><option value=\"2.5\">DSC 2,5:1<\/option><option value=\"3\">DSC 3:1<\/option><\/select><\/label>\n          <label class=\"mg-calc-field\"><span>Blanking overhead<\/span><select data-calc-field=\"overhead\"><option value=\"1\">No overhead<\/option><option value=\"1.03\" selected>+3 %<\/option><option value=\"1.05\">+5 %<\/option><option value=\"1.1\">+10 %<\/option><\/select><\/label>\n        <\/div>\n        <p class=\"mg-calc-note\">The overhead is an adjustable approximation, not an exact timing calculation. DSC must be supported by both the source and the monitor input.<\/p>\n      <\/details>\n      <p class=\"mg-calc-setting-state\" data-result=\"settings\">Without DSC \u00b7 blanking overhead +3%<\/p>\n      <p class=\"mg-calc-error\" data-calc-error role=\"status\" hidden>Enter a resolution in whole pixels and a refresh rate greater than zero.<\/p>\n      <details class=\"mg-calc-details\"><summary>Calculation breakdown<\/summary>\n        <dl class=\"mg-calc-facts\"><div><dt>Active pixels, uncompressed<\/dt><dd data-result=\"active\">11,94 Gbps<\/dd><\/div><div><dt>With blanking overhead<\/dt><dd data-result=\"transport\">12,30 Gbps<\/dd><\/div><div><dt>Bits per pixel<\/dt><dd data-result=\"bpp\">24 bpp<\/dd><\/div><div><dt>Pixels per second<\/dt><dd data-result=\"pixels\">497,66 Mpx\/s<\/dd><\/div><\/dl>\n      <\/details>\n    <\/div>\n    <div class=\"mg-bandwidth-results\">\n      <div class=\"mg-calc-result\">\n        <h2>Estimated bandwidth<\/h2>\n        <p class=\"mg-calc-reading\"><output data-result=\"required\" aria-live=\"polite\" aria-atomic=\"true\">12,30<\/output><span>Gbps<\/span><\/p>\n        <p class=\"mg-calc-caption\" data-result=\"signal\">1920 \u00d7 1080 \u00b7 240 Hz \u00b7 8 bits<\/p>\n      <\/div>\n      <div class=\"mg-bandwidth-compat\" data-bandwidth-compat>\n        <h2>Does the connection have enough bandwidth?<\/h2>\n        <div class=\"mg-bandwidth-groups\" data-bandwidth-groups><\/div>\n        <p class=\"mg-calc-note\">Green: at least 8% headroom. Amber: fits with less headroom. Red: exceeds the estimated capacity.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n  <details class=\"mg-calc-details\"><summary>Scope of the estimate<\/summary><div class=\"mg-calc-explanation\" data-editorial-verdict>\n    <p class=\"mg-calc-formula\">Active Gbps = width \u00d7 height \u00d7 Hz \u00d7 bits per pixel \/ 1,000,000,000<\/p>\n    <p>Blanking overhead and, where applicable, the DSC compression ratio are applied to the result. Connections are compared against their estimated usable capacity after accounting for link encoding.<\/p>\n    <p>HDMI 1.4, HDMI 2.0 and DisplayPort 1.2 are always calculated without DSC. For other connections, enabling DSC assumes both the source and input support it. The version name does not guarantee every speed: check the available FRL or UHBR mode.<\/p>\n    <p>A signal that fits within the bandwidth may still be unsupported by the monitor, GPU or cable. Timings, audio and other link data can reduce actual headroom. The 4:2:2 calculation represents video data; packing depends on the transmission mode.<\/p>\n    <p>References: <a href=\"https:\/\/vesa.org\/featured-articles\/vesa-publishes-displayport-standard-version-1-4\/\" target=\"_blank\" rel=\"noopener\">VESA: DisplayPort and DSC<\/a> \u00b7 <a href=\"https:\/\/www.hdmi.org\/spec\/hdmi2_1\/index.aspx\" target=\"_blank\" rel=\"noopener\">HDMI 2.1<\/a>.<\/p>\n  <\/div><\/details>\n<\/section>\n<style>\/* Shared calculator layout. Isolated from the retired tool shells. *\/\r\n#mg-bw-calc-1.mg-calc {\r\n  --calc-ink:var(--mg-ui-ink,#262523); --calc-muted:var(--mg-ui-muted,#68635c);\r\n  --calc-line:var(--mg-ui-line,#ddd7cf); --calc-surface:var(--mg-ui-surface,#fff);\r\n  --calc-soft:var(--mg-ui-soft,#efebe5); --calc-accent:var(--mg-ui-link,#91500e);\r\n  width:min(var(--mg-layout-editorial,1180px),var(--mg-layout-available,calc(100% - 80px))); margin:0 auto; padding:var(--mg-layout-top,48px) 0 var(--mg-layout-bottom,64px);\r\n  color:var(--calc-ink); font-family:var(--mg-ui-font,Arial,sans-serif); font-size:15px; line-height:1.65;\r\n}\r\n#mg-bw-calc-1 *,#mg-bw-calc-1 *::before,#mg-bw-calc-1 *::after{box-sizing:border-box}\r\n#mg-bw-calc-1 [hidden]{display:none!important}\r\n#mg-bw-calc-1 .mg-calc-heading{margin:0 0 32px}\r\n#mg-bw-calc-1 .mg-calc-heading h1{font-size:clamp(28px,3.3vw,42px);font-weight:800;line-height:1.14;letter-spacing:-.045em;margin:0 0 12px;color:var(--calc-ink)}\r\n#mg-bw-calc-1 .mg-calc-heading p{margin:0;color:var(--calc-muted);font-size:15px;max-width:68ch}\r\n#mg-bw-calc-1 .mg-calc-board{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:40px;align-items:start}\r\n#mg-bw-calc-1 .mg-calc-config{min-width:0}\r\n#mg-bw-calc-1 h2{font-size:18px;font-weight:750;letter-spacing:-.02em;line-height:1.4;margin:0 0 18px}\r\n#mg-bw-calc-1 h3{font-size:15px;letter-spacing:0;line-height:1.5;margin:0 0 14px}\r\n#mg-bw-calc-1 .mg-calc-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;font-size:13px;font-weight:600}\r\n#mg-bw-calc-1 .mg-calc-field>span{color:var(--calc-muted)}\r\n#mg-bw-calc-1 :is(input:not([type=range]),select){width:100%;min-width:0;max-width:100%;height:48px;min-height:48px;margin:0;padding:10px 12px;border:1px solid var(--calc-line);border-radius:5px;background:var(--calc-surface);color:var(--calc-ink);font:500 16px\/1.4 var(--mg-ui-font,Arial,sans-serif);box-shadow:none}\r\n#mg-bw-calc-1 select{padding-right:28px;text-overflow:ellipsis}\r\n#mg-bw-calc-1 :is(input,select,summary,a):focus-visible{outline:2px solid var(--calc-accent);outline-offset:4px}\r\n#mg-bw-calc-1 [aria-invalid=true]{border-color:var(--mg-ui-negative,#b42b36)}\r\n#mg-bw-calc-1 .mg-calc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin:20px 0}\r\n#mg-bw-calc-1 .mg-calc-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}\r\n#mg-bw-calc-1 .mg-calc-wide{grid-column:1\/-1}\r\n#mg-bw-calc-1 .mg-calc-result{padding:26px 28px;background:var(--calc-soft);border-radius:8px;min-width:0}\r\n#mg-bw-calc-1 .mg-calc-reading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;line-height:1.2;margin:0}\r\n#mg-bw-calc-1 .mg-calc-reading output{font-size:38px;font-weight:750;letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}\r\n#mg-bw-calc-1 .mg-calc-reading>span{font-size:15px;font-weight:500;color:var(--calc-muted)}\r\n#mg-bw-calc-1 .mg-calc-caption{font-size:13px;font-weight:400;color:var(--calc-muted);margin:10px 0 0}\r\n#mg-bw-calc-1 .mg-calc-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:24px 0 0}\r\n#mg-bw-calc-1 .mg-calc-facts>div{min-width:0}\r\n#mg-bw-calc-1 .mg-calc-facts dt{font-size:12px;color:var(--calc-muted);font-weight:400}\r\n#mg-bw-calc-1 .mg-calc-facts dd{font-size:16px;font-weight:650;margin:4px 0 0;font-variant-numeric:tabular-nums}\r\n#mg-bw-calc-1 .mg-calc-details{border:0;border-top:1px solid var(--calc-line);border-radius:0;background:none;padding:0;margin:30px 0 0;box-shadow:none}\r\n#mg-bw-calc-1 .mg-calc-details>summary{display:flex;align-items:center;gap:16px;justify-content:space-between;list-style:none;padding:17px 0;min-height:48px;font-size:14px;font-weight:650;cursor:pointer;color:var(--calc-ink)}\r\n#mg-bw-calc-1 .mg-calc-details>summary::-webkit-details-marker{display:none}\r\n#mg-bw-calc-1 .mg-calc-details>summary::after{content:'+';font-size:20px;font-weight:400}\r\n#mg-bw-calc-1 .mg-calc-details[open]>summary::after{content:'\u2212'}\r\n#mg-bw-calc-1 .mg-calc-explanation{max-width:85ch;padding:4px 0 12px;font-size:14px;color:var(--calc-muted)}\r\n#mg-bw-calc-1 .mg-calc-explanation p{margin:0 0 16px}\r\n#mg-bw-calc-1 .mg-calc-formula{color:var(--calc-ink);font-variant-numeric:tabular-nums;font-weight:600}\r\n#mg-bw-calc-1 .mg-calc-links{display:flex;gap:12px 28px;flex-wrap:wrap;font-size:13px;margin:22px 0 0}\r\n#mg-bw-calc-1 .mg-calc-links a{color:var(--calc-accent)}\r\n#mg-bw-calc-1 .mg-calc-error{margin:16px 0;color:var(--mg-ui-negative,#b42b36);font-size:13px}\r\n#mg-bw-calc-1 .mg-calc-note{font-size:13px;color:var(--calc-muted);margin:18px 0 0;max-width:85ch}\r\n#mg-bw-calc-1 .mg-calc-subsettings{margin-top:20px}\r\n#mg-bw-calc-1 .mg-calc-subsettings>summary{padding:14px 0}\r\n#mg-bw-calc-1 .mg-calc-subsettings .mg-calc-fields{margin:0 0 16px}\r\n#mg-bw-calc-1 .mg-calc-setting-state{font-size:12px;color:var(--calc-muted);margin:0}\r\n@media(max-width:850px){#mg-bw-calc-1.mg-calc{width:var(--mg-layout-available,calc(100% - 48px));padding:var(--mg-layout-top,34px) 0 var(--mg-layout-bottom,44px)}#mg-bw-calc-1 .mg-calc-board{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#mg-bw-calc-1 .mg-calc-result{padding:22px}}\r\n@media(max-width:650px){#mg-bw-calc-1.mg-calc{width:var(--mg-layout-available,calc(100% - 40px));padding:var(--mg-layout-top,30px) 0 var(--mg-layout-bottom,40px)}#mg-bw-calc-1 .mg-calc-board{grid-template-columns:minmax(0,1fr);gap:26px}#mg-bw-calc-1 .mg-calc-heading{margin-bottom:26px}#mg-bw-calc-1 .mg-calc-result{padding:22px 20px}#mg-bw-calc-1 .mg-calc-reading output{font-size:34px}#mg-bw-calc-1 .mg-calc-fields{gap:14px 10px}#mg-bw-calc-1 .mg-calc-fields--three .mg-calc-field>span{font-size:12px}#mg-bw-calc-1 :is(input:not([type=range]),select){padding-left:10px}#mg-bw-calc-1 .mg-calc-facts{gap:14px}}\r\n#mg-bw-calc-1 .mg-calc-board{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr)}\n#mg-bw-calc-1 .mg-bandwidth-results{min-width:0}\n#mg-bw-calc-1 .mg-bandwidth-compat{margin:26px 0 0}\n#mg-bw-calc-1 .mg-bandwidth-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}\n#mg-bw-calc-1 .mg-bandwidth-groups h3{font-size:13px;font-weight:700;margin:0 0 8px}\n#mg-bw-calc-1 .mg-bandwidth-groups ul{list-style:none;padding:0;margin:0}\n#mg-bw-calc-1 .mg-bandwidth-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--calc-line);margin:0}\n#mg-bw-calc-1 .mg-bandwidth-row:last-child{border:0}\n#mg-bw-calc-1 .mg-bandwidth-row strong{display:block;font-weight:650;font-size:13px;line-height:1.4}\n#mg-bw-calc-1 .mg-bandwidth-row small{display:block;font-size:12px;color:var(--calc-muted);margin-top:3px}\n#mg-bw-calc-1 .mg-bandwidth-status{font-size:12px;font-weight:750;line-height:1.4;text-align:right;max-width:68px}\n#mg-bw-calc-1 .mg-bandwidth-status.is-ok{color:var(--mg-ui-positive,#25613d)}\n#mg-bw-calc-1 .mg-bandwidth-status.is-tight{color:var(--calc-accent)}\n#mg-bw-calc-1 .mg-bandwidth-status.is-no{color:var(--mg-ui-negative,#b42b36)}\n#mg-bw-calc-1 .mg-bandwidth-compat>.mg-calc-note{font-size:11px}\n@media(max-width:1050px) and (min-width:651px){#mg-bw-calc-1 .mg-bandwidth-groups{grid-template-columns:1fr}}\n@media(max-width:650px){#mg-bw-calc-1 .mg-calc-board{grid-template-columns:1fr}#mg-bw-calc-1 .mg-bandwidth-groups{gap:18px}#mg-bw-calc-1 .mg-bandwidth-row{grid-template-columns:1fr;gap:4px}#mg-bw-calc-1 .mg-bandwidth-status{text-align:left;max-width:none}}\n<\/style>\n<script>(() => {\n  const root = document.getElementById('mg-bw-calc-1');\n  if (!root) return;\n  \/* Pure geometry and signal estimates, shared by the three local calculators. *\/\nconst mgCalcMath = (() => {\n  const positive = values => values.every(n => Number.isFinite(n) && n > 0);\n  const gcd = (a, b) => b ? gcd(b, a % b) : a;\n  function density({ w, h, inches }) {\n    if (!positive([w, h, inches]) || !Number.isInteger(w) || !Number.isInteger(h)) return null;\n    const ppi = Math.hypot(w, h) \/ inches;\n    const divisor = gcd(w, h);\n    return { ppi, pitch: 25.4 \/ ppi, mp: w * h \/ 1e6, aspect: `${w \/ divisor}:${h \/ divisor}`, arcMinuteCm: 3438 \/ ppi * 2.54 };\n  }\n  \/\/ Editorial angular references, not ergonomic or medical limits.\n  const angles = { competitive: [28, 40], mixed: [34, 50], immersive: [42, 58], console: [32, 52], work: [30, 45], color: [32, 46], media: [38, 60] };\n  function distance(values) {\n    const { w, h, inches, cm, aspect = 'auto', use = 'mixed' } = values;\n    const base = density(values);\n    if (!base || !positive([cm])) return null;\n    const parts = aspect === 'auto' ? [w, h] : aspect.split(':').map(Number);\n    if (parts.length !== 2 || !positive(parts)) return null;\n    const ratio = parts[0] \/ parts[1];\n    const height = inches * 2.54 \/ Math.hypot(ratio, 1);\n    const width = height * ratio;\n    const fov = 2 * Math.atan(width \/ (2 * cm)) * 180 \/ Math.PI;\n    const [lo, hi] = angles[use] || angles.mixed;\n    const near = width \/ (2 * Math.tan(hi * Math.PI \/ 360));\n    const far = width \/ (2 * Math.tan(lo * Math.PI \/ 360));\n    return { ...base, width, height, fov, ppd: w \/ fov, near, far, lo, hi, mismatch: Math.abs(ratio - w \/ h) \/ ratio > .035 };\n  }\n  function bandwidth({ w, h, hz, bpc, chroma, overhead, dsc }) {\n    if (!positive([w, h, hz, bpc, chroma, overhead, dsc]) || !Number.isInteger(w) || !Number.isInteger(h) || dsc < 1 || overhead < 1) return null;\n    const bpp = bpc * chroma;\n    const pixels = w * h * hz;\n    const active = pixels * bpp \/ 1e9;\n    const transport = active * overhead;\n    return { bpp, pixels, active, transport, required: transport \/ dsc };\n  }\n  return { density, distance, bandwidth, angles };\n})();\n  function mgCalcControls(root, presetFields, render) {\n  const fields = Object.fromEntries([...root.querySelectorAll('[data-calc-field]')].map(el => [el.dataset.calcField, el]));\n  const preset = root.querySelector('[data-calc-preset]');\n  const error = root.querySelector('[data-calc-error]');\n  const fmt = (n, d = 1) => n.toLocaleString(globalThis.mgI18n?.locale || 'es-ES', { minimumFractionDigits: d, maximumFractionDigits: d });\n  const write = (key, value) => root.querySelectorAll(`[data-result=\"${key}\"]`).forEach(el => { el.textContent = (globalThis.mgT || (value => value))(value); });\n  function update() {\n    let valid = true;\n    const values = {};\n    for (const [key, el] of Object.entries(fields)) {\n      const number = el.type === 'number';\n      const ok = el.value !== '' && el.checkValidity();\n      el.setAttribute('aria-invalid', String(!ok));\n      valid = valid && ok;\n      values[key] = number ? el.valueAsNumber : el.value;\n    }\n    const signature = presetFields.map(key => fields[key].value).join(',');\n    preset.value = [...preset.options].some(option => option.value === signature) ? signature : '';\n    error.hidden = valid;\n    root.classList.toggle('is-invalid', !valid);\n    if (!valid) {\n      root.querySelectorAll('[data-result]').forEach(el => { el.textContent = '\u2014'; });\n    }\n    render(valid ? values : null, { fmt, write });\n  }\n  preset.addEventListener('change', () => {\n    if (!preset.value) return;\n    preset.value.split(',').forEach((value, index) => { fields[presetFields[index]].value = value; });\n    update();\n  });\n  Object.values(fields).forEach(el => {\n    el.addEventListener('input', update);\n    el.addEventListener('change', update);\n  });\n  root.querySelectorAll('[data-calc-range]').forEach(range => {\n    const field = fields[range.dataset.calcRange];\n    range.addEventListener('input', () => { field.value = range.value; update(); });\n    field.addEventListener('input', () => { if (field.checkValidity()) range.value = field.value; });\n  });\n  update();\n}\n  function mgBandwidthFit(connection, transportGbps, dscRatio) {\n  const usesDsc=dscRatio>1 && connection.dsc===true;\n  const required=transportGbps\/(usesDsc?dscRatio:1);\n  const status=connection.payload>=required*1.08?'ok':connection.payload>=required?'tight':'no';\n  let label=status==='ok'?'OK':status==='tight'?'Justo':'No';\n  if(status!=='no' && dscRatio>1) label+=usesDsc?' con DSC':' sin DSC';\n  return {status,label,usesDsc,required};\n}\n  const standards = [\n    { name: 'HDMI 1.4', payload: 8.16, dsc: false },\n    { name: 'HDMI 2.0', payload: 14.40, dsc: false },\n    { name: 'HDMI 2.1 \u00b7 FRL 24', payload: 21.33, dsc: true },\n    { name: 'HDMI 2.1 \u00b7 FRL 32', payload: 28.44, dsc: true },\n    { name: 'HDMI 2.1 \u00b7 FRL 40', payload: 35.56, dsc: true },\n    { name: 'HDMI 2.1 \u00b7 FRL 48', payload: 42.67, dsc: true },\n    { name: 'DP 1.2 \u00b7 HBR2', payload: 17.28, dsc: false },\n    { name: 'DP 1.4 \u00b7 HBR3', payload: 25.92, dsc: true },\n    { name: 'DP 2.1 \u00b7 UHBR10', payload: 38.69, dsc: true },\n    { name: 'DP 2.1 \u00b7 UHBR13.5', payload: 52.22, dsc: true },\n    { name: 'DP 2.1 \u00b7 UHBR20', payload: 77.37, dsc: true }\n  ];\n  const groups = root.querySelector('[data-bandwidth-groups]');\n  mgCalcControls(root, ['w','h','hz','bpc','chroma','overhead','dsc'], (values, { fmt, write }) => {\n    groups.replaceChildren();\n    root.querySelector('[data-bandwidth-compat]').hidden = !values;\n    if (!values) return;\n    const v = { ...values, bpc: Number(values.bpc), chroma: values.chroma === 'y444' ? 3 : Number(values.chroma), overhead: Number(values.overhead), dsc: Number(values.dsc) };\n    const result = mgCalcMath.bandwidth(v);\n    write('required', fmt(result.required, 2)); write('active', fmt(result.active, 2) + ' Gbps');\n    write('transport', fmt(result.transport, 2) + ' Gbps'); write('bpp', fmt(result.bpp, result.bpp % 1 ? 1 : 0) + ' bpp');\n    write('pixels', fmt(result.pixels \/ 1e6, 2) + ' Mpx\/s');\n    write('settings', (v.dsc === 1 ? 'Sin DSC' : 'DSC ' + fmt(v.dsc, v.dsc % 1 ? 1 : 0) + ':1') + ' \u00b7 margen de blanking +' + fmt((v.overhead - 1) * 100, 0) + ' %');\n    write('signal', v.w + ' \u00d7 ' + v.h + ' \u00b7 ' + fmt(v.hz, v.hz % 1 ? 2 : 0) + ' Hz \u00b7 ' + v.bpc + ' bits' + (v.dsc > 1 ? ' \u00b7 con DSC' : ' \u00b7 sin DSC'));\n    ['HDMI', 'DisplayPort'].forEach((groupName, index) => {\n      const section = document.createElement('section'); const heading = document.createElement('h3'); heading.textContent = (globalThis.mgT || (value => value))(groupName);\n      const list = document.createElement('ul');\n      standards.filter(item => index === 0 ? item.name.startsWith('HDMI') : item.name.startsWith('DP')).forEach(item => {\n        const fit = mgBandwidthFit(item, result.transport, v.dsc);\n        const row = document.createElement('li'); row.className = 'mg-bandwidth-row';\n        const name = document.createElement('div'); const title = document.createElement('strong'); title.textContent = (globalThis.mgT || (value => value))(item.name);\n        const payload = document.createElement('small'); payload.textContent = (globalThis.mgT || (value => value))(fmt(item.payload, 2) + ' Gbps \u00fatiles'); name.append(title, payload);\n        const status = document.createElement('span'); status.className = 'mg-bandwidth-status is-' + fit.status;\n        status.textContent = (globalThis.mgT || (value => value))((fit.status === 'ok' ? '\u2713 ' : fit.status === 'no' ? '\u00d7 ' : '\u2248 ') + fit.label);\n        row.append(name, status); list.append(row);\n      });\n      section.append(heading, list); groups.append(section);\n    });\n  });\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Bandwidth calculatorCheck which connections can carry your video signal. Video signal Common configurationCustom1080p \u00b7 240 Hz \u00b7 8 bits1080p \u00b7 600 Hz \u00b7 8 bits1440p \u00b7 240 Hz \u00b7 10 bits1440p \u00b7 360 Hz \u00b7 DSC 2,5:11440p \u00b7 500 Hz \u00b7 DSC 2,5:1UWQHD \u00b7 180 Hz \u00b7 10 bits4K \u00b7 120 Hz \u00b7 10 bits4K [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-tools-full.php","meta":{"_acf_changed":false,"iawp_total_views":755,"footnotes":""},"class_list":["post-4896","page","type-page","status-publish","hentry"],"acf":{"subtitle":"Calculadora de ancho de banda, consulta la conexi\u00f3n ideal"},"_links":{"self":[{"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/pages\/4896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/comments?post=4896"}],"version-history":[{"count":1,"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/pages\/4896\/revisions"}],"predecessor-version":[{"id":4897,"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/pages\/4896\/revisions\/4897"}],"wp:attachment":[{"href":"https:\/\/monitorgarage.com\/en\/wp-json\/wp\/v2\/media?parent=4896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}