<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[SmoothVideo Project — Request support for YUV444P8/P10/P16 format]]></title>
		<link>https://www.svp-team.com/forum/viewtopic.php?id=6582</link>
		<atom:link href="https://www.svp-team.com/forum/extern.php?action=feed&amp;tid=6582&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Request support for YUV444P8/P10/P16 format.]]></description>
		<lastBuildDate>Thu, 29 Sep 2022 00:06:09 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80997#p80997</link>
			<description><![CDATA[<p>There is hope for a better output format:</p><p><a href="https://www.svp-team.com/forum/viewtopic.php?id=6281&amp;p=12">https://www.svp-team.com/forum/viewtopi … 1&amp;p=12</a></p><p><img src="https://www.svp-team.com/forum/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (UHD)]]></author>
			<pubDate>Thu, 29 Sep 2022 00:06:09 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80997#p80997</guid>
		</item>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80299#p80299</link>
			<description><![CDATA[<div class="quotebox"><cite>UHD wrote:</cite><blockquote><p>Thank you for your comprehensive reply. I did not understand everything, but for me personally this passage was the most important:<br />Did I understand correctly that you want to watch 4K UHD HDR video (10bit) interpolated with RIFE? <br />As I understood it correctly, such a conversion, would give better quality and resolution than interpolating the same material from a 1080p YUV420 source, part of whose information is encoded in 540p anyway. </p><p>By converting from 4K UHD HDR video (10bit) you want to preserve 1080p throughout the chain?</p></blockquote></div><p>I have some videos in YUV444P10 format and I want to keep the UV plane resolution, so I want SVP to support YUV444 format.<br />On the other hand, it is hard to realistically use RIFE for 4K video in a few years. Scaling 4K video to 1080P is a trade-off.</p><br /><br /><div class="quotebox"><cite>UHD wrote:</cite><blockquote><p>By the way, can RIFE interpolate 10 bit video? 32 bit&nbsp; RGB means 8 bits each of red, green, blue, and alpha...</p></blockquote></div><p>The RGBS format in VapourSynth is 32bits floating point per channel. It is 32bits(R) + 32bits(G) + 32bits(B), without alpha channel.<br />The 8bits per channel integer format in VapourSynth is called RGB24. 8bits(R) + 8bits(G) + 8bits(B)</p><p>List of formats supported by VapourSynth: <br /><a href="http://www.vapoursynth.com/doc/pythonreference.html?highlight=rgbs#video-format-constants">http://www.vapoursynth.com/doc/pythonre … -constants</a><br />List of formats supported by AviSynth:<br /><a href="http://avisynth.nl/index.php/Avisynthplus_color_formats">http://avisynth.nl/index.php/Avisynthplus_color_formats</a></p><br /><br /><div class="quotebox"><cite>UHD wrote:</cite><blockquote><p>Filmscans (RGB) → Blu-ray (YUV420) → RIFE (RGB) → VapourSynth (YUV420 now) → Monitor/TV (RGB)<br />... and any conversion to YUV420 is a loss of half the resolution in terms of colour...</p></blockquote></div><p>Master Tape (YUV422) → Blu-ray (YUV420) → RIFE (RGBS) → <span style="color: red">SmoothFps_RIFE</span> (YUV420 <strong>now</strong>) → Monitor/TV (RGB)</p>]]></description>
			<author><![CDATA[null@example.com (blackmickey1007)]]></author>
			<pubDate>Sat, 23 Apr 2022 02:41:54 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80299#p80299</guid>
		</item>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80298#p80298</link>
			<description><![CDATA[<p>Filmscans (RGB) → Blu-ray (YUV420) → RIFE (RGB) → VapourSynth (YUV<strong>420 now)</strong> → Monitor/TV (RGB) <img src="https://www.svp-team.com/forum/img/smilies/roll.png" width="15" height="15" alt="roll" /></p><p>... and any conversion to YUV420 is a loss of half the resolution in terms of colour... <img src="https://www.svp-team.com/forum/img/smilies/sad.png" width="15" height="15" alt="sad" /></p>]]></description>
			<author><![CDATA[null@example.com (UHD)]]></author>
			<pubDate>Fri, 22 Apr 2022 22:53:19 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80298#p80298</guid>
		</item>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80295#p80295</link>
			<description><![CDATA[<p>By the way, can RIFE interpolate 10 bit video? 32 bit&nbsp; RGB means 8 bits each of red, green, blue, and alpha...</p>]]></description>
			<author><![CDATA[null@example.com (UHD)]]></author>
			<pubDate>Fri, 22 Apr 2022 19:54:53 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80295#p80295</guid>
		</item>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80293#p80293</link>
			<description><![CDATA[<p>Thank you for your comprehensive reply. I did not understand everything, but for me personally this passage was the most important:</p><div class="quotebox"><cite>blackmickey1007 wrote:</cite><blockquote><p>RIFE only supports RGB format, but VapourSynth Filter does not support RGB format output, so you must convert RGB format to YUV format.</p></blockquote></div><p>Did I understand correctly that you want to watch 4K UHD HDR video (10bit) interpolated with RIFE? </p><p>As I understood it correctly, such a conversion, would give better quality and resolution than interpolating the same material from a 1080p YUV420 source, part of whose information is encoded in 540p anyway. </p><p>By converting from 4K UHD HDR video (10bit) you want to preserve 1080p throughout the chain?</p>]]></description>
			<author><![CDATA[null@example.com (UHD)]]></author>
			<pubDate>Fri, 22 Apr 2022 19:43:52 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80293#p80293</guid>
		</item>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80292#p80292</link>
			<description><![CDATA[<p>That looks like the difference is caused by using the wrong function for color space conversion.<br />For example:<br />YUV --(BT.709 conversion) --&gt; RGB --(BT.601 conversion) --&gt; YUV</p><p>This can be checked using the following script.</p><div class="codebox"><pre><code>import vapoursynth as vs
import statistics
core = vs.core
core.num_threads = 4

input_clip = VpsFilterSource
input_YUV = input_clip.resize.Point(format=vs.YUV420P16)

clip_RGB = input_YUV.resize.Point(format=vs.RGBS, matrix_in_s=&quot;709&quot;)
clip_YUV = clip_RGB.resize.Point(format=vs.YUV420P16, matrix_s=&quot;709&quot;)


# expr: x - y
# Y Plane
expr = &#039;x y - &#039;.format(neutral=1 &lt;&lt; (input_YUV.format.bits_per_sample - 1))
Diff = core.std.Expr([input_YUV, clip_YUV], [0])
Diff = core.std.PlaneStats(Diff)

# Show the difference value (PlaneStatus - Y Plane)
# If the value is 0, it means it is exactly the same, non-zero means there is a difference.
clip_YUV = core.std.CopyFrameProps(clip_YUV, Diff)
clip_YUV = core.text.FrameProps(clip_YUV)
clip_YUV.set_output()</code></pre></div><p><span class="postimg"><img src="https://i.imgur.com/QF3Es1Z.png" alt="https://i.imgur.com/QF3Es1Z.png" /></span></p><br /><p>Incorrect conversion<br /></p><div class="codebox"><pre><code>clip_RGB = input_YUV.resize.Point(format=vs.RGBS, matrix_in_s=&quot;709&quot;)
clip_YUV = clip_RGB.resize.Point(format=vs.YUV420P16, matrix_s=&quot;470bg&quot;)</code></pre></div><p><span class="postimg"><img src="https://i.imgur.com/6z3oLGF.png" alt="https://i.imgur.com/6z3oLGF.png" /></span></p><br /><p>Accuracy error (from floating to integer conversion process)<br /></p><div class="codebox"><pre><code>clip_RGB = input_YUV.resize.Point(format=vs.RGB24, matrix_in_s=&quot;709&quot;)
clip_YUV = clip_RGB.resize.Point(format=vs.YUV420P16, matrix_s=&quot;709&quot;)</code></pre></div><p><span class="postimg"><img src="https://i.imgur.com/tazoNcb.png" alt="https://i.imgur.com/tazoNcb.png" /></span></p><br /><p>My request is for the video resolution, not the color space.<br />The common video format is YUV420, which has three planes, Y-plane, U-plane, and V-plane, where the length and width of UV-plane is only half of Y-plane.<br />In 2160P YUV420 video, the resolution of Y-plane is 2160P, U-plane is 1080P, and V-plane is 1080P.</p><p>YUV444 format has the same resolution for Y-plane, U-plane, and V-plane.<br />RGB format, there are three planes, R plane, G plane and B plane, all three planes have the same resolution.</p><p>RIFE only supports RGB format, but VapourSynth Filter does not support RGB format output, so you must convert RGB format to YUV format.<br />If you convert from RGB to YUV420 format, the information of UV plane will be lost.<br />If you want to keep the full resolution, you should convert to YUV444 format.</p><br /><div class="codebox"><pre><code>NOW
             4K HDR Video ---&gt; scale(power saving) ---&gt; RGBS Convert(RIFE) ---&gt; YUV444P10 Convert(Output)
Format:        YUV420                YUV444                   RGBS                  YUV420
Y or R:         2160p                 1080p                  1080p                   1080p
U or G:         1080p                 1080p                  1080p                    540p    
V or B:         1080p                 1080p                  1080p                    540p
Depth:          10bit                 10bit                  32bit                   10bit


Wanted
             4K HDR Video ---&gt; scale(power saving) ---&gt; RGBS Convert(RIFE) ---&gt; YUV444P10 Convert(Output)
Format:        YUV420                YUV444                   RGBS                  YUV444
Y or R:         2160p                 1080p                  1080p                   1080p
U or G:         1080p                 1080p                  1080p                   1080p    
V or B:         1080p                 1080p                  1080p                   1080p
Depth:          10bit                 10bit                  32bit                   10bit</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (blackmickey1007)]]></author>
			<pubDate>Fri, 22 Apr 2022 18:59:48 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80292#p80292</guid>
		</item>
		<item>
			<title><![CDATA[Re: Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80290#p80290</link>
			<description><![CDATA[<p><strong>blackmickey1007</strong>, could you explain to me how exactly this works with RIFE?</p><p>I found this: <a href="https://github.com/n00mkrad/flowframes/issues/123">https://github.com/n00mkrad/flowframes/issues/123</a> and I think this is the same thing you write about.</p><p>I&#039;ll try to describe how I understand it, and you can correct me if I&#039;m wrong somewhere:</p><br /><p><span class="bbu"><strong>Real-time interpolation</strong></span>:</p><p>Step 1: RIFE converts all original frames from YUV420 to RGBS - lossless conversion for colours.</p><p>Step 2: RIFE adds the interpolated frames - no effect on colours.</p><p>Step 3... and here I have doubts. Encoder for example FFmpeg converts all original and these interpolated frames from RGBS to YUV420 and here is an obvious loss of information about colours.</p><p>...but how is it with <span class="bbu"><strong>real-time interpolation</strong></span>? After all, it is standard for a PC to send an image in RGBS format to the monitor from a word processor, for example, so that we have clear black text on a white background without colour artefacts.</p><p>Can&#039;t RIFE, or rather VapourSynth (ncnn Vulkan) send frames in RGBS format directly to the monitor? I&#039;m not familiar with coding, so I don&#039;t understand everything about the RIFE filter for VapourSynth (ncnn Vulkan) code: <a href="https://github.com/HomeOfVapourSynthEvolution/VapourSynth-RIFE-ncnn-Vulkan">https://github.com/HomeOfVapourSynthEvo … cnn-Vulkan</a></p><p>I know that later information from this filter is captured by SVP and passed to mpv. Is it there that some other conversion happens that affects the colour change?</p><p><strong>My desire to use RIFE for <span class="bbu">real-time interpolatio</span>n rather than encoding comes from the fact that I would like to <span style="color: red">retain as much information from the original video as possible</span>, including colour information.</strong> </p><p>I see that you have a lot of knowledge about colour conversion and maybe you can explain to me <strong>what is needed and at what stage</strong> to enjoy the interpolation quality of the RIFE filter for VapourSynth (ncnn Vulkan) in real time without losing the original colour information?</p>]]></description>
			<author><![CDATA[null@example.com (UHD)]]></author>
			<pubDate>Fri, 22 Apr 2022 16:04:00 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80290#p80290</guid>
		</item>
		<item>
			<title><![CDATA[Request support for YUV444P8/P10/P16 format]]></title>
			<link>https://www.svp-team.com/forum/viewtopic.php?pid=80289#p80289</link>
			<description><![CDATA[<p>Request support for YUV444P8/P10/P16 format</p><p>AviSynth Filter recently supports YUV444P10/P16 format, and I hope SVP will follow suit. <br /><a href="https://github.com/CrendKing/avisynth_filter/actions/runs/2189374110">https://github.com/CrendKing/avisynth_f … 2189374110</a></p><p>If SVP can support YUV444P10 format, when playing 4K UHD HDR video, it can convert from 4K YUV420P10 to 1080P YUV444P10 and keep the resolution of UV plane.<br />The RIFE filter can also convert from RGBS to YUV444 instead of YUV420, keeping the resolution of the UV plane. (SmoothFps_RIFE)</p>]]></description>
			<author><![CDATA[null@example.com (blackmickey1007)]]></author>
			<pubDate>Fri, 22 Apr 2022 14:34:54 +0000</pubDate>
			<guid>https://www.svp-team.com/forum/viewtopic.php?pid=80289#p80289</guid>
		</item>
	</channel>
</rss>
