VideoHelp Forum

Try DVDFab and download streaming video, copy, convert or make Blu-rays,DVDs! Download free trial !
+ Reply to Thread
Results 1 to 7 of 7
Thread
  1. I have a DVD I am scaling and the DVD is rec.601 if I am not mistaken. The problem here is that even if I flag the video as rec.601 in h.264 settings, it still plays back with incorrect colors. I believe the flag is being ignored by the player and it is deciding to choose the colorspace based on resolution.

    I am attempting to adjust the colorspace with this and no clamping
    Code:
    ColorMatrix(hints=true, mode="rec.601->rec.709", clamp=0, threads=0)
    It works, but I am noticing a nasty side effect I am not liking. It's adding in artifacts everywhere over the video.
    https://slowpics.org/comparison/0f48a42e-c1b4-484b-9338-c628391d8535

    This does not happen if I use RGB, but I need to keep it in YV12 for TV playback I believe. My encoder even tries to tell me to make it YV12 when adding to queue.
    Code:
    ConvertToRGB(matrix="rec709")

    Is there any alternative method of conversion out there via avisynth usage? Is there a problem if it is adding in artifacts like this?
    Last edited by killerteengohan; 8th Sep 2019 at 08:31.
    Quote Quote  
  2. why clamp=0, wouldn't clamp=1 no be the saver way to go?
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  3. Originally Posted by Selur View Post
    why clamp=0, wouldn't clamp=1 no be the saver way to go?
    If you have pixels that are out of legal range, and if your dead set on every pixel being within legal range, I suppose it would be.

    I do not like to clamp anything, unless it's necessary due to levels being out of legal YUV values.
    Quote Quote  
  4. Your source video isn't interlaced, right? (in case it is, make sure to set interlaced=true)
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  5. Your telling me things I already know. Thanks, but what I am looking for is an answer to my original question.
    Quote Quote  
  6. Just wanted to make sure you didn't make some common mistake since you didn't share much info.
    A single line which uses hints=true suggest you use MPEG2Source as Source filter, but it doesn't really say whether:
    a. your source really is Rec.601
    b. whether you it's interlaced, telecine, mixed, whatever..
    -> No problem, I shut up and whish you luck finding the cause of the problem.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  7. I don't know what artifacts you are referring to exactly but maybe try dither tools:
    Code:
    Dither_convert_8_to_16 ()
    Dither_resize16 (720, 480, csp="YV24") # change to the desired dimensions
    Dither_convert_yuv_to_rgb (matrix="601", output="rgb48y", lsb_in=true)
    r = SelectEvery (3, 0)
    g = SelectEvery (3, 1)
    b = SelectEvery (3, 2)
    Dither_convert_rgb_to_yuv (r, g, b, matrix="709", lsb=false, mode=0, output="YV12")

    ==

    Or HDRMatrix:
    Code:
    Matrix(from=601, to=709)
    ==
    Possibly the internal filters of AviSynth+ are also capable of producing better quality. I haven't evaluated this. I imagine something like:
    Code:
    ConvertBits(16)
    ConvertToRGB(matrix="Rec601")
    ConvertToYV12(matrix="Rec709")
    ConvertBits(8, dither=0)
    ==

    Note about screenshots: for display and often screenshot creation you convert from YUV to RGB. If you have YUV 601 and YUV 709 but use the very same conversion path to RGB they will look different. This doesn't necessarily mean your script or video encode are wrong because these usually don't involve that conversion.
    Quote Quote  



Similar Threads