Remastered Gems
The Highest Quality Restoration
Remastered Gems specialises in high-fidelity restoration and remastering of legacy television and film.
QUALITY COMPARISON
Using technology it developed and rigorously tested, the Remastered Gems method outperforms all available consumer tools. The demonstration below presents a side-by-side comparison of Remastered Gems and other leading consumer upscaling models.
About
Remastered Gems specialises in high-fidelity restoration and remastering of legacy television and film, using its own developed and rigorously tested technology that outperforms all consumer tools.
Trailer Comparisons Production Proposal
(function(){ var headerH = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--header-h')) || 108; var subnavH = document.getElementById('dw-subnav-wrapper').offsetHeight || 52; var offset = headerH + subnavH + 20; document.querySelectorAll('.dw-tab-btn').forEach(function(btn){ btn.addEventListener('click', function(){ var targetId = this.getAttribute('data-target'); var target = document.getElementById(targetId); if(target){ var top = target.getBoundingClientRect().top + window.pageYOffset - offset; window.scrollTo({top: top, behavior: 'smooth'}); } document.querySelectorAll('.dw-tab-btn').forEach(function(b){ b.classList.remove('active'); }); this.classList.add('active'); }); }); })(); Doctor Who S1 Trailer
Improvements & Flaws
(function(){function I(id){var W=document.getElementById(id+'-wrapper'),R=document.getElementById(id);if(!R)return;var B=R.querySelector('.ba-before'),A=R.querySelector('.ba-after'),rng=R.querySelector('.ba-range'),H=R.querySelector('.ba-handle'),zB=W?W.querySelectorAll('.ba-zoom-btn'):[];var nW=800,nH=450,bS=1,sp=90,s=1,tx=0,ty=0,m=null,sX=0,sY=0,sTx=0,sTy=0,zId=null,rc=null,rcT=0;function gRC(f){var n=performance.now();if(!f&&rc&&16>(n-rcT))return rc;rc=R.getBoundingClientRect();rcT=n;return rc}function inv(){rc=null}var lS={s:null,tx:null,ty:null,hx:null,sp:null};function chk(a,txS,tyS,hx,spS){if(lS.s===a&&lS.tx===txS&&lS.ty===tyS&&lS.hx===hx&&lS.sp===spS)return false;lS.s=a;lS.tx=txS;lS.ty=tyS;lS.hx=hx;lS.sp=spS;return true}var rId=null,pS=null,pTx=null,pTy=null;function sched(){if(rId)return;rId=requestAnimationFrame(function(){rId=null;if(pS!==null){s=pS;pS=null}if(pTx!==null){tx=pTx;pTx=null}if(pTy!==null){ty=pTy;pTy=null}cP();aT()})}function qU(ns,ntx,nty){if(ns!==undefined)pS=ns;if(ntx!==undefined)pTx=ntx;if(nty!==undefined)pTy=nty;sched()}function sNR(){if(!B||!A||!B.naturalWidth||!A.naturalWidth)return;var mW=Math.max(B.naturalWidth,A.naturalWidth),mH=Math.max(B.naturalHeight,A.naturalHeight);nW=mW;nH=mH;R.style.setProperty('--native-w',mW);R.style.setProperty('--native-h',mH);rBS();ctr()}function rBS(){inv();var r=gRC(true);if(r.width===0)return;bS=Math.max(r.width/nW,r.height/nH);aT()}function ctr(){var r=gRC();if(r.width===0)return;var tS=bS*s,scW=nW*tS,scH=nH*tS;tx=(r.width-scW)/2;ty=(r.height-scH)/2;aT()}var iL=0,sD=false;function oIL(){iL++;if(iL>=2&&!sD){sD=true;sNR()}}function cI(img){if(img.complete&&img.naturalWidth>0)oIL();else if(img.complete){if(img.decode)img.decode().then(oIL).catch(function(){requestAnimationFrame(oIL)});else requestAnimationFrame(oIL)}else img.addEventListener('load',oIL)}cI(B);cI(A);setTimeout(function(){if(!sD&&B.naturalWidth>0&&A.naturalWidth>0){sD=true;sNR()}},100);function uS(r){var wW=r.width,tS=bS*s,sX=wW*(sp/100),iX=(sX-tx)/tS,iS=(iX/nW)*100;if(rng)rng.value=String(Math.round(sp));return Math.max(0,Math.min(100,iS))}function uZB(){zB.forEach(function(b){var z=Number(b.getAttribute('data-zoom'));b.classList.toggle('active',Math.abs(s-z)<0.01)})}function aT(){var r=gRC(),tS=bS*s,sv=uS(r),txS=tx+'px',tyS=ty+'px',hxS=sp+'%',spS=sv+'%';if(chk(tS,txS,tyS,hxS,spS)){R.style.setProperty('--s',String(tS));R.style.setProperty('--tx',txS);R.style.setProperty('--ty',tyS);R.style.setProperty('--handle-x',hxS);R.style.setProperty('--split',spS)}uZB()}function cP(){var r=gRC(),cW=r.width,cH=r.height,tS=bS*s,scW=nW*tS,scH=nH*tS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tx=Math.min(0,Math.max(mnTx,tx));ty=Math.min(0,Math.max(mnTy,ty))}function eIO(t){return 0.5>t?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tgS,tgTx,tgTy){if(zId){cancelAnimationFrame(zId);zId=null}var stS=s,stTx=tx,stTy=ty,stT=performance.now();function step(now){var t=(now-stT)/150;if(t>=1){t=1;zId=null}var ea=eIO(t);s=stS+(tgS-stS)*ea;tx=stTx+(tgTx-stTx)*ea;ty=stTy+(tgTy-stTy)*ea;aT();if(1>t)zId=requestAnimationFrame(step)}zId=requestAnimationFrame(step)}zB.forEach(function(b){b.addEventListener('click',function(){inv();var z=Number(b.getAttribute('data-zoom')),r=gRC(true),mx=r.width/2,my=r.height/2,tS=bS*s,ntS=bS*z,wX=(mx-tx)/tS,wY=(my-ty)/tS,tgTx=mx-wX*ntS,tgTy=my-wY*ntS,cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy));aZ(z,tgTx,tgTy)})});function pTS(cX){var r=gRC(),x=cX-r.left;sp=Math.max(0,Math.min(100,(x/r.width)*100));aT()}if(H)H.addEventListener('pointerdown',function(e){if(e.button!==0)return;m='split';R.setPointerCapture(e.pointerId);pTS(e.clientX);e.preventDefault()});R.addEventListener('pointerdown',function(e){var oH=e.target.closest&&e.target.closest('.ba-handle');if(oH)return;var rC=(e.button===2),mC=(e.button===1),lC=(e.button===0);if(rC||mC||lC){m='pan';sX=e.clientX;sY=e.clientY;sTx=tx;sTy=ty;R.classList.add('ba-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!m)return;if(m==='split'){pTS(e.clientX);e.preventDefault();return}if(m==='pan'){tx=sTx+(e.clientX-sX);ty=sTy+(e.clientY-sY);cP();aT();e.preventDefault()}});function eP(){m=null;R.classList.remove('ba-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});if(rng){rng.addEventListener('input',function(e){sp=Number(e.target.value);aT()});rng.addEventListener('change',function(e){sp=Number(e.target.value);aT()})}R.addEventListener('wheel',function(e){if(s<=1.0001&&e.deltaY>0)return;e.preventDefault();inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,nS=s*Math.exp(-e.deltaY*0.0015);nS=Math.max(1,Math.min(100,nS));var tS=bS*s,ntS=bS*nS,wX=(mx-tx)/tS,wY=(my-ty)/tS,ntx=mx-wX*ntS,nty=my-wY*ntS;qU(nS,ntx,nty)},{passive:false});R.addEventListener('dblclick',function(e){if(zId){cancelAnimationFrame(zId);zId=null}inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,tgS,tgTx,tgTy;if(s>1.0001){tgS=1;var scW1=nW*bS,scH1=nH*bS;tgTx=(r.width-scW1)/2;tgTy=(r.height-scH1)/2}else{tgS=1/bS;var tS=bS*s,ntS=bS*tgS,wX=(mx-tx)/tS,wY=(my-ty)/tS;tgTx=mx-wX*ntS;tgTy=my-wY*ntS;var cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy))}aZ(tgS,tgTx,tgTy)});window.addEventListener('resize',function(){inv();rBS();cP();aT()});R.addEventListener('ba-reset',function(){sp=90;s=1;inv();ctr()});R.addEventListener('ba-recalc',function(){var nwV=R.style.getPropertyValue('--native-w'),nhV=R.style.getPropertyValue('--native-h');if(nwV&&nhV){nW=parseFloat(nwV);nH=parseFloat(nhV);inv();rBS();ctr()}});R.addEventListener('ba-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;inv();var r=gRC(true),nS=bS*tZ,scW=nW*nS,scH=nH*nS,cx=(r.width-scW)/2,cy=(r.height-scH)/2,rX=Math.max(0,(scW-r.width)/2),rY=Math.max(0,(scH-r.height)/2),tgTx=cx+nPX*rX,tgTy=cy+nPY*rY;aZ(tZ,tgTx,tgTy)}});R.classList.add('ba-ready');var initPos={zoom:4.6,panX:0.7787,panY:1.0},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!sD){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('ba-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0))setTimeout(applyInit,100);aT()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){I('ba-widget-85417266389a')});else I('ba-widget-85417266389a')})(); DEHALO Old SD footage has an artefact: an ugly black line around the edges of anything with any level of contrast. Remastered Gems can remove most of these lines as if they were never there.
COLOUR Old footage often has washed-out colour that simple white balance can’t restore. Remastered Gems doesn’t aim to “re-grade” the image; it focuses on recovering lost colour while preserving the frame’s original tint and tone. Fans will be able to weigh in on colour preferences during production. Depending on the consensus, scenes may have no colour grading, subtle tweaks, or a full adjustment.
(function(){function I(id){var W=document.getElementById(id+'-wrapper'),R=document.getElementById(id);if(!R)return;var B=R.querySelector('.ba-before'),A=R.querySelector('.ba-after'),rng=R.querySelector('.ba-range'),H=R.querySelector('.ba-handle'),zB=W?W.querySelectorAll('.ba-zoom-btn'):[];var nW=800,nH=450,bS=1,sp=90,s=1,tx=0,ty=0,m=null,sX=0,sY=0,sTx=0,sTy=0,zId=null,rc=null,rcT=0;function gRC(f){var n=performance.now();if(!f&&rc&&16>(n-rcT))return rc;rc=R.getBoundingClientRect();rcT=n;return rc}function inv(){rc=null}var lS={s:null,tx:null,ty:null,hx:null,sp:null};function chk(a,txS,tyS,hx,spS){if(lS.s===a&&lS.tx===txS&&lS.ty===tyS&&lS.hx===hx&&lS.sp===spS)return false;lS.s=a;lS.tx=txS;lS.ty=tyS;lS.hx=hx;lS.sp=spS;return true}var rId=null,pS=null,pTx=null,pTy=null;function sched(){if(rId)return;rId=requestAnimationFrame(function(){rId=null;if(pS!==null){s=pS;pS=null}if(pTx!==null){tx=pTx;pTx=null}if(pTy!==null){ty=pTy;pTy=null}cP();aT()})}function qU(ns,ntx,nty){if(ns!==undefined)pS=ns;if(ntx!==undefined)pTx=ntx;if(nty!==undefined)pTy=nty;sched()}function sNR(){if(!B||!A||!B.naturalWidth||!A.naturalWidth)return;var mW=Math.max(B.naturalWidth,A.naturalWidth),mH=Math.max(B.naturalHeight,A.naturalHeight);nW=mW;nH=mH;R.style.setProperty('--native-w',mW);R.style.setProperty('--native-h',mH);rBS();ctr()}function rBS(){inv();var r=gRC(true);if(r.width===0)return;bS=Math.max(r.width/nW,r.height/nH);aT()}function ctr(){var r=gRC();if(r.width===0)return;var tS=bS*s,scW=nW*tS,scH=nH*tS;tx=(r.width-scW)/2;ty=(r.height-scH)/2;aT()}var iL=0,sD=false;function oIL(){iL++;if(iL>=2&&!sD){sD=true;sNR()}}function cI(img){if(img.complete&&img.naturalWidth>0)oIL();else if(img.complete){if(img.decode)img.decode().then(oIL).catch(function(){requestAnimationFrame(oIL)});else requestAnimationFrame(oIL)}else img.addEventListener('load',oIL)}cI(B);cI(A);setTimeout(function(){if(!sD&&B.naturalWidth>0&&A.naturalWidth>0){sD=true;sNR()}},100);function uS(r){var wW=r.width,tS=bS*s,sX=wW*(sp/100),iX=(sX-tx)/tS,iS=(iX/nW)*100;if(rng)rng.value=String(Math.round(sp));return Math.max(0,Math.min(100,iS))}function uZB(){zB.forEach(function(b){var z=Number(b.getAttribute('data-zoom'));b.classList.toggle('active',Math.abs(s-z)<0.01)})}function aT(){var r=gRC(),tS=bS*s,sv=uS(r),txS=tx+'px',tyS=ty+'px',hxS=sp+'%',spS=sv+'%';if(chk(tS,txS,tyS,hxS,spS)){R.style.setProperty('--s',String(tS));R.style.setProperty('--tx',txS);R.style.setProperty('--ty',tyS);R.style.setProperty('--handle-x',hxS);R.style.setProperty('--split',spS)}uZB()}function cP(){var r=gRC(),cW=r.width,cH=r.height,tS=bS*s,scW=nW*tS,scH=nH*tS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tx=Math.min(0,Math.max(mnTx,tx));ty=Math.min(0,Math.max(mnTy,ty))}function eIO(t){return 0.5>t?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tgS,tgTx,tgTy){if(zId){cancelAnimationFrame(zId);zId=null}var stS=s,stTx=tx,stTy=ty,stT=performance.now();function step(now){var t=(now-stT)/150;if(t>=1){t=1;zId=null}var ea=eIO(t);s=stS+(tgS-stS)*ea;tx=stTx+(tgTx-stTx)*ea;ty=stTy+(tgTy-stTy)*ea;aT();if(1>t)zId=requestAnimationFrame(step)}zId=requestAnimationFrame(step)}zB.forEach(function(b){b.addEventListener('click',function(){inv();var z=Number(b.getAttribute('data-zoom')),r=gRC(true),mx=r.width/2,my=r.height/2,tS=bS*s,ntS=bS*z,wX=(mx-tx)/tS,wY=(my-ty)/tS,tgTx=mx-wX*ntS,tgTy=my-wY*ntS,cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy));aZ(z,tgTx,tgTy)})});function pTS(cX){var r=gRC(),x=cX-r.left;sp=Math.max(0,Math.min(100,(x/r.width)*100));aT()}if(H)H.addEventListener('pointerdown',function(e){if(e.button!==0)return;m='split';R.setPointerCapture(e.pointerId);pTS(e.clientX);e.preventDefault()});R.addEventListener('pointerdown',function(e){var oH=e.target.closest&&e.target.closest('.ba-handle');if(oH)return;var rC=(e.button===2),mC=(e.button===1),lC=(e.button===0);if(rC||mC||lC){m='pan';sX=e.clientX;sY=e.clientY;sTx=tx;sTy=ty;R.classList.add('ba-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!m)return;if(m==='split'){pTS(e.clientX);e.preventDefault();return}if(m==='pan'){tx=sTx+(e.clientX-sX);ty=sTy+(e.clientY-sY);cP();aT();e.preventDefault()}});function eP(){m=null;R.classList.remove('ba-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});if(rng){rng.addEventListener('input',function(e){sp=Number(e.target.value);aT()});rng.addEventListener('change',function(e){sp=Number(e.target.value);aT()})}R.addEventListener('wheel',function(e){if(s<=1.0001&&e.deltaY>0)return;e.preventDefault();inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,nS=s*Math.exp(-e.deltaY*0.0015);nS=Math.max(1,Math.min(100,nS));var tS=bS*s,ntS=bS*nS,wX=(mx-tx)/tS,wY=(my-ty)/tS,ntx=mx-wX*ntS,nty=my-wY*ntS;qU(nS,ntx,nty)},{passive:false});R.addEventListener('dblclick',function(e){if(zId){cancelAnimationFrame(zId);zId=null}inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,tgS,tgTx,tgTy;if(s>1.0001){tgS=1;var scW1=nW*bS,scH1=nH*bS;tgTx=(r.width-scW1)/2;tgTy=(r.height-scH1)/2}else{tgS=1/bS;var tS=bS*s,ntS=bS*tgS,wX=(mx-tx)/tS,wY=(my-ty)/tS;tgTx=mx-wX*ntS;tgTy=my-wY*ntS;var cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy))}aZ(tgS,tgTx,tgTy)});window.addEventListener('resize',function(){inv();rBS();cP();aT()});R.addEventListener('ba-reset',function(){sp=90;s=1;inv();ctr()});R.addEventListener('ba-recalc',function(){var nwV=R.style.getPropertyValue('--native-w'),nhV=R.style.getPropertyValue('--native-h');if(nwV&&nhV){nW=parseFloat(nwV);nH=parseFloat(nhV);inv();rBS();ctr()}});R.addEventListener('ba-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;inv();var r=gRC(true),nS=bS*tZ,scW=nW*nS,scH=nH*nS,cx=(r.width-scW)/2,cy=(r.height-scH)/2,rX=Math.max(0,(scW-r.width)/2),rY=Math.max(0,(scH-r.height)/2),tgTx=cx+nPX*rX,tgTy=cy+nPY*rY;aZ(tZ,tgTx,tgTy)}});R.classList.add('ba-ready');var initPos={zoom:1.09,panX:0.8907,panY:0.7831},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!sD){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('ba-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0))setTimeout(applyInit,100);aT()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){I('ba-widget-926c1f762450')});else I('ba-widget-926c1f762450')})(); (function(){function I(id){var W=document.getElementById(id+'-wrapper'),R=document.getElementById(id);if(!R)return;var B=R.querySelector('.ba-before'),A=R.querySelector('.ba-after'),rng=R.querySelector('.ba-range'),H=R.querySelector('.ba-handle'),zB=W?W.querySelectorAll('.ba-zoom-btn'):[];var nW=800,nH=450,bS=1,sp=90,s=1,tx=0,ty=0,m=null,sX=0,sY=0,sTx=0,sTy=0,zId=null,rc=null,rcT=0;function gRC(f){var n=performance.now();if(!f&&rc&&16>(n-rcT))return rc;rc=R.getBoundingClientRect();rcT=n;return rc}function inv(){rc=null}var lS={s:null,tx:null,ty:null,hx:null,sp:null};function chk(a,txS,tyS,hx,spS){if(lS.s===a&&lS.tx===txS&&lS.ty===tyS&&lS.hx===hx&&lS.sp===spS)return false;lS.s=a;lS.tx=txS;lS.ty=tyS;lS.hx=hx;lS.sp=spS;return true}var rId=null,pS=null,pTx=null,pTy=null;function sched(){if(rId)return;rId=requestAnimationFrame(function(){rId=null;if(pS!==null){s=pS;pS=null}if(pTx!==null){tx=pTx;pTx=null}if(pTy!==null){ty=pTy;pTy=null}cP();aT()})}function qU(ns,ntx,nty){if(ns!==undefined)pS=ns;if(ntx!==undefined)pTx=ntx;if(nty!==undefined)pTy=nty;sched()}function sNR(){if(!B||!A||!B.naturalWidth||!A.naturalWidth)return;var mW=Math.max(B.naturalWidth,A.naturalWidth),mH=Math.max(B.naturalHeight,A.naturalHeight);nW=mW;nH=mH;R.style.setProperty('--native-w',mW);R.style.setProperty('--native-h',mH);rBS();ctr()}function rBS(){inv();var r=gRC(true);if(r.width===0)return;bS=Math.max(r.width/nW,r.height/nH);aT()}function ctr(){var r=gRC();if(r.width===0)return;var tS=bS*s,scW=nW*tS,scH=nH*tS;tx=(r.width-scW)/2;ty=(r.height-scH)/2;aT()}var iL=0,sD=false;function oIL(){iL++;if(iL>=2&&!sD){sD=true;sNR()}}function cI(img){if(img.complete&&img.naturalWidth>0)oIL();else if(img.complete){if(img.decode)img.decode().then(oIL).catch(function(){requestAnimationFrame(oIL)});else requestAnimationFrame(oIL)}else img.addEventListener('load',oIL)}cI(B);cI(A);setTimeout(function(){if(!sD&&B.naturalWidth>0&&A.naturalWidth>0){sD=true;sNR()}},100);function uS(r){var wW=r.width,tS=bS*s,sX=wW*(sp/100),iX=(sX-tx)/tS,iS=(iX/nW)*100;if(rng)rng.value=String(Math.round(sp));return Math.max(0,Math.min(100,iS))}function uZB(){zB.forEach(function(b){var z=Number(b.getAttribute('data-zoom'));b.classList.toggle('active',Math.abs(s-z)<0.01)})}function aT(){var r=gRC(),tS=bS*s,sv=uS(r),txS=tx+'px',tyS=ty+'px',hxS=sp+'%',spS=sv+'%';if(chk(tS,txS,tyS,hxS,spS)){R.style.setProperty('--s',String(tS));R.style.setProperty('--tx',txS);R.style.setProperty('--ty',tyS);R.style.setProperty('--handle-x',hxS);R.style.setProperty('--split',spS)}uZB()}function cP(){var r=gRC(),cW=r.width,cH=r.height,tS=bS*s,scW=nW*tS,scH=nH*tS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tx=Math.min(0,Math.max(mnTx,tx));ty=Math.min(0,Math.max(mnTy,ty))}function eIO(t){return 0.5>t?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tgS,tgTx,tgTy){if(zId){cancelAnimationFrame(zId);zId=null}var stS=s,stTx=tx,stTy=ty,stT=performance.now();function step(now){var t=(now-stT)/150;if(t>=1){t=1;zId=null}var ea=eIO(t);s=stS+(tgS-stS)*ea;tx=stTx+(tgTx-stTx)*ea;ty=stTy+(tgTy-stTy)*ea;aT();if(1>t)zId=requestAnimationFrame(step)}zId=requestAnimationFrame(step)}zB.forEach(function(b){b.addEventListener('click',function(){inv();var z=Number(b.getAttribute('data-zoom')),r=gRC(true),mx=r.width/2,my=r.height/2,tS=bS*s,ntS=bS*z,wX=(mx-tx)/tS,wY=(my-ty)/tS,tgTx=mx-wX*ntS,tgTy=my-wY*ntS,cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy));aZ(z,tgTx,tgTy)})});function pTS(cX){var r=gRC(),x=cX-r.left;sp=Math.max(0,Math.min(100,(x/r.width)*100));aT()}if(H)H.addEventListener('pointerdown',function(e){if(e.button!==0)return;m='split';R.setPointerCapture(e.pointerId);pTS(e.clientX);e.preventDefault()});R.addEventListener('pointerdown',function(e){var oH=e.target.closest&&e.target.closest('.ba-handle');if(oH)return;var rC=(e.button===2),mC=(e.button===1),lC=(e.button===0);if(rC||mC||lC){m='pan';sX=e.clientX;sY=e.clientY;sTx=tx;sTy=ty;R.classList.add('ba-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!m)return;if(m==='split'){pTS(e.clientX);e.preventDefault();return}if(m==='pan'){tx=sTx+(e.clientX-sX);ty=sTy+(e.clientY-sY);cP();aT();e.preventDefault()}});function eP(){m=null;R.classList.remove('ba-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});if(rng){rng.addEventListener('input',function(e){sp=Number(e.target.value);aT()});rng.addEventListener('change',function(e){sp=Number(e.target.value);aT()})}R.addEventListener('wheel',function(e){if(s<=1.0001&&e.deltaY>0)return;e.preventDefault();inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,nS=s*Math.exp(-e.deltaY*0.0015);nS=Math.max(1,Math.min(100,nS));var tS=bS*s,ntS=bS*nS,wX=(mx-tx)/tS,wY=(my-ty)/tS,ntx=mx-wX*ntS,nty=my-wY*ntS;qU(nS,ntx,nty)},{passive:false});R.addEventListener('dblclick',function(e){if(zId){cancelAnimationFrame(zId);zId=null}inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,tgS,tgTx,tgTy;if(s>1.0001){tgS=1;var scW1=nW*bS,scH1=nH*bS;tgTx=(r.width-scW1)/2;tgTy=(r.height-scH1)/2}else{tgS=1/bS;var tS=bS*s,ntS=bS*tgS,wX=(mx-tx)/tS,wY=(my-ty)/tS;tgTx=mx-wX*ntS;tgTy=my-wY*ntS;var cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy))}aZ(tgS,tgTx,tgTy)});window.addEventListener('resize',function(){inv();rBS();cP();aT()});R.addEventListener('ba-reset',function(){sp=90;s=1;inv();ctr()});R.addEventListener('ba-recalc',function(){var nwV=R.style.getPropertyValue('--native-w'),nhV=R.style.getPropertyValue('--native-h');if(nwV&&nhV){nW=parseFloat(nwV);nH=parseFloat(nhV);inv();rBS();ctr()}});R.addEventListener('ba-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;inv();var r=gRC(true),nS=bS*tZ,scW=nW*nS,scH=nH*nS,cx=(r.width-scW)/2,cy=(r.height-scH)/2,rX=Math.max(0,(scW-r.width)/2),rY=Math.max(0,(scH-r.height)/2),tgTx=cx+nPX*rX,tgTy=cy+nPY*rY;aZ(tZ,tgTx,tgTy)}});R.classList.add('ba-ready');var initPos={zoom:7.21,panX:0.4058,panY:-0.0911},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!sD){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('ba-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0))setTimeout(applyInit,100);aT()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){I('ba-widget-76446ba16862')});else I('ba-widget-76446ba16862')})(); TEXT Low-res footage can make text almost impossible to read. Remastered Gems high accuracy method shows how near-unreadable text becomes clean and readable.
CGI Remastered Gems restoration produces cleaner CGI that was rendered at a lower resolution.
(function(){function I(id){var W=document.getElementById(id+'-wrapper'),R=document.getElementById(id);if(!R)return;var B=R.querySelector('.ba-before'),A=R.querySelector('.ba-after'),rng=R.querySelector('.ba-range'),H=R.querySelector('.ba-handle'),zB=W?W.querySelectorAll('.ba-zoom-btn'):[];var nW=800,nH=450,bS=1,sp=90,s=1,tx=0,ty=0,m=null,sX=0,sY=0,sTx=0,sTy=0,zId=null,rc=null,rcT=0;function gRC(f){var n=performance.now();if(!f&&rc&&16>(n-rcT))return rc;rc=R.getBoundingClientRect();rcT=n;return rc}function inv(){rc=null}var lS={s:null,tx:null,ty:null,hx:null,sp:null};function chk(a,txS,tyS,hx,spS){if(lS.s===a&&lS.tx===txS&&lS.ty===tyS&&lS.hx===hx&&lS.sp===spS)return false;lS.s=a;lS.tx=txS;lS.ty=tyS;lS.hx=hx;lS.sp=spS;return true}var rId=null,pS=null,pTx=null,pTy=null;function sched(){if(rId)return;rId=requestAnimationFrame(function(){rId=null;if(pS!==null){s=pS;pS=null}if(pTx!==null){tx=pTx;pTx=null}if(pTy!==null){ty=pTy;pTy=null}cP();aT()})}function qU(ns,ntx,nty){if(ns!==undefined)pS=ns;if(ntx!==undefined)pTx=ntx;if(nty!==undefined)pTy=nty;sched()}function sNR(){if(!B||!A||!B.naturalWidth||!A.naturalWidth)return;var mW=Math.max(B.naturalWidth,A.naturalWidth),mH=Math.max(B.naturalHeight,A.naturalHeight);nW=mW;nH=mH;R.style.setProperty('--native-w',mW);R.style.setProperty('--native-h',mH);rBS();ctr()}function rBS(){inv();var r=gRC(true);if(r.width===0)return;bS=Math.max(r.width/nW,r.height/nH);aT()}function ctr(){var r=gRC();if(r.width===0)return;var tS=bS*s,scW=nW*tS,scH=nH*tS;tx=(r.width-scW)/2;ty=(r.height-scH)/2;aT()}var iL=0,sD=false;function oIL(){iL++;if(iL>=2&&!sD){sD=true;sNR()}}function cI(img){if(img.complete&&img.naturalWidth>0)oIL();else if(img.complete){if(img.decode)img.decode().then(oIL).catch(function(){requestAnimationFrame(oIL)});else requestAnimationFrame(oIL)}else img.addEventListener('load',oIL)}cI(B);cI(A);setTimeout(function(){if(!sD&&B.naturalWidth>0&&A.naturalWidth>0){sD=true;sNR()}},100);function uS(r){var wW=r.width,tS=bS*s,sX=wW*(sp/100),iX=(sX-tx)/tS,iS=(iX/nW)*100;if(rng)rng.value=String(Math.round(sp));return Math.max(0,Math.min(100,iS))}function uZB(){zB.forEach(function(b){var z=Number(b.getAttribute('data-zoom'));b.classList.toggle('active',Math.abs(s-z)<0.01)})}function aT(){var r=gRC(),tS=bS*s,sv=uS(r),txS=tx+'px',tyS=ty+'px',hxS=sp+'%',spS=sv+'%';if(chk(tS,txS,tyS,hxS,spS)){R.style.setProperty('--s',String(tS));R.style.setProperty('--tx',txS);R.style.setProperty('--ty',tyS);R.style.setProperty('--handle-x',hxS);R.style.setProperty('--split',spS)}uZB()}function cP(){var r=gRC(),cW=r.width,cH=r.height,tS=bS*s,scW=nW*tS,scH=nH*tS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tx=Math.min(0,Math.max(mnTx,tx));ty=Math.min(0,Math.max(mnTy,ty))}function eIO(t){return 0.5>t?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tgS,tgTx,tgTy){if(zId){cancelAnimationFrame(zId);zId=null}var stS=s,stTx=tx,stTy=ty,stT=performance.now();function step(now){var t=(now-stT)/150;if(t>=1){t=1;zId=null}var ea=eIO(t);s=stS+(tgS-stS)*ea;tx=stTx+(tgTx-stTx)*ea;ty=stTy+(tgTy-stTy)*ea;aT();if(1>t)zId=requestAnimationFrame(step)}zId=requestAnimationFrame(step)}zB.forEach(function(b){b.addEventListener('click',function(){inv();var z=Number(b.getAttribute('data-zoom')),r=gRC(true),mx=r.width/2,my=r.height/2,tS=bS*s,ntS=bS*z,wX=(mx-tx)/tS,wY=(my-ty)/tS,tgTx=mx-wX*ntS,tgTy=my-wY*ntS,cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy));aZ(z,tgTx,tgTy)})});function pTS(cX){var r=gRC(),x=cX-r.left;sp=Math.max(0,Math.min(100,(x/r.width)*100));aT()}if(H)H.addEventListener('pointerdown',function(e){if(e.button!==0)return;m='split';R.setPointerCapture(e.pointerId);pTS(e.clientX);e.preventDefault()});R.addEventListener('pointerdown',function(e){var oH=e.target.closest&&e.target.closest('.ba-handle');if(oH)return;var rC=(e.button===2),mC=(e.button===1),lC=(e.button===0);if(rC||mC||lC){m='pan';sX=e.clientX;sY=e.clientY;sTx=tx;sTy=ty;R.classList.add('ba-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!m)return;if(m==='split'){pTS(e.clientX);e.preventDefault();return}if(m==='pan'){tx=sTx+(e.clientX-sX);ty=sTy+(e.clientY-sY);cP();aT();e.preventDefault()}});function eP(){m=null;R.classList.remove('ba-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});if(rng){rng.addEventListener('input',function(e){sp=Number(e.target.value);aT()});rng.addEventListener('change',function(e){sp=Number(e.target.value);aT()})}R.addEventListener('wheel',function(e){if(s<=1.0001&&e.deltaY>0)return;e.preventDefault();inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,nS=s*Math.exp(-e.deltaY*0.0015);nS=Math.max(1,Math.min(100,nS));var tS=bS*s,ntS=bS*nS,wX=(mx-tx)/tS,wY=(my-ty)/tS,ntx=mx-wX*ntS,nty=my-wY*ntS;qU(nS,ntx,nty)},{passive:false});R.addEventListener('dblclick',function(e){if(zId){cancelAnimationFrame(zId);zId=null}inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,tgS,tgTx,tgTy;if(s>1.0001){tgS=1;var scW1=nW*bS,scH1=nH*bS;tgTx=(r.width-scW1)/2;tgTy=(r.height-scH1)/2}else{tgS=1/bS;var tS=bS*s,ntS=bS*tgS,wX=(mx-tx)/tS,wY=(my-ty)/tS;tgTx=mx-wX*ntS;tgTy=my-wY*ntS;var cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy))}aZ(tgS,tgTx,tgTy)});window.addEventListener('resize',function(){inv();rBS();cP();aT()});R.addEventListener('ba-reset',function(){sp=90;s=1;inv();ctr()});R.addEventListener('ba-recalc',function(){var nwV=R.style.getPropertyValue('--native-w'),nhV=R.style.getPropertyValue('--native-h');if(nwV&&nhV){nW=parseFloat(nwV);nH=parseFloat(nhV);inv();rBS();ctr()}});R.addEventListener('ba-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;inv();var r=gRC(true),nS=bS*tZ,scW=nW*nS,scH=nH*nS,cx=(r.width-scW)/2,cy=(r.height-scH)/2,rX=Math.max(0,(scW-r.width)/2),rY=Math.max(0,(scH-r.height)/2),tgTx=cx+nPX*rX,tgTy=cy+nPY*rY;aZ(tZ,tgTx,tgTy)}});R.classList.add('ba-ready');var initPos={zoom:4.2,panX:-0.2571,panY:-0.035},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!sD){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('ba-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0))setTimeout(applyInit,100);aT()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){I('ba-widget-5da0888640ed')});else I('ba-widget-5da0888640ed')})(); SKIN TEXTURE Remastered Gems aims for an authentic upscale of the original source footage and cannot alter the type of camera that was used. Tape and film are fundamentally different mediums. Tape captures skin texture in ways that modern cinema cameras and film simply don't. When the Remastered Gems method is applied to both downscaled cinema camera footage and tape, the cinema footage retains natural skin texture, while the tape footage can appear waxy. This tells us the waxiness is a property of the source medium, not a flaw in the restoration method, nor a technical limitation. Critiques of ‘waxy’ faces may actually be critiques of the source medium. The only way to change medium-specific qualities would be a total AI-generated style transfer, (which would no doubt be pinned as AI slop).
(function(){function I(id){var W=document.getElementById(id+'-wrapper'),R=document.getElementById(id);if(!R)return;var B=R.querySelector('.ba-before'),A=R.querySelector('.ba-after'),rng=R.querySelector('.ba-range'),H=R.querySelector('.ba-handle'),zB=W?W.querySelectorAll('.ba-zoom-btn'):[];var nW=800,nH=450,bS=1,sp=90,s=1,tx=0,ty=0,m=null,sX=0,sY=0,sTx=0,sTy=0,zId=null,rc=null,rcT=0;function gRC(f){var n=performance.now();if(!f&&rc&&16>(n-rcT))return rc;rc=R.getBoundingClientRect();rcT=n;return rc}function inv(){rc=null}var lS={s:null,tx:null,ty:null,hx:null,sp:null};function chk(a,txS,tyS,hx,spS){if(lS.s===a&&lS.tx===txS&&lS.ty===tyS&&lS.hx===hx&&lS.sp===spS)return false;lS.s=a;lS.tx=txS;lS.ty=tyS;lS.hx=hx;lS.sp=spS;return true}var rId=null,pS=null,pTx=null,pTy=null;function sched(){if(rId)return;rId=requestAnimationFrame(function(){rId=null;if(pS!==null){s=pS;pS=null}if(pTx!==null){tx=pTx;pTx=null}if(pTy!==null){ty=pTy;pTy=null}cP();aT()})}function qU(ns,ntx,nty){if(ns!==undefined)pS=ns;if(ntx!==undefined)pTx=ntx;if(nty!==undefined)pTy=nty;sched()}function sNR(){if(!B||!A||!B.naturalWidth||!A.naturalWidth)return;var mW=Math.max(B.naturalWidth,A.naturalWidth),mH=Math.max(B.naturalHeight,A.naturalHeight);nW=mW;nH=mH;R.style.setProperty('--native-w',mW);R.style.setProperty('--native-h',mH);rBS();ctr()}function rBS(){inv();var r=gRC(true);if(r.width===0)return;bS=Math.max(r.width/nW,r.height/nH);aT()}function ctr(){var r=gRC();if(r.width===0)return;var tS=bS*s,scW=nW*tS,scH=nH*tS;tx=(r.width-scW)/2;ty=(r.height-scH)/2;aT()}var iL=0,sD=false;function oIL(){iL++;if(iL>=2&&!sD){sD=true;sNR()}}function cI(img){if(img.complete&&img.naturalWidth>0)oIL();else if(img.complete){if(img.decode)img.decode().then(oIL).catch(function(){requestAnimationFrame(oIL)});else requestAnimationFrame(oIL)}else img.addEventListener('load',oIL)}cI(B);cI(A);setTimeout(function(){if(!sD&&B.naturalWidth>0&&A.naturalWidth>0){sD=true;sNR()}},100);function uS(r){var wW=r.width,tS=bS*s,sX=wW*(sp/100),iX=(sX-tx)/tS,iS=(iX/nW)*100;if(rng)rng.value=String(Math.round(sp));return Math.max(0,Math.min(100,iS))}function uZB(){zB.forEach(function(b){var z=Number(b.getAttribute('data-zoom'));b.classList.toggle('active',Math.abs(s-z)<0.01)})}function aT(){var r=gRC(),tS=bS*s,sv=uS(r),txS=tx+'px',tyS=ty+'px',hxS=sp+'%',spS=sv+'%';if(chk(tS,txS,tyS,hxS,spS)){R.style.setProperty('--s',String(tS));R.style.setProperty('--tx',txS);R.style.setProperty('--ty',tyS);R.style.setProperty('--handle-x',hxS);R.style.setProperty('--split',spS)}uZB()}function cP(){var r=gRC(),cW=r.width,cH=r.height,tS=bS*s,scW=nW*tS,scH=nH*tS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tx=Math.min(0,Math.max(mnTx,tx));ty=Math.min(0,Math.max(mnTy,ty))}function eIO(t){return 0.5>t?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tgS,tgTx,tgTy){if(zId){cancelAnimationFrame(zId);zId=null}var stS=s,stTx=tx,stTy=ty,stT=performance.now();function step(now){var t=(now-stT)/150;if(t>=1){t=1;zId=null}var ea=eIO(t);s=stS+(tgS-stS)*ea;tx=stTx+(tgTx-stTx)*ea;ty=stTy+(tgTy-stTy)*ea;aT();if(1>t)zId=requestAnimationFrame(step)}zId=requestAnimationFrame(step)}zB.forEach(function(b){b.addEventListener('click',function(){inv();var z=Number(b.getAttribute('data-zoom')),r=gRC(true),mx=r.width/2,my=r.height/2,tS=bS*s,ntS=bS*z,wX=(mx-tx)/tS,wY=(my-ty)/tS,tgTx=mx-wX*ntS,tgTy=my-wY*ntS,cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy));aZ(z,tgTx,tgTy)})});function pTS(cX){var r=gRC(),x=cX-r.left;sp=Math.max(0,Math.min(100,(x/r.width)*100));aT()}if(H)H.addEventListener('pointerdown',function(e){if(e.button!==0)return;m='split';R.setPointerCapture(e.pointerId);pTS(e.clientX);e.preventDefault()});R.addEventListener('pointerdown',function(e){var oH=e.target.closest&&e.target.closest('.ba-handle');if(oH)return;var rC=(e.button===2),mC=(e.button===1),lC=(e.button===0);if(rC||mC||lC){m='pan';sX=e.clientX;sY=e.clientY;sTx=tx;sTy=ty;R.classList.add('ba-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!m)return;if(m==='split'){pTS(e.clientX);e.preventDefault();return}if(m==='pan'){tx=sTx+(e.clientX-sX);ty=sTy+(e.clientY-sY);cP();aT();e.preventDefault()}});function eP(){m=null;R.classList.remove('ba-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});if(rng){rng.addEventListener('input',function(e){sp=Number(e.target.value);aT()});rng.addEventListener('change',function(e){sp=Number(e.target.value);aT()})}R.addEventListener('wheel',function(e){if(s<=1.0001&&e.deltaY>0)return;e.preventDefault();inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,nS=s*Math.exp(-e.deltaY*0.0015);nS=Math.max(1,Math.min(100,nS));var tS=bS*s,ntS=bS*nS,wX=(mx-tx)/tS,wY=(my-ty)/tS,ntx=mx-wX*ntS,nty=my-wY*ntS;qU(nS,ntx,nty)},{passive:false});R.addEventListener('dblclick',function(e){if(zId){cancelAnimationFrame(zId);zId=null}inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,tgS,tgTx,tgTy;if(s>1.0001){tgS=1;var scW1=nW*bS,scH1=nH*bS;tgTx=(r.width-scW1)/2;tgTy=(r.height-scH1)/2}else{tgS=1/bS;var tS=bS*s,ntS=bS*tgS,wX=(mx-tx)/tS,wY=(my-ty)/tS;tgTx=mx-wX*ntS;tgTy=my-wY*ntS;var cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy))}aZ(tgS,tgTx,tgTy)});window.addEventListener('resize',function(){inv();rBS();cP();aT()});R.addEventListener('ba-reset',function(){sp=90;s=1;inv();ctr()});R.addEventListener('ba-recalc',function(){var nwV=R.style.getPropertyValue('--native-w'),nhV=R.style.getPropertyValue('--native-h');if(nwV&&nhV){nW=parseFloat(nwV);nH=parseFloat(nhV);inv();rBS();ctr()}});R.addEventListener('ba-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;inv();var r=gRC(true),nS=bS*tZ,scW=nW*nS,scH=nH*nS,cx=(r.width-scW)/2,cy=(r.height-scH)/2,rX=Math.max(0,(scW-r.width)/2),rY=Math.max(0,(scH-r.height)/2),tgTx=cx+nPX*rX,tgTy=cy+nPY*rY;aZ(tZ,tgTx,tgTy)}});R.classList.add('ba-ready');var initPos={zoom:1.09,panX:0.5359,panY:1.0},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!sD){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('ba-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0))setTimeout(applyInit,100);aT()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){I('ba-widget-587e9b2543bb')});else I('ba-widget-587e9b2543bb')})(); (function(){function I(id){var W=document.getElementById(id+'-wrapper'),R=document.getElementById(id);if(!R)return;var B=R.querySelector('.ba-before'),A=R.querySelector('.ba-after'),rng=R.querySelector('.ba-range'),H=R.querySelector('.ba-handle'),zB=W?W.querySelectorAll('.ba-zoom-btn'):[];var nW=800,nH=450,bS=1,sp=90,s=1,tx=0,ty=0,m=null,sX=0,sY=0,sTx=0,sTy=0,zId=null,rc=null,rcT=0;function gRC(f){var n=performance.now();if(!f&&rc&&16>(n-rcT))return rc;rc=R.getBoundingClientRect();rcT=n;return rc}function inv(){rc=null}var lS={s:null,tx:null,ty:null,hx:null,sp:null};function chk(a,txS,tyS,hx,spS){if(lS.s===a&&lS.tx===txS&&lS.ty===tyS&&lS.hx===hx&&lS.sp===spS)return false;lS.s=a;lS.tx=txS;lS.ty=tyS;lS.hx=hx;lS.sp=spS;return true}var rId=null,pS=null,pTx=null,pTy=null;function sched(){if(rId)return;rId=requestAnimationFrame(function(){rId=null;if(pS!==null){s=pS;pS=null}if(pTx!==null){tx=pTx;pTx=null}if(pTy!==null){ty=pTy;pTy=null}cP();aT()})}function qU(ns,ntx,nty){if(ns!==undefined)pS=ns;if(ntx!==undefined)pTx=ntx;if(nty!==undefined)pTy=nty;sched()}function sNR(){if(!B||!A||!B.naturalWidth||!A.naturalWidth)return;var mW=Math.max(B.naturalWidth,A.naturalWidth),mH=Math.max(B.naturalHeight,A.naturalHeight);nW=mW;nH=mH;R.style.setProperty('--native-w',mW);R.style.setProperty('--native-h',mH);rBS();ctr()}function rBS(){inv();var r=gRC(true);if(r.width===0)return;bS=Math.max(r.width/nW,r.height/nH);aT()}function ctr(){var r=gRC();if(r.width===0)return;var tS=bS*s,scW=nW*tS,scH=nH*tS;tx=(r.width-scW)/2;ty=(r.height-scH)/2;aT()}var iL=0,sD=false;function oIL(){iL++;if(iL>=2&&!sD){sD=true;sNR()}}function cI(img){if(img.complete&&img.naturalWidth>0)oIL();else if(img.complete){if(img.decode)img.decode().then(oIL).catch(function(){requestAnimationFrame(oIL)});else requestAnimationFrame(oIL)}else img.addEventListener('load',oIL)}cI(B);cI(A);setTimeout(function(){if(!sD&&B.naturalWidth>0&&A.naturalWidth>0){sD=true;sNR()}},100);function uS(r){var wW=r.width,tS=bS*s,sX=wW*(sp/100),iX=(sX-tx)/tS,iS=(iX/nW)*100;if(rng)rng.value=String(Math.round(sp));return Math.max(0,Math.min(100,iS))}function uZB(){zB.forEach(function(b){var z=Number(b.getAttribute('data-zoom'));b.classList.toggle('active',Math.abs(s-z)<0.01)})}function aT(){var r=gRC(),tS=bS*s,sv=uS(r),txS=tx+'px',tyS=ty+'px',hxS=sp+'%',spS=sv+'%';if(chk(tS,txS,tyS,hxS,spS)){R.style.setProperty('--s',String(tS));R.style.setProperty('--tx',txS);R.style.setProperty('--ty',tyS);R.style.setProperty('--handle-x',hxS);R.style.setProperty('--split',spS)}uZB()}function cP(){var r=gRC(),cW=r.width,cH=r.height,tS=bS*s,scW=nW*tS,scH=nH*tS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tx=Math.min(0,Math.max(mnTx,tx));ty=Math.min(0,Math.max(mnTy,ty))}function eIO(t){return 0.5>t?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tgS,tgTx,tgTy){if(zId){cancelAnimationFrame(zId);zId=null}var stS=s,stTx=tx,stTy=ty,stT=performance.now();function step(now){var t=(now-stT)/150;if(t>=1){t=1;zId=null}var ea=eIO(t);s=stS+(tgS-stS)*ea;tx=stTx+(tgTx-stTx)*ea;ty=stTy+(tgTy-stTy)*ea;aT();if(1>t)zId=requestAnimationFrame(step)}zId=requestAnimationFrame(step)}zB.forEach(function(b){b.addEventListener('click',function(){inv();var z=Number(b.getAttribute('data-zoom')),r=gRC(true),mx=r.width/2,my=r.height/2,tS=bS*s,ntS=bS*z,wX=(mx-tx)/tS,wY=(my-ty)/tS,tgTx=mx-wX*ntS,tgTy=my-wY*ntS,cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy));aZ(z,tgTx,tgTy)})});function pTS(cX){var r=gRC(),x=cX-r.left;sp=Math.max(0,Math.min(100,(x/r.width)*100));aT()}if(H)H.addEventListener('pointerdown',function(e){if(e.button!==0)return;m='split';R.setPointerCapture(e.pointerId);pTS(e.clientX);e.preventDefault()});R.addEventListener('pointerdown',function(e){var oH=e.target.closest&&e.target.closest('.ba-handle');if(oH)return;var rC=(e.button===2),mC=(e.button===1),lC=(e.button===0);if(rC||mC||lC){m='pan';sX=e.clientX;sY=e.clientY;sTx=tx;sTy=ty;R.classList.add('ba-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!m)return;if(m==='split'){pTS(e.clientX);e.preventDefault();return}if(m==='pan'){tx=sTx+(e.clientX-sX);ty=sTy+(e.clientY-sY);cP();aT();e.preventDefault()}});function eP(){m=null;R.classList.remove('ba-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});if(rng){rng.addEventListener('input',function(e){sp=Number(e.target.value);aT()});rng.addEventListener('change',function(e){sp=Number(e.target.value);aT()})}R.addEventListener('wheel',function(e){if(s<=1.0001&&e.deltaY>0)return;e.preventDefault();inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,nS=s*Math.exp(-e.deltaY*0.0015);nS=Math.max(1,Math.min(100,nS));var tS=bS*s,ntS=bS*nS,wX=(mx-tx)/tS,wY=(my-ty)/tS,ntx=mx-wX*ntS,nty=my-wY*ntS;qU(nS,ntx,nty)},{passive:false});R.addEventListener('dblclick',function(e){if(zId){cancelAnimationFrame(zId);zId=null}inv();var r=gRC(true),mx=e.clientX-r.left,my=e.clientY-r.top,tgS,tgTx,tgTy;if(s>1.0001){tgS=1;var scW1=nW*bS,scH1=nH*bS;tgTx=(r.width-scW1)/2;tgTy=(r.height-scH1)/2}else{tgS=1/bS;var tS=bS*s,ntS=bS*tgS,wX=(mx-tx)/tS,wY=(my-ty)/tS;tgTx=mx-wX*ntS;tgTy=my-wY*ntS;var cW=r.width,cH=r.height,scW=nW*ntS,scH=nH*ntS,mnTx=Math.min(0,cW-scW),mnTy=Math.min(0,cH-scH);tgTx=Math.min(0,Math.max(mnTx,tgTx));tgTy=Math.min(0,Math.max(mnTy,tgTy))}aZ(tgS,tgTx,tgTy)});window.addEventListener('resize',function(){inv();rBS();cP();aT()});R.addEventListener('ba-reset',function(){sp=90;s=1;inv();ctr()});R.addEventListener('ba-recalc',function(){var nwV=R.style.getPropertyValue('--native-w'),nhV=R.style.getPropertyValue('--native-h');if(nwV&&nhV){nW=parseFloat(nwV);nH=parseFloat(nhV);inv();rBS();ctr()}});R.addEventListener('ba-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;inv();var r=gRC(true),nS=bS*tZ,scW=nW*nS,scH=nH*nS,cx=(r.width-scW)/2,cy=(r.height-scH)/2,rX=Math.max(0,(scW-r.width)/2),rY=Math.max(0,(scH-r.height)/2),tgTx=cx+nPX*rX,tgTy=cy+nPY*rY;aZ(tZ,tgTx,tgTy)}});R.classList.add('ba-ready');var initPos={zoom:2.05,panX:-0.3514,panY:0.215},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!sD){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('ba-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0))setTimeout(applyInit,100);aT()}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',function(){I('ba-widget-b9cbdc2e4692')});else I('ba-widget-b9cbdc2e4692')})(); QUALITY COMPARISON
Compare uncompressed stills to see every improvement clearly.
ALTERNATIVE SOLUTIONS
Remastered Gems outperforms all available alternative solutions in terms of fidelity and accuracy.
(function(){var WID='gc-widget-6e65a79e3f33',MN=0.5,MX=100,DZ=7,ZM=150;function I(){var W=document.getElementById(WID+'-wrapper'),R=document.getElementById(WID);if(!R){return false}if(R.dataset.gcInit==='true')return true;R.dataset.gcInit='true';var zBtns=W?W.querySelectorAll('.gc-zoom-btn'):[];var uZ=1,pX=0,pY=0,pn=false,sX=0,sY=0,sPX=0,sPY=0,zId=null;function gCI(c){var im=c.querySelector('img'),cW=c.offsetWidth,cH=c.offsetHeight,nW=im&&im.naturalWidth?im.naturalWidth:cW,nH=im&&im.naturalHeight?im.naturalHeight:cH,cS=Math.max(cW/nW,cH/nH);return{cW:cW,cH:cH,nW:nW,nH:nH,cS:cS,im:im}}function uZB(){zBtns.forEach(function(btn){var z=Number(btn.getAttribute('data-zoom'));btn.classList.toggle('active',Math.abs(uZ-z)<0.01)})}function aP(){var cs=R.querySelectorAll('.gc-cell');cs.forEach(function(c){var i=gCI(c),aS=i.cS*uZ,dW=i.nW*aS,dH=i.nH*aS,cx=(i.cW-dW)/2,cy=(i.cH-dH)/2,tx=cx+pX,ty=cy+pY;if(i.im)i.im.style.transform='translate('+tx+'px,'+ty+'px) scale('+aS+')'});R.classList.toggle('gc-can-pan',uZ>1.001);uZB()}function cP(){var c=R.querySelector('.gc-cell');if(!c)return;var i=gCI(c),aS=i.cS*uZ,dW=i.nW*aS,dH=i.nH*aS,rX=Math.max(0,(dW-i.cW)/2),rY=Math.max(0,(dH-i.cH)/2);pX=Math.max(-rX,Math.min(rX,pX));pY=Math.max(-rY,Math.min(rY,pY))}function fC(e){if(e.composedPath){var p=e.composedPath();for(var j=0;p.length>j;j++){if(p[j]&&p[j].classList&&p[j].classList.contains('gc-cell'))return p[j]}}if(e.target&&e.target.closest){var c=e.target.closest('.gc-cell');if(c)return c}var el=document.elementFromPoint(e.clientX,e.clientY);if(el&&el.closest){var c2=el.closest('.gc-cell');if(c2)return c2}return R.querySelector('.gc-cell')}function eIO(t){return t<0.5?2*t*t:1-Math.pow(-2*t+2,2)/2}function aZ(tZ,tPX,tPY){if(zId){cancelAnimationFrame(zId);zId=null}var stZ=uZ,stPX=pX,stPY=pY,stT=performance.now();function aS(now){var t=(now-stT)/ZM;if(t>=1){t=1;zId=null}var ea=eIO(t);uZ=stZ+(tZ-stZ)*ea;pX=stPX+(tPX-stPX)*ea;pY=stPY+(tPY-stPY)*ea;aP();if(t<1)zId=requestAnimationFrame(aS)}zId=requestAnimationFrame(aS)}zBtns.forEach(function(btn){btn.addEventListener('click',function(){var z=Number(btn.getAttribute('data-zoom'));var c=R.querySelector('.gc-cell');if(!c){aZ(z,0,0);return}var i=gCI(c),mx=i.cW/2,my=i.cH/2,oS=i.cS*uZ,nS=i.cS*z,odW=i.nW*oS,odH=i.nH*oS,ndW=i.nW*nS,ndH=i.nH*nS,ocX=(i.cW-odW)/2,ocY=(i.cH-odH)/2,ncX=(i.cW-ndW)/2,ncY=(i.cH-ndH)/2,oTx=ocX+pX,oTy=ocY+pY,imX=(mx-oTx)/oS,imY=(my-oTy)/oS,nTx=mx-imX*nS,nTy=my-imY*nS,tPX=nTx-ncX,tPY=nTy-ncY,rX=Math.max(0,(ndW-i.cW)/2),rY=Math.max(0,(ndH-i.cH)/2);tPX=Math.max(-rX,Math.min(rX,tPX));tPY=Math.max(-rY,Math.min(rY,tPY));aZ(z,tPX,tPY)})});R.addEventListener('wheel',function(e){e.preventDefault();var c=fC(e);if(!c)return;var i=gCI(c),rc=c.getBoundingClientRect(),mx=e.clientX-rc.left,my=e.clientY-rc.top,oZ=uZ,d=-e.deltaY,nZ=oZ*Math.exp(d*0.0015);nZ=Math.max(MN,Math.min(MX,nZ));var oS=i.cS*oZ,nS=i.cS*nZ,odW=i.nW*oS,odH=i.nH*oS,ndW=i.nW*nS,ndH=i.nH*nS,ocX=(i.cW-odW)/2,ocY=(i.cH-odH)/2,ncX=(i.cW-ndW)/2,ncY=(i.cH-ndH)/2,oTx=ocX+pX,oTy=ocY+pY,imX=(mx-oTx)/oS,imY=(my-oTy)/oS,nTx=mx-imX*nS,nTy=my-imY*nS;pX=nTx-ncX;pY=nTy-ncY;uZ=nZ;cP();aP()},{passive:false});R.addEventListener('pointerdown',function(e){var dom=e.target.closest&&e.target.closest('.gc-label');if(dom)return;var canP=uZ>1.001;if(e.button===1||e.button===2||(e.button===0&&canP)){pn=true;sX=e.clientX;sY=e.clientY;sPX=pX;sPY=pY;R.classList.add('gc-panning');R.setPointerCapture(e.pointerId);e.preventDefault()}});R.addEventListener('pointermove',function(e){if(!pn)return;pX=sPX+(e.clientX-sX);pY=sPY+(e.clientY-sY);cP();aP();e.preventDefault()});function eP(){pn=false;R.classList.remove('gc-panning')}R.addEventListener('pointerup',eP);R.addEventListener('pointercancel',eP);R.addEventListener('contextmenu',function(e){e.preventDefault()});R.addEventListener('dblclick',function(e){var c=fC(e);if(!c)return;var i=gCI(c),rc=c.getBoundingClientRect(),mx=e.clientX-rc.left,my=e.clientY-rc.top,tZ,tPX,tPY;if(uZ>1.001){tZ=1;tPX=0;tPY=0}else{tZ=DZ;var oS=i.cS*uZ,nS=i.cS*tZ,odW=i.nW*oS,odH=i.nH*oS,ndW=i.nW*nS,ndH=i.nH*nS,ocX=(i.cW-odW)/2,ocY=(i.cH-odH)/2,ncX=(i.cW-ndW)/2,ncY=(i.cH-ndH)/2,oTx=ocX+pX,oTy=ocY+pY,imX=(mx-oTx)/oS,imY=(my-oTy)/oS,nTx=mx-imX*nS,nTy=my-imY*nS;tPX=nTx-ncX;tPY=nTy-ncY;var rX=Math.max(0,(ndW-i.cW)/2),rY=Math.max(0,(ndH-i.cH)/2);tPX=Math.max(-rX,Math.min(rX,tPX));tPY=Math.max(-rY,Math.min(rY,tPY))}aZ(tZ,tPX,tPY)});window.addEventListener('resize',function(){cP();aP()});if(typeof ResizeObserver!=='undefined'){var rO=new ResizeObserver(function(){cP();aP()});rO.observe(R)}var ims=R.querySelectorAll('.gc-cell img'),lC=0,tI=ims.length;function oAL(){requestAnimationFrame(function(){requestAnimationFrame(function(){aP();R.classList.add('gc-ready')})})}ims.forEach(function(im){if(im.complete&&im.naturalWidth>0){lC++;if(lC===tI)oAL()}else{im.addEventListener('load',function(){lC++;if(lC===tI)oAL()});im.addEventListener('error',function(){lC++;if(lC===tI)oAL()})}});if(tI===0)R.classList.add('gc-ready');var initPos={zoom:10.98,panX:-0.3892,panY:0.0856},initApplied=false;function applyInit(){if(initApplied)return;if(!initPos||(initPos.zoom===1&&initPos.panX===0&&initPos.panY===0))return;if(!R.classList.contains('gc-ready')){setTimeout(applyInit,50);return}initApplied=true;R.dispatchEvent(new CustomEvent('gc-setview',{detail:initPos}))}if(initPos&&(initPos.zoom!==1||initPos.panX!==0||initPos.panY!==0)){setTimeout(applyInit,100)}R.addEventListener('gc-reset',function(){uZ=1;pX=0;pY=0;aP()});R.addEventListener('gc-setview',function(e){var d=e.detail;if(d&&d.zoom){var tZ=d.zoom,nPX=d.panX||0,nPY=d.panY||0;var c=R.querySelector('.gc-cell');if(c){var i=gCI(c),aS=i.cS*tZ,sW=i.nW*aS,sH=i.nH*aS,mPX=Math.max(0,(sW-i.cW)/2),mPY=Math.max(0,(sH-i.cH)/2),tPX=nPX*mPX,tPY=nPY*mPY;aZ(tZ,tPX,tPY)}else{aZ(tZ,0,0)}}});return true}function B(){if(I())return;var tr=0,mT=60;function rT(){tr++;if(I())return;if(mT>tr)requestAnimationFrame(rT)}requestAnimationFrame(rT)}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',B)}else{B()}})(); PRODUCTION PLAN & BUDGET
(coming shortly)
Disclaimer: This site is an independent technical demonstration of restoration/remastering methods. The samples shown here are provided for demonstration purposes.