[Bug 754120] avdec_hevc: Segfault in hevc decode with glimagesink and AVX2 CPU feature
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Sep 2 11:28:23 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=754120
--- Comment #15 from Tim-Philipp Müller <t.i.m at zen.co.uk> ---
Not really. I am not sure if the alignment thing is not a red herring.
This also seems to "fix" it for me:
@@ -700,7 +700,7 @@ gst_ffmpegviddec_ensure_internal_pool (GstFFMpegVidDec *
ffmpegdec,
config = gst_buffer_pool_get_config (ffmpegdec->internal_pool);
caps = gst_video_info_to_caps (&info);
- gst_buffer_pool_config_set_params (config, caps, info.size, 2, 0);
+ gst_buffer_pool_config_set_params (config, caps, info.size, 10, 0);
gst_buffer_pool_config_set_allocator (config, NULL, ¶ms);
gst_buffer_pool_config_add_option (config,
GST_BUFFER_POOL_OPTION_VIDEO_META);
@@ -805,10 +805,8 @@ gst_ffmpegviddec_get_buffer2 (AVCodecContext * context,
AVFrame * picture,
if (c < GST_VIDEO_INFO_N_PLANES (&ffmpegdec->pool_info)) {
picture->data[c] = GST_VIDEO_FRAME_PLANE_DATA (&dframe->vframe, c);
picture->linesize[c] = GST_VIDEO_FRAME_PLANE_STRIDE (&dframe->vframe,
c);
-
if (ffmpegdec->stride[c] == -1)
ffmpegdec->stride[c] = picture->linesize[c];
-
/* libav does not allow stride changes, decide allocation should check
* before replacing the internal pool with a downstream pool.
* https://bugzilla.gnome.org/show_bug.cgi?id=704769
@@ -1802,7 +1800,7 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder *
decoder, GstQuery * query)
}
config = gst_buffer_pool_get_config (pool);
- gst_buffer_pool_config_set_params (config, state->caps, size, min, max);
+ gst_buffer_pool_config_set_params (config, state->caps, size, MAX (10, min),
max);
gst_buffer_pool_config_set_allocator (config, allocator, ¶ms);
have_videometa =
@@ -1873,7 +1871,7 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder *
decoder, GstQuery * query)
gst_object_unref (pool);
pool = gst_video_buffer_pool_new ();
config = gst_buffer_pool_get_config (pool);
- gst_buffer_pool_config_set_params (config, state->caps, size, min, max);
+ gst_buffer_pool_config_set_params (config, state->caps, size, MAX (10,
min), max);
gst_buffer_pool_config_set_allocator (config, NULL, ¶ms);
gst_buffer_pool_set_config (pool, config);
update_pool = TRUE;
Not sure what to conclude from that :)
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list