Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#201 | Link |
Registered User
Join Date: Dec 2016
Posts: 6
|
Hi there,
When I was testing if fmtconv could make transforms from 709 content to ciexyz content, I may have encountered a possible bug. I either get a segmentation fault or completely black output when converting 709 primaries to ciexyz primaries. Code:
import vapoursynth as vs core = vs.get_core() core.std.LoadPlugin(path=r'/usr/local/lib/vapoursynth/libimwri.so') clip = core.ffms2.Source(r'/home/andy/Sample.mkv') clip = core.std.Trim(clip, 2300, 2300) clip = core.fmtc.bitdepth(clip, bits=32, dmode=6) clip = core.fmtc.matrix(clip, mats='709', matd='RGB', col_fam=vs.RGB, bits=32) clip = core.fmtc.transfer(clip, transs='709', transd='linear', bits=32) clip = core.fmtc.primaries(clip, prims='709', primd='ciexyz') clip = core.fmtc.transfer(clip, transs='linear', transd='2084', cont=1000/10000, bits=32) clip = core.imwrif.Write(clip, 'EXR', 'image%04d.exr', firstnum=0) clip.set_output() |
![]() |
![]() |
![]() |
#202 | Link |
Registered User
Join Date: Apr 2012
Location: Edmonton
Posts: 9
|
HLG transfer function support
Any plans to add HLG transfer function support in an upcoming release? By my reading of the documentation, I can't see anything referencing ARIB-STD-B67 (Hybrid Log Gamma, HLG) EOTF.
Would love to have it, Technicolor guys gave me an asset in HLG and I'm hoping to use fmtconv to do the conversion to HDR10 to feed into my currently limited STB client - the broadcom chipset doesn't support HLG afaik. |
![]() |
![]() |
![]() |
#203 | Link | |
Cary Knoop
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 397
|
Quote:
Last edited by Cary Knoop; 21st February 2017 at 09:47. |
|
![]() |
![]() |
![]() |
#204 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,497
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
![]() |
![]() |
![]() |
#205 | Link |
Registered User
Join Date: Apr 2012
Location: Edmonton
Posts: 9
|
Ahh yes... took a look at this though and while I'm still using R32 (and probably need to upgrade to VS R36) just want to be sure that upgrading will address the fact that R32 doesn't seem to like the "transfer_s" parameter...? Right now I can't get it working due to specifying the transfer output function as a string, seeing as I don't know the enumerated value for st2084.
|
![]() |
![]() |
![]() |
#206 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,497
|
It wasn't implemented back then
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#208 | Link | |
Cary Knoop
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 397
|
Quote:
Also when I use the bits parameter in transfer() from '709' to 'linear' I get: matrix: output bitdepth not supported. |
|
![]() |
![]() |
![]() |
#210 | Link |
Registered User
Join Date: Dec 2016
Posts: 6
|
Also, could SMPTE ST 2085 matrix conversion and ICtCp matrix conversion be implemented? They are supported in the latest version of HEVC, and used for HDR content. SMPTE ST 2085 is used with CIEXYZ primaries, while ICtCp can be used with any primaries.
Thanks! |
![]() |
![]() |
![]() |
#211 | Link |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
The VS builtin resizer (zimg) has support for ICtCp being worked on as of right now. You should probably consider porting existing code to zimg as well; it's pretty much just flat out better than fmtconv, and it's in active development (unlike fmtconv which hasn't had any activity at all in the last year). It also has more contributors and users than fmtconv since it's a general-purpose C/C++ library and not tied to a filtering framework like VS or Avisynth. It's available in ffmpeg via libavfilter's vf_zscale, for example.
I don't think there are any features fmtconv has that the internal resizer (that is zimg) lacks, anymore. If there are, submit a feature request. http://www.vapoursynth.com/doc/functions/resize.html Last edited by TheFluff; 17th March 2017 at 23:31. |
![]() |
![]() |
![]() |
#212 | Link | |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 6,959
|
Quote:
How to handle interlaced content? (In fmtconv there is interlaced&interlacedd. Do the resizers automatically handle and keep the interlacing state the source is in?) Whether there are more resizers available than Bilinear/Bicubic/Point/Lanczos/Spline16/Spline36 through zimg? (fmtconv has point/box/bilinear/cubic/bicubic/lanczos/blackman/blackmanminlobe/spline16/spline36/spline64/spline/gauss/sinc ) |
|
![]() |
![]() |
![]() |
#213 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
No. None of the extra ones are all that useful anyway. |
|
![]() |
![]() |
![]() |
#214 | Link | |
Registered User
Join Date: Jan 2016
Posts: 156
|
Quote:
|
|
![]() |
![]() |
![]() |
#215 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
Blackman is a bad windowed sinc; use lanczos instead. |
|
![]() |
![]() |
![]() |
#216 | Link | |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Quote:
a. it works with any radius (using the "taps" parameter) b. it does not require you to manually calculate the coefficient matrix, you could simply control the filtering strength using the "p" parameter. Last edited by feisty2; 18th March 2017 at 16:47. |
|
![]() |
![]() |
![]() |
#217 | Link | |
Registered User
Join Date: Jan 2016
Posts: 156
|
Quote:
Another example is feisty2's Vine/Plum. Last edited by WolframRhodium; 18th March 2017 at 16:52. |
|
![]() |
![]() |
![]() |
#218 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
|
|
![]() |
![]() |
![]() |
#219 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
gaussresize is already highly optimized as a part of the resample function in fmtc, I could write a Gaussian filter any day of the week but I'm NOT a professional programmer, so that's gonna be a lot worse (performance-wise) than the existing gaussresize approach anyways, and I'm definitely not wasting my time just to mess with stupid things like that.
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|