GNOME Bugzilla – Bug 748417
vp8enc: valgrind errors when encoding
Last modified: 2018-05-07 08:44:20 UTC
I'm getting a lot of those errors when running the validate.http.transcode.to_vorbis_and_vp8_in_webm.raw_h264_1_mp4 with valgrind. ==11145== Conditional jump or move depends on uninitialised value(s) ==11145== at 0x11CCCAE7: vp8_regular_quantize_b_sse4_1 (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11CC3155: macro_block_yrd (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11CC628C: evaluate_inter_mode_rd.isra.8 (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11CC8603: vp8_rd_pick_inter_mode (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11C9C646: vp8cx_encode_inter_macroblock (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11C9D223: encode_mb_row (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11C9D5BE: vp8_encode_frame (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11CB6D5F: encode_frame_to_data_rate (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11CBA8DB: vp8_get_compressed_data (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11C964CB: vp8e_encode.part.8 (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11C7327F: vpx_codec_encode (in /tmp/bah/lib/libvpx.so.2.0.0) ==11145== by 0x11A608BA: gst_vp8_enc_handle_frame (gstvp8enc.c:2038) ==11145== by 0x556FAF6: gst_video_encoder_chain (gstvideoencoder.c:1380) ==11145== by 0x4C2C098: gst_validate_pad_monitor_chain_func (gst-validate-pad-monitor.c:2008) ==11145== by 0x5A67503: gst_pad_chain_data_unchecked (gstpad.c:4038) ==11145== by 0x5A67503: gst_pad_push_data (gstpad.c:4271) ==11145== by 0x57D4CC4: gst_base_transform_chain (gstbasetransform.c:2281) ==11145== by 0x4C2C098: gst_validate_pad_monitor_chain_func (gst-validate-pad-monitor.c:2008) ==11145== by 0x5A67503: gst_pad_chain_data_unchecked (gstpad.c:4038) ==11145== by 0x5A67503: gst_pad_push_data (gstpad.c:4271) ==11145== by 0x1247BF0A: gst_video_rate_transform_ip (gstvideorate.c:1211) ==11145== by 0x57D431A: gst_base_transform_handle_buffer (gstbasetransform.c:2133) I can reproduce using libvpx-1.3.0-6.fc21.x86_64 and libvpx master but not using vpxenc. Maybe libvpx expect a specific size of buffer or something?
With the exact same input? It might just 0 out input buffers beforehand. Do you have a simplified test gst-launch pipeline to reproduce this? It might just be an optimisation in libvpx.
Interesting, I can reproduce with "filesrc location=raw_h264.1.mp4 ! qtdemux ! h264parse ! avdec_h264 ! vp8enc ! webmmux ! filesink location=out" but not with "videotestsrc num-buffers=128 ! vp8enc ! webmmux ! filesink location=out"
Does this still happen?
Yes. Plenty of "uninitialised" errors when running the pipeline above but none with videotestsrc.
Do you plan to look into this? I don't think it makes sense to keep this open if not. It's unclear there is really a problem here, or if it's GStreamer-side.
Not in the short term so let's close it then.