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. |
3rd June 2018, 14:15 | #741 | Link |
Registered User
Join Date: May 2009
Location: Belgium
Posts: 1,743
|
I never did this but it's probably ConvertToRGBP10 ;
http://avisynth.nl/index.php/Avisynthplus_color_formats And maybe add matrix="Rec709". |
3rd June 2018, 15:18 | #743 | Link | |
Pajas Mentales...
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
|
Quote:
|
|
3rd June 2018, 15:31 | #744 | Link | |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Quote:
Tried with RT_Stats Make_Avisynth_BuiltIn_FunctionList.avs Got this (partial output below) Code:
AviSynth+_0.1_(r2693,_MT,_i386)_ORDERED_Function_List There follows a list of all function names together with CPP style argument specifiers that inform Avisynth the argument types and optional names. Optional arguments have square brackets surrounding their name as in [name] and are followed by a type specifier character that gives the type. Unnamed arguments are not optional. eg "cc[arg1]b[arg2]i" would be two compulsory unnamed clip args, followed by optional 'arg1' of type bool and optional 'arg2' of type int. # Argument type specifier strings. c - Video Clip i - Integer number f - Float number s - String b - boolean . - Any type (dot) # Array Specifiers i* - Integer Array, zero or more i+ - Integer Array, one or more .* - Any type Array, zero or more .+ - Any type Array, one or more # Etc ################################### BitsPerComponent "c" BuildPixelType "[family]s[bits]i[chroma]i[compat]b[oldnames]b[sample_clip]c" ColorSpaceNameToPixelType "s" CombinePlanes "cccc[planes]s[source_planes]s[pixel_type]s[sample_clip]c" ComponentSize "c" ConvertBackToYUY2 "c[matrix]s" ConvertBits "c[bits]i[truerange]b[dither]f[dither_bits]i[fulls]b[fulld]b" ConvertTo16bit "c[bits]i[truerange]b[dither]f[dither_bits]i[fulls]b[fulld]b" ConvertTo8bit "c[bits]i[truerange]b[dither]f[dither_bits]i[fulls]b[fulld]b" ConvertToFloat "c[bits]i[truerange]b[dither]f[dither_bits]i[fulls]b[fulld]b" ConvertToMono "c" ConvertToPlanarRGB "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToPlanarRGBA "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToRGB "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToRGB24 "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToRGB32 "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToRGB48 "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToRGB64 "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" ConvertToY "c[matrix]s" ConvertToY8 "c[matrix]s" ConvertToYUV411 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" ConvertToYUV420 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s[ChromaOutPlacement]s" ConvertToYUV422 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" ConvertToYUV444 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" ConvertToYUY2 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" ConvertToYV12 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s[ChromaOutPlacement]s" ConvertToYV16 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" ConvertToYV24 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" ConvertToYV411 "c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s" Is420 "c" Is422 "c" Is444 "c" IsFloatUvZeroBased "" IsPackedRGB "c" IsPlanar "c" IsPlanarRGB "c" IsPlanarRGBA "c" IsRGB "c" IsRGB24 "c" IsRGB32 "c" IsRGB48 "c" IsRGB64 "c" IsVideoFloat "c" IsY "c" IsY8 "c" IsYUV "c" IsYUVA "c" IsYUY2 "c" IsYV12 "c" IsYV16 "c" IsYV24 "c" IsYV411 "c" MergeARGB "cccc" MergeChroma "cc[chromaweight]f" MergeLuma "cc[lumaweight]f" MergeRGB "ccc[pixel_type]s" NumComponents "c" PixelType "c" PlaneToY "c[plane]s" RemoveAlphaPlane "c" ShowAlpha "c[pixel_type]s" ShowBlue "c[pixel_type]s" ShowGreen "c[pixel_type]s" ShowRed "c[pixel_type]s" ShowU "c[pixel_type]s" ShowV "c[pixel_type]s" ShowY "c[pixel_type]s" VToY "c" VToY8 "c" YToUV "cccc" YToUV "cccc" YToUV "cccc" Code:
ColorBars.Killaudio #ConvertToRGBP10(Matrix="rec709") # Fail #ConvertToPlanarRGB "c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s" #ConvertBits "c[bits]i[truerange]b[dither]f[dither_bits]i[fulls]b[fulld]b" ConvertToPlanarRGB() # Presumably dont need matrix here as from RGB ConvertBits(10) Info ConverttoRGB32 # for display EDIT: ConvertBits only works on Planar RGB, but OK on Planar YUV, eg YV12, produces ColorSpace: YUV420P10, BitsPerComponent: 10. EDIT: AviSynth+_0.1_(r2693_ORDERED_Function_List.TXT.7z (Does not included any updated builtin filter definitions for todays updated avs+). 7Zip file ~5KB, expanded ~ 22KB text file. http://www.mediafire.com/file/3ub7ld...on_List.TXT.7z EDIT: Have extended partial output of builtin function definitions earlier in this post, Its possible that I may have missed one or two out. EDIT: Only Single function definitions given in earlier text file, eg BlankClip has multiple alternate arg lists, but the RT_Stats script cannot output multiple, they all produce same result text (there was no way to parse multiples external to avs Standard, I assume this has not changed in avs+). EDIT: The ColorSpaceNameToPixelType() listed takes a colorspace name eg "RGBP10" and returns hex 0x90050001 [internal bit flags descriptor]. Perhaps some other missing definition (missing multiple definition) can take a PixelType and produce a clip, maybe eg BlankClip(PixelType) exists, dont know (or some clip conversion filter).
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 3rd June 2018 at 16:50. |
|
3rd June 2018, 17:25 | #745 | Link |
Guest
Posts: n/a
|
^ I appreciate your help and interest in this problem. With your script, I get an error message that says: "There is no function named ConvertToPlanarRGB()", which baffles me. When I call Version(), the correct AviSynth+ version is displayed: I'm using the one released today (r1576, x64).
|
3rd June 2018, 17:35 | #747 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
Just a matter of taste?
If I refer to a specific part of a quote, I crop the quote down to the relevant part. Or just mention "@ author". __ @ Richard1485: Still the "ancient" version from http://avs-plus.net/ ... no, this page seems to be abandoned since 2014. Last edited by LigH; 3rd June 2018 at 17:37. |
3rd June 2018, 17:39 | #748 | Link |
Guest
Posts: n/a
|
That's very strange, because I reinstalled it today. But you're right. It must be picking up an old version from somewhere. I'll try installing it again.
EDIT: Okay. The version information is now correct. (Thanks, LigH!) EDIT: Now there's a message about the conversion to RGB being possible only from an 8-bit source. It must be the call to ConvertToRGB32() at the end. EDIT: Well, if I remove the call to ConvertToRGB32(), the error message goes away, but VirtualDub2 chokes on the video because it "can't locate a decompressor for format "G3[0][10]" (unknown)". Last edited by Richard1485; 3rd June 2018 at 17:48. |
3rd June 2018, 18:50 | #749 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Ok. In latest avs+ _test_ build, see avs+ topic for r2696, I have made ConvertoRgb32 callable from any bitdepth, helping the previewing. When you removed the conversion, your clip is fed to vdub as planar 10 bit rgb fooucc code: G3[0][10] which is not handled by your system. You may do Convertbits(8).Converttorgb32 or Convertbits(16). Converttorgb64 if you are using avs+ r2664 (latest official). Latter needs Vdub2
|
3rd June 2018, 22:34 | #751 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
IMO, there's way too many* new pixel formats added to AviSynth+ to add explicit bridging functions for all of them to the core. A better place for them - if you really feel like you need direct shortcuts, rather than using the more generic functions added to AviSynth+ to handle this - would be to break them out into an AVSI file like the colors_rgb list is. Otherwise it's a lot of nearly-identical code copy-pasted over and over again with only minor changes, for each destination format.
*you can see them all listed in the AviSynth+ headers (link directs only to the new set, just scroll up a little for the 2.5/2.6 formats): https://github.com/AviSynth/AviSynth...synth_c.h#L146 That's 52 new pixel formats. And most of the internal bridges would just be invoking a combination of ConvertBits and ConvertTo[YUV***|PlanarRGB(A)], which like I said, is much easier to just break out into an AVSI: Code:
function ConvertToRGBP10(clip c) { ConvertToPlanarRGB(c) ConvertBits(10) } |
3rd June 2018, 22:57 | #753 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,419
|
Obviously, the optimal solution would be for a generic master ConvertToPixelFormat() (or just plain old ConvertTo(), but I figured the main one I suggest should be more explicit about what it does) function that can convert between YUV(A), Y, Planar/Packed RGB(A) and change bitdepth at the same time, either by the user selecting the bitdepth separately or by taking it from the dest format name. A master function like that wouldn't massively reduplicate code and, IMO, would be fine to include in the core*. For instance:
Code:
input() ConvertToPixelFormat("YUV420P16", extra_opts) Code:
input() ConvertToPixelFormat("YUV420", bit_depth=16, extra_opts) *and before anyone hits me with the 'AviSynth+ doesn't do implicit conversions' thing, filters shouldn't silently change the input format to do the processing. A master ConvertTo function is always an explicit conversion, so that criticism doesn't apply. |
4th June 2018, 10:35 | #755 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Then there is the z.lib resizer plugin, see z_ConvertFormat as a swiss-army knife.
Color-space, primaries, bit-depth, size conversion - all-in-one. https://forum.doom9.org/showthread.php?p=1784316 |
17th June 2018, 22:01 | #757 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
Decoding interlaced VC-1 was always a problem, not sure if it was ever completely fixed... can you provide samples? If it fails for "usual" progressive VC-1 as well, which worked with earlier versions, then there may be a regression in libavcodec?
|
17th June 2018, 22:15 | #758 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
Two samples:
https://drive.google.com/file/d/0Bwx...pHeW5wbjQ/view (interlaced) https://drive.google.com/file/d/0Bwx...RVVGNfeEU/view (progressive) (via https://kodi.wiki/view/Samples ) No problem with ffmpeg git. |
18th June 2018, 08:16 | #760 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
May be in combination with the container, correct demultiplexing and joining the contained video streams from interleaving segments. FFMS2 used to have issues with interlaced AVC in TS (may have been due to its early dependency on Haali). "Nobody is perfect"... and I know nothing about the details, there are only vague memories.
Quick test: Both L-SMASH Works r929 (20170224) Static in MeGUI and r941 (20180530) Shared fail the same way, already with the progressive source (VC-1_23.976_sample.mkv). FFMS 2.23-1 Static in MeGUI and FFMS2 (bonus) Shared decode it correctly. — Known as L-SMASH-Works issue #58. At least I hope that they got correctly assigned... Code:
ClearAutoloadDirs() LoadPlugin("E:\Programme\MeGUI\tools\lsmash\LSMASHSource.dll") LwLibavVideoSource("VC-1_23.976_sample.mkv") Code:
ClearAutoloadDirs() LoadPlugin("E:\Programme\AviSynth+\plugins\LSMASHSource.dll") LwLibavVideoSource("VC-1_23.976_sample.mkv") Last edited by LigH; 18th June 2018 at 08:34. |
Thread Tools | Search this Thread |
Display Modes | |
|
|