Posts: 13
Threads: 5
Joined: Feb 2021
Hello.
I have a problem with the vp9 encoder, mainly I use it. For some reason it suddenly started to reverse colors of output videos when I encode it with VPX and it doesn't matter if you are using vp8 or vp9. I used all default settings, except that I only changed them to constant quantizer 1pass for a quick test, but on other settings ist happens as well. In the FILTERING tab changing to vapoursynth, avisynth and noXsynth doesnt make any difference, the same result. At first I thought it was a problem with certain videos and color transfer, but this happens with all videos. Changing to ColorSpace BT709 or UNKNOWN doesn't help either. I also tried to replace vpxenc.exe with different versions in a HYBRID 64bit folder, the same result. Then I downloaded ffmpeg from gyan.dev, and tested libvpx-vp9 built into this ffmpeg, and it works good as it should. I tested x264 and x265 in hybrid and they works normal too.
Is it just me has such a problem with the hardware or what? I have already reinstalled all the drivers on the graphics card with a clean install, then K-Lite Codec Pack Standard Version 16.1.0 clean too. IDK what to think more. Hybrid reinstalled to 2021.04.06.1 with deleting all files too.
IDK if debug log will help.
Posts: 10.619
Threads: 57
Joined: May 2017
11.04.2021, 18:28
(This post was last modified: 11.04.2021, 18:28 by Selur.)
Quote:suddenly started to reverse colors of output videos
sounds like some issue where the colro space isn't properly propagated.
Looking t the encoding call used:
"C:\Program Files\Hybrid\64bit\ffmpeg.exe" -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "C:\Users\SaberAnasterian\AMV.mkv" -map 0:0 -an -sn -pix_fmt yuv420p -vsync 0 -f rawvideo - | "C:\Program Files\Hybrid\64bit\vpxenc.exe" --codec=vp9 --row-mt=1 --passes=1 --pass=1 --end-usage=q --cq-level=18 --profile=0 --good --cpu-used=3 --undershoot-pct=0 --buf-sz=6 --buf-initial-sz=4 --buf-optimal-sz=5 --drop-frame=0 --resize-allowed=0 --kf-min-dist=0 --kf-max-dist=250 --auto-alt-ref=0 --noise-sensitivity=0 --sharpness=0 --static-thresh=0 --tile-columns=2 --tile-rows=1 --min-gf-interval=0 --max-gf-interval=0 --threads=48 --width=1920 --height=1080 --yv12 --color-space=unknown --target-level=255 --input-bit-depth=8 --bit-depth=8 --ivf -o "C:\Users\SABERA~1\AppData\Local\Temp\2021-04-11@19_02_32_5910_01.ivf" -
I see no problem decoder outputs 'yuv420p' and encoder is configured for '--width=1920 --height=1080 --yv12'.
Tested it here and I can reproduce the issue. (swapped u/v channels)
-> looking into it
Will report back.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 10.619
Threads: 57
Joined: May 2017
Found the cause of the problem seems like they changed the accepted input color spaces and instead of '--yv12' Hybrid needs to use '--i420'.
-> will build a new dev version which should fix the issue and send you a link in ~30min (after I compiled, packaged and uploaded the dev version) via pm.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 13
Threads: 5
Joined: Feb 2021
(11.04.2021, 18:36)Selur Wrote: Found the cause of the problem seems like they changed the accepted input color spaces and instead of '--yv12' Hybrid needs to use '--i420'.
-> will build a new dev version which should fix the issue and send you a link in ~30min (after I compiled, packaged and uploaded the dev version) via pm.
Cu Selur
I dont know if its issue but i tried reproduce in CMD if it will help.
When i do:
ffmpeg -i "C:\Users\SaberAnasterian\speedrun.mkv" -map 0:0 -an -sn -pix_fmt yuv420p -f rawvideo - | vpxenc1.10HYBRID.exe --codec=vp9 --row-mt=1 --passes=1 --pass=1 --end-usage=q --cq-level=18 --profile=0 --good --cpu-used=3 --tile-columns=2 --tile-rows=1 --threads=48 --width=1920 --height=1080 --yv12 --color-space=unknown --target-level=255 --input-bit-depth=8 --bit-depth=8 --webm -o "C:\Users\SaberAnasterian\VPXENCTEST.webm" -
Thats break colors.
But if i make into 2 separate commands:
ffmpeg source MKV to .y4m then .y4m to vpxenc.exe
1.
ffmpeg -i "speedrun.mkv" "speedrun.y4m"
2.
vpxenc1.10HYBRID.exe --codec=vp9 --row-mt=1 --passes=1 --pass=1 --end-usage=q --cq-level=18 --profile=0 --good --cpu-used=3 --tile-columns=2 --tile-rows=1 --threads=48 --width=1920 --height=1080 --yv12 --color-space=unknown --target-level=255 --input-bit-depth=8 --bit-depth=8 --webm -o "C:\Users\SaberAnasterian\VPXENCTEST.webm" "C:\Users\SaberAnasterian\speedrun.y4m"
Thats works well like its should.
Posts: 10.619
Threads: 57
Joined: May 2017
Since the documentation (--help) doesn't mention that yuv4mpeg is supported I haven't tried using it in ages.
(probably more tests are required to be use y4m is supported via pipe, especially with high bit depth)
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 10.619
Threads: 57
Joined: May 2017
Okay, checked some of Hybrids code and Hybrid should use y4m starting with v1.3+ of vpxenc.
Problem was the way they reported the version changed a bit, which caused Hybrid to not use y4m.
-> looking into it
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 10.619
Threads: 57
Joined: May 2017
Created a dev version which fixes the version detection.
Send you a link via pm.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 13
Threads: 5
Joined: Feb 2021
(11.04.2021, 19:58)Selur Wrote: Created a dev version which fixes the version detection.
Send you a link via pm.
Cu Selur
Works perfect now. THANK YOU!