vp8enc: Using Threads property causes major artifacts
Submitted by pur..@..il.com
Link to original bug (#778934)
Description
1.10.3 Mac OS - Installed via Brew
Using the "threads" property causes the encoded video to refuse to play. Changing "error-resilient" to 1-3 with threads causes the video to play but incurs intense rainbow artifacting. Tested with various pipelines with varying degrees of success.
gst-launch-1.0 videotestsrc ! vp8enc ! decodebin ! autovideosink
will play
gst-launch-1.0 videotestsrc ! vp8enc threads=4 ! decodebin ! autovideosink
will not play
gst-launch-1.0 videotestsrc ! vp8enc threads=4 error-resilient=3 ! decodebin ! autovideosink
will play with heavy artifacts
gst-launch-1.0 filesrc location=file.mp4 ! decodebin ! videoconvert ! vp8enc ! decodebin ! autovideosink
will play
gst-launch-1.0 filesrc location=file.mp4 ! decodebin ! videoconvert ! vp8enc threads=4 ! decodebin ! autovideosink
will not play
gst-launch-1.0 filesrc location=file.mp4 ! decodebin ! videoconvert ! vp8enc ! rtpvp8pay ! udpsink host=127.0.0.1 port=5004
will stream
gst-launch-1.0 filesrc location=file.mp4 ! decodebin ! videoconvert ! vp8enc threads=4 ! rtpvp8pay ! udpsink host=127.0.0.1 port=5004
will stream
gst-launch-1.0 filesrc location=file.mp4 ! decodebin name=decode ! videoconvert ! vp8enc end-usage=vbr min-quantizer=5 max-quantizer=50 undershoot=95 cpu-used=5 deadline=1 static-threshold=50 error-resilient=1 ! rtpvp8pay ! udpsink host=127.0.0.1 port=5004
will stream without artifacts
gst-launch-1.0 filesrc location=file.mp4 ! decodebin name=decode ! videoconvert ! vp8enc end-usage=vbr min-quantizer=5 max-quantizer=50 undershoot=95 cpu-used=5 threads=4 deadline=1 static-threshold=500 error-resilient=1 ! rtpvp8pay ! udpsink host=127.0.0.1 port=5004
will stream with heavy artifacts
Bottom two streaming examples were viewed in WebRTC compatible browser.
Version: 1.10.3