This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

VPX Encoder problem
#1
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.
Reply
#2
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
Reply
#3
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
Reply
#4
(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.
Reply
#5
Since the documentation (--help) doesn't mention that yuv4mpeg is supported I haven't tried using it in ages. Smile
(probably more tests are required to be use y4m is supported via pipe, especially with high bit depth)

Cu Selur
Reply
#6
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 Smile
Reply
#7
Created a dev version which fixes the version detection.
Send you a link via pm.

Cu Selur
Reply
#8
(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!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)