VideoHelp Forum
+ Reply to Thread
Results 1 to 3 of 3
Thread
  1. Member
    Join Date
    Jan 2017
    Location
    N. America
    Search Comp PM
    I'm a complete newb when it comes to colorspaces, so answering any of the questions below would be of immense help to me.

    1a) Is it true that ffdshow's raw video filters (more specifically the Resize & Aspect, Denoise3D, and Deband filters) only work in the YV12 colorspace? Or does it support YUY2 as well? Playing a video and then activating the EVR-CP stats page (shown by pressing Ctrl+J in MPC-BE/HC) shows that mixing is done in YUY2, but look at this:

    The HQDN3D (aka Denoise3D) README page here ( http://akuvian.org/src/avisynth/hqdn3d/hqdn3d.txt ) says that the 0.11 version only works in YV12.

    1b) What about the Avisynth filter? What colorspace does it work in?

    2a) Does RGB Conversion in ffdshow happen before all the other filters or does it happen last?

    2b) In the RGB Conversion menu, do the Dithering and "High-Quality YV12 to RGB Conversion" options only apply to YV12?

    According to the documentation here: ( http://ffdshow-tryout.sourceforge.net/wiki/video:rgb_conversion#method ), Dithering also works on YCbCr colorspaces. Does this mean that "High-Quality YV12 to RGB Conversion" works with YUV2? Note that the Dithering option can only be enabled when the "High-Quality YV12 to RGB Conversion" box is checked.

    2c) Does Dithering only work when converting from YCbCr to RGB24/32? What about RGB64? Is it redundant to have the Deband filter turned on when the LAV Video Decoder is outputting YUY2 (see question 2b above)?

    3) When outputting to YUY2 solely in the LAV Video Decoder, does any kind of dithering happen? Is there any way I can turn this off, so that ffdshow's raw video filter can take care of dithering instead?

    4) Does ffdshow's raw video filter support all of the colorspaces supported by the LAV Video filter? If not, would anything bad happen to the video's colorspace? Would you recommend that I should just output YV12/YUY2 from LAV and then convert that to RGB32 in ffdshow?

    Thanks!
    Last edited by Cuddlefish; 4th Mar 2017 at 15:32. Reason: Misspelling.
    Quote Quote  
  2. 1a. In their stand-alone form, some Avisynth plugins support more than one colour space, while some are YV12 only, and you'd hope if a ffdshow filter supports YUY2 it'll be processed without converting it, but I don't know for sure if that's what ffdshow always does. The ffdshow Avisynth filter accepts YV12, YUY2 or RGB, but try typing Info() into the Avisynth filter, enable it and have a play, assuming you have Avisynth installed.

    I experimented a little with an Avisynth script outputting YUY2 by opening the script with MPC-HC and using ffdshow to process the uncompressed output. I moved ffdshow's Avisynth filter down to the bottom of the filter list, enabled it and typed Info() into the text section. That get's Avisynth to display the colour space of the source, or in this case it'd be the colour space making it to the ffdshow Avisynth filter.
    With only the Avisynth filter enabled and displaying Info(), Avisynth was reporting YUY2. After enabling the WarSharp filter nothing changed, but after switching to the awarpsharp version, Avisynth changed to displaying YV12, so I'll go out on a limb and say ffdshow's warpsharp supports YUY2 but the awarpsharp option does not.
    ffdshow seems to output whatever it can without unnecessarily converting. For the first example it was outputting YUY2. With awarpsharp selected the output was YV12 even though the source was YUY2. If the ffdshow icon appears while it's running, hovering with the mouse displays a tooltip telling you the input and output type.

    If you want to try all that I'd recommend re-opening the video with Ctrl+E after making changes to ffdshow that might effect the colour space or the output might be borked. Probably because AVIsynth doesn't expect the colour space to change.

    1b. Avisynth plugins support various colour spaces. Same are YV12 only. If you try to use a plugin with an unsupported source type you'll usually see an error message and you'll have to use convert to keep it happy. http://avisynth.nl/index.php/Convert

    2a. RGB conversion happens last but the output is only RGB if you disable the other candidates or a player requires it for some reason. Generally the output is an uncompressed version of the source type.

    2b. I'd imagine it applies to YUY2 to RGB conversions, but it's a little ambiguous.

    2c. The ffdshow debanding filter is probably designed to reducing banding already present in a video, while dithering when converting to RGB is to prevent the conversion causing banding. LAV only dithers when converting to RGB anyway, as far as I know, and usually it won't be doing so.

    3. I doubt it. I assume it'd only dither when converting to RGB.

    I'm not sure I'd necessarily convert to RGB in ffdshow either. Why not leave all the output options checked and let the renderer worry about converting to RGB? It's probably not going to make a huge difference either way, but EVR probably has a dither when converting to RGB, although I don't know for sure. Are you having banding issues?
    Quote Quote  
  3. Member
    Join Date
    Jan 2017
    Location
    N. America
    Search Comp PM
    I know that the conversion to RGB32 isn't a huge deal, but faithful color reproduction is the main reason why I bought a wide gamut display and a colorimeter to calibrate it with, and is also the main reason why I'm using MPC-BE in the first place: It was the only player (besides MPC-HC) with built-in color management, while all the other media players I used were showing oversaturated colors. I did see a noticeable difference in color with ffdshow outputting RGB32 versus leaving it alone and letting EVR-CP do the conversion. I also read from here ( https://forum.doom9.org/showthread.php?t=143330 ) that doing the conversion within the renderer, and not through ffdshow's software-based conversion, could introduce errors into the accurate reproduction of colors, which I really don't want. Plus, the options within MPC-BE under Video aren't as configurable, so there's also that.

    OTOH, I'm not entirely sure if the posts there are still valid. The thread itself was made in 2008 and might as well be outdated, but ffdshow hasn't been updated much since then, so I'm still thinking that the information there may still be valid. If not, at least ffdshow's still doing the conversion (in high-quality).

    And yeah, for some reason I had the luma, chroma, and time in Denoise3D all set to the maximum values of 20, which uh, definitely introduced some very noticeable banding issues. Lowered it to what I had before (luma at 0.0, chroma at 2.0, and time back at 5.0). Now that's it back to normal, I have the Debanding filter turned off (chroma is at 2.0 though, which could still introduce slight banding, but maybe the dither added to the conversion to RGB32 in ffdshow might be able to cover it?). Honestly, I'm not really sure what happened there. I might have been compressing a video...?

    By the way, I think I may know what the "High-Quality YV12 to RGB Conversion" option in ffdshow really means: In Potplayer, there's a similarly-named option under Video>Colorspaces called "High quality YUY2/RGB24/RGB32 conversion", maybe that's what ffdshow meant by YV12 and the YCbCr colorspaces? But then again, this was an option inside Potplayer, so I can't say for sure. It does have options similar to those used in ffdshow, MPC-HC, and LAV filters... can't say for absolute certain, though.

    But thanks for all the info, I appreciate it.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!