<?xml version="1.0" encoding="windows-1252"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>VideoHelp Forum - Software Playing</title>
		<link>https://forum.videohelp.com/</link>
		<description>Everything about software playing of video on your computer. Video and audio codecs problems. CD-ROM and DVD-ROM questions. Also computer Tv-Out questions here.</description>
		<language>en</language>
		<lastBuildDate>Mon, 11 May 2026 02:46:23 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>https://forum.videohelp.com/images/misc/rss.png</url>
			<title>VideoHelp Forum - Software Playing</title>
			<link>https://forum.videohelp.com/</link>
		</image>
		<item>
			<title>EdgeWeave Sharpening shader for PotPlayer and others Media Players</title>
			<link>https://forum.videohelp.com/threads/420471-EdgeWeave-Sharpening-shader-for-PotPlayer-and-others-Media-Players?goto=newpost</link>
			<pubDate>Thu, 30 Apr 2026 05:14:41 GMT</pubDate>
			<description>Hey guys, i’ve been messing around with a shader and i tought to share it with you, it’s a sharpening filter but not in the usual sense where you just crank contrast on edges and call it a day. 
 
This one behaves a bit differently: Instead of uniformly pushing sharpness everywhere it tries to...</description>
			<content:encoded><![CDATA[<div>Hey guys, i’ve been messing around with a shader and i tought to share it with you, it’s a sharpening filter but not in the usual sense where you just crank contrast on edges and call it a day.<br />
<br />
This one behaves a bit differently: Instead of uniformly pushing sharpness everywhere it tries to figure out where there is actually meaningful structure in the image and only really reacts there, flat areas and noisy regions get mostly left alone so it avoids that typical “overcooked” look you get from classic sharpeners.<br />
<br />
What you end up with this is something that doesn’t scream “sharpened” in an obvious way, it’s more like the image becomes easier to read, lines feel more defined, textures a bit more coherent but without the halos, ringing or that inflated edge look that usually shows up when sharpening is pushed too far.<br />
It behaves more like selective reconstruction than raw contrast boosting.<br />
<br />
Under the hood it’s still pretty classic stuff: small neighborhood sampling, luminance extraction, a Sobel-like gradient to estimate edge strength and then a kind of local blur baseline to figure out what counts as detail versus noise, the key idea is that sharpening only gets applied when the local structure actually supports it and even then it still constrained with a local clamp so it doesn’t blow out into artifacts, each frame is treated completely independently.<br />
<br />
Compared to traditional sharpening filters like CAS or unsharp masking, the difference is basically philosophy, those tend to apply a fairly uniform high-frequency boost regardless of context while this is more conditional and selective, it’s less about pushing sharpness everywhere and more about deciding where sharpening actually makes sense.<br />
<br />
In practice that means it behaves differently depending on content. <b>Anime tends to get cleaner line definition without thickening edges too much, film content stays more stable without exaggerated grain or halos, and compressed video benefits from a bit more clarity without turning artifacts into the main feature of the image.</b> It’s not trying to invent detail or reconstruct missing information, it just tries to make what’s already there in a better readable way.<br />
<br />
There are still limits of course. It doesn’t recover lost detail, it doesn’t understand motion and on very low resolution sources it can start to feel less precise if pushed too hard but within a reasonable range it tends to stay stable and fairly forgiving compared to more aggressive sharpeners.<br />
<br />
In most cases it works best after scaling (post-resize) once the image has already been resized by the renderer because that’s where it can operate on the final pixel grid and avoid interacting weirdly with interpolation. Pre-resize usage is possible but more situational and depends a lot on the scaling method and source quality.<br />
<br />
Overall it sits in a slightly different space than classic sharpening filters. It’s less about making things look sharper in an obvious way and more about improving perceived structure without breaking the image apart.<br />
<br />
Slam the txt file you find here : <br />
<a class="contentlink" href="https://github.com/aston89/EdgeWeave-Sharpening-shader-for-PotPlayer" target="_blank" rel="nofollow">https://github.com/aston89/EdgeWeave-Sharpening-shader-for-PotPlayer</a><br />
<br />
into the <a class="contentlink" href="https://www.videohelp.com/software/PotPlayer" target="_blank" rel="nofollow">potplayer</a> folder (px-shader) <br />
<br />
swap the extension of the file from &quot;.txt&quot; into &quot;.hlsl&quot; and you are ready to use this in <a class="contentlink" href="https://www.videohelp.com/software/Media-Player-Classic-Home-Cinema" target="_blank" rel="nofollow">mpc-hc</a> or <a class="contentlink" href="https://www.videohelp.com/software/MPC-BE" target="_blank" rel="nofollow">mpc-be</a> and <a class="contentlink" href="https://www.videohelp.com/software/KMPlayer" target="_blank" rel="nofollow">kmplayer</a> of course (plus, every media player wich support pixel shaders)</div>

 ]]></content:encoded>
			<category domain="https://forum.videohelp.com/forums/13-Software-Playing">Software Playing</category>
			<dc:creator>Baudelare</dc:creator>
			<guid isPermaLink="true">https://forum.videohelp.com/threads/420471-EdgeWeave-Sharpening-shader-for-PotPlayer-and-others-Media-Players</guid>
		</item>
		<item>
			<title>HDR to SDR perceptual remapping shader for potplayer and other players</title>
			<link>https://forum.videohelp.com/threads/420470-HDR-to-SDR-perceptual-remapping-shader-for-potplayer-and-other-players?goto=newpost</link>
			<pubDate>Thu, 30 Apr 2026 02:26:00 GMT</pubDate>
			<description>Hi everyone, the idea behind this shader is pretty simple: 
I got tired of constantly tweaking sliders every time i played HDR content on an SDR screen and ending up with something that always felt a bit off, too dark, washed out or with colors pushed way too far so instead of chasing metadata...</description>
			<content:encoded><![CDATA[<div>Hi everyone, the idea behind this shader is pretty simple:<br />
I got tired of constantly tweaking sliders every time i played HDR content on an SDR screen and ending up with something that always felt a bit off, too dark, washed out or with colors pushed way too far so instead of chasing metadata flags or &quot;official&quot; modes, I tried a different approach and built something that just looks at the image and remaps it in a more human way.<br />
<br />
What it does in practice is take whatever the player is already feeding to the screen and reshapes the luminance distribution while keeping colors where they’re supposed to be.<br />
Dark areas stay readable without turning gray, highlights don’t blow out and colors don’t go neon.<br />
It’s not a technically correct HDR conversion into SDR (wich is impossible in a lot of curcumstances), it’s more of a consistent reinterpretation that just works, without needing to hunt for the perfect combo of checkboxes (im looking at you &quot;nits&quot; slider and &quot;method&quot;).<br />
<br />
The nice part is that you just drop it in and forget about it, no profiles, no presets, no constant “by eye” calibration. <br />
It’s probably not perfect in an academic sense but in real-world use it’s way more stable and predictable than what the player gives you out of the box.<br />
<br />
<br />
If you’re curious about what’s going on under the hood, there’s a full README but the whole point is that you shouldn’t really need it. <br />
<br />
quick notes : <br />
Before using this shader, disable the two checkboxes inside &quot;video/pixel_shaders&quot; of <a class="contentlink" href="https://www.videohelp.com/software/PotPlayer" target="_blank" rel="nofollow">potplayer</a> settings menu that have &quot;SMPTE&quot; words in it.<br />
Use this shader as a &quot;pre-resize&quot; to avoid problems.<br />
You can decide the &quot;order of execution&quot; inside &quot;pre-resize&quot; by just changing the name of the shader into &quot;AAA_hdr_to_sdr.txt&quot; so it will get processed first or just use the &quot;stack...&quot; button to decide the order you want, personally i would process this shader first before anyelse shader. <br />
It's written in HLSL language but for <a class="contentlink" href="https://www.videohelp.com/software/Media-Player-Classic" target="_blank" rel="nofollow">MPC</a> (and forked version with similar name) you have to change the extension from &quot;.txt&quot; into &quot;.hlsl&quot;, should also works with <a class="contentlink" href="https://www.videohelp.com/software/KMPlayer" target="_blank" rel="nofollow">KMPlayer</a> and almost every player wich support pixel shader.<br />
It's recomended to use D3D11 video renderer (wich support also rtx super resolution and lot of other features)<br />
<br />
Here's the link for the Github repo: <br />
<a class="contentlink" href="https://github.com/aston89/HDR-to-SDR-Perceptual-remapper-shader-for-PotPlayer" target="_blank" rel="nofollow">https://github.com/aston89/HDR-to-SDR-Perceptual-remapper-shader-for-PotPlayer</a><br />
<br />
p.s. works wonder in conjunction with smart vibrance shader wich you can find here :<br />
<a class="contentlink" href="https://github.com/aston89/Smart-Vibrance-for-PotPlayer" target="_blank" rel="nofollow">https://github.com/aston89/Smart-Vibrance-for-PotPlayer</a></div>

 ]]></content:encoded>
			<category domain="https://forum.videohelp.com/forums/13-Software-Playing">Software Playing</category>
			<dc:creator>Baudelare</dc:creator>
			<guid isPermaLink="true">https://forum.videohelp.com/threads/420470-HDR-to-SDR-perceptual-remapping-shader-for-potplayer-and-other-players</guid>
		</item>
	</channel>
</rss>
