When I try to decode a JPEG stream (from a USB camera or file) and the image width does not match the row stride alignment of 128 pixels, I get a segmentation fault.
The pipeline runs if the image width matches the row stride
The pipeline runs with the jpegdec element.
The pipeline runs with imxipuvideosink, but not with fakesink, filesink, appsink and others
imxvpudec_h264 works fine, other imx decoders not tested
0:00:00.179084399 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:76:gst_imx_audio_uniaudio_codec_table_init_internal: Adding codec "AAC LC" with caps audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string){ raw, adts, adif }, profile=(string)lc
0:00:00.179190722 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:108:gst_imx_audio_uniaudio_codec_load_codec: trying to load library /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3
0:00:00.179410035 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:112:gst_imx_audio_uniaudio_codec_load_codec: failed to load library lib_aacd_wrap_arm12_elinux.so.3 with full filename /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3: cannot open shared object file: No such file or directory - trying filename only
0:00:00.179851993 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:115:gst_imx_audio_uniaudio_codec_load_codec: loading library lib_aacd_wrap_arm12_elinux.so.3 failed: lib_aacd_wrap_arm12_elinux.so.3: cannot open shared object file: No such file or directory - not adding to codecs
0:00:00.179987647 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:76:gst_imx_audio_uniaudio_codec_table_init_internal: Adding codec "MP3" with caps audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)true
0:00:00.180040642 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:108:gst_imx_audio_uniaudio_codec_load_codec: trying to load library /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm12_elinux.so.3
0:00:00.180196294 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:112:gst_imx_audio_uniaudio_codec_load_codec: failed to load library lib_mp3d_wrap_arm12_elinux.so.3 with full filename /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm12_elinux.so.3: /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm12_elinux.so.3: cannot open shared object file: No such file or directory - trying filename only
0:00:00.180406940 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:115:gst_imx_audio_uniaudio_codec_load_codec: loading library lib_mp3d_wrap_arm12_elinux.so.3 failed: lib_mp3d_wrap_arm12_elinux.so.3: cannot open shared object file: No such file or directory - not adding to codecs
0:00:00.180487933 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:76:gst_imx_audio_uniaudio_codec_table_init_internal: Adding codec "Vorbis" with caps audio/x-vorbis
0:00:00.180532595 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:108:gst_imx_audio_uniaudio_codec_load_codec: trying to load library /usr/lib/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm12_elinux.so.3
0:00:00.180667249 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:112:gst_imx_audio_uniaudio_codec_load_codec: failed to load library lib_vorbisd_wrap_arm12_elinux.so.3 with full filename /usr/lib/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm12_elinux.so.3: /usr/lib/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm12_elinux.so.3: cannot open shared object file: No such file or directory - trying filename only
0:00:00.180861564 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:115:gst_imx_audio_uniaudio_codec_load_codec: loading library lib_vorbisd_wrap_arm12_elinux.so.3 failed: lib_vorbisd_wrap_arm12_elinux.so.3: cannot open shared object file: No such file or directory - not adding to codecs
0:00:00.180935557 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:76:gst_imx_audio_uniaudio_codec_table_init_internal: Adding codec "narrowband AMR" with caps audio/AMR
0:00:00.180980219 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:108:gst_imx_audio_uniaudio_codec_load_codec: trying to load library /usr/lib/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm11_elinux.so.1
0:00:00.181108874 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:112:gst_imx_audio_uniaudio_codec_load_codec: failed to load library lib_nbamrd_wrap_arm11_elinux.so.1 with full filename /usr/lib/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm11_elinux.so.1: /usr/lib/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm11_elinux.so.1: cannot open shared object file: No such file or directory - trying filename only
0:00:00.181298523 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:115:gst_imx_audio_uniaudio_codec_load_codec: loading library lib_nbamrd_wrap_arm11_elinux.so.1 failed: lib_nbamrd_wrap_arm11_elinux.so.1: cannot open shared object file: No such file or directory - not adding to codecs
0:00:00.181369516 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:76:gst_imx_audio_uniaudio_codec_table_init_internal: Adding codec "wideband AMR" with caps audio/AMR-WB
0:00:00.181416512 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:108:gst_imx_audio_uniaudio_codec_load_codec: trying to load library /usr/lib/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm12_elinux.so.1
0:00:00.181540500 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:112:gst_imx_audio_uniaudio_codec_load_codec: failed to load library lib_wbamrd_wrap_arm12_elinux.so.1 with full filename /usr/lib/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm12_elinux.so.1: /usr/lib/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm12_elinux.so.1: cannot open shared object file: No such file or directory - trying filename only
0:00:00.181729815 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:115:gst_imx_audio_uniaudio_codec_load_codec: loading library lib_wbamrd_wrap_arm12_elinux.so.1 failed: lib_wbamrd_wrap_arm12_elinux.so.1: cannot open shared object file: No such file or directory - not adding to codecs
0:00:00.181825140 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:76:gst_imx_audio_uniaudio_codec_table_init_internal: Adding codec "WMA" with caps audio/x-wma, wmaversion=(int)[ 1, 4 ]
0:00:00.181873802 5683 0x2185cc0 DEBUG imxuniaudiocodec gstimxuniaudiocodec.c:108:gst_imx_audio_uniaudio_codec_load_codec: trying to load library /usr/lib/imx-mm/audio-codec/wrap/lib_wma10d_wrap_arm12_elinux.so
0:00:00.181995790 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:112:gst_imx_audio_uniaudio_codec_load_codec: failed to load library lib_wma10d_wrap_arm12_elinux.so with full filename /usr/lib/imx-mm/audio-codec/wrap/lib_wma10d_wrap_arm12_elinux.so: /usr/lib/imx-mm/audio-codec/wrap/lib_wma10d_wrap_arm12_elinux.so: cannot open shared object file: No such file or directory - trying filename only
0:00:00.182181439 5683 0x2185cc0 INFO imxuniaudiocodec gstimxuniaudiocodec.c:115:gst_imx_audio_uniaudio_codec_load_codec: loading library lib_wma10d_wrap_arm12_elinux.so failed: lib_wma10d_wrap_arm12_elinux.so: cannot open shared object file: No such file or directory - not adding to codecs
0:00:00.182426749 5683 0x2185cc0 DEBUG imxuniaudiodec gstimxuniaudiodecoder.c:200:gst_imx_audio_uniaudio_dec_class_init: decoder sink caps: EMPTY
0:00:01.537911613 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:461:gst_imx_v4l2_get_all_possible_caps: going through all possible 41 formats to create all possible caps
0:00:01.537996272 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #0 is a raw format "NV12"
0:00:01.538048267 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #1 is a raw format "NV12" which was already observed - skipping duplicate
0:00:01.538098929 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #2 is a raw format "NV12_64Z32"
0:00:01.538144924 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #3 is a raw format "NV21"
0:00:01.538186920 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #4 is a raw format "NV21" which was already observed - skipping duplicate
0:00:01.538232249 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #5 is a raw format "NV16"
0:00:01.538274912 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #6 is a raw format "NV16" which was already observed - skipping duplicate
0:00:01.538318908 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #7 is a raw format "NV61"
0:00:01.538360904 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #8 is a raw format "NV24"
0:00:01.538403900 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #9 is a raw format "I420"
0:00:01.538445229 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #10 is a raw format "I420" which was already observed - skipping duplicate
0:00:01.538486559 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #11 is a raw format "YV12"
0:00:01.538529221 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #12 is a raw format "Y42B"
0:00:01.538701538 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #13 is a raw format "YVU9"
0:00:01.538752534 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #14 is a raw format "YUV9"
0:00:01.538794863 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #15 is a raw format "Y41B"
0:00:01.538837192 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #16 is a raw format "UYVY"
0:00:01.538882521 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #17 is a raw format "YUY2"
0:00:01.538927184 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #18 is a raw format "YVYU"
0:00:01.538969180 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #19 is a raw format "xRGB"
0:00:01.539008509 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #20 is a raw format "xRGB" which was already observed - skipping duplicate
0:00:01.539060838 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #21 is a raw format "BGRx"
0:00:01.539102834 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #22 is a raw format "BGRx" which was already observed - skipping duplicate
0:00:01.539148163 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #23 is a raw format "BGRA"
0:00:01.539190492 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #24 is a raw format "ARGB"
0:00:01.539231488 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #25 is a raw format "RGB"
0:00:01.539272151 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #26 is a raw format "BGR"
0:00:01.539315147 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #27 is a raw format "RGB15"
0:00:01.539356143 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #28 is a raw format "RGB15" which was already observed - skipping duplicate
0:00:01.539398806 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #29 is a raw format "BGR15"
0:00:01.539438135 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #30 is a raw format "BGR15" which was already observed - skipping duplicate
0:00:01.539486464 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #31 is a raw format "RGB16"
0:00:01.539526127 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #32 is a raw format "GRAY8"
0:00:01.539567790 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #33 is a raw format "GRAY16_LE"
0:00:01.539611119 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #34 is a raw format "GRAY16_BE"
0:00:01.539655115 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #35 is a Bayer format "rggb"
0:00:01.539697111 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #36 is a Bayer format "grbg"
0:00:01.539740773 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #37 is a Bayer format "gbrg"
0:00:01.539786103 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #38 is a Bayer format "bggr"
0:00:01.539824099 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:523:gst_imx_v4l2_get_all_possible_caps: format #39 is a codec format with media type "image/jpeg"
0:00:01.539886760 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:519:gst_imx_v4l2_get_all_possible_caps: format #40 is a codec format with media type "image/jpeg" which was already observed - skipping duplicate
0:00:01.540298387 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:559:gst_imx_v4l2_get_all_possible_caps: result: all possible caps: video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ NV12, NV12_64Z32, NV21, NV16, NV61, NV24, I420, YV12, Y42B, YVU9, YUV9, Y41B, UYVY, YUY2, YVYU, xRGB, BGRx, BGRA, ARGB, RGB, BGR, RGB15, BGR15, RGB16, GRAY8, GRAY16_LE, GRAY16_BE }; video/x-bayer, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ rggb, grbg, gbrg, bggr }; image/jpeg
0:00:01.543165783 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:461:gst_imx_v4l2_get_all_possible_caps: going through all possible 41 formats to create all possible caps
0:00:01.543247109 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #0 is a raw format "NV12"
0:00:01.543293104 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #1 is a raw format "NV12" which was already observed - skipping duplicate
0:00:01.543339100 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #2 is a raw format "NV12_64Z32"
0:00:01.543382096 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #3 is a raw format "NV21"
0:00:01.543422759 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #4 is a raw format "NV21" which was already observed - skipping duplicate
0:00:01.543468421 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #5 is a raw format "NV16"
0:00:01.543508084 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #6 is a raw format "NV16" which was already observed - skipping duplicate
0:00:01.543550080 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #7 is a raw format "NV61"
0:00:01.543595076 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #8 is a raw format "NV24"
0:00:01.543639738 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #9 is a raw format "I420"
0:00:01.543681401 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #10 is a raw format "I420" which was already observed - skipping duplicate
0:00:01.543725397 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #11 is a raw format "YV12"
0:00:01.543771726 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #12 is a raw format "Y42B"
0:00:01.543815055 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #13 is a raw format "YVU9"
0:00:01.543855718 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #14 is a raw format "YUV9"
0:00:01.543900714 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #15 is a raw format "Y41B"
0:00:01.543945043 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #16 is a raw format "UYVY"
0:00:01.543986372 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #17 is a raw format "YUY2"
0:00:01.544027035 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #18 is a raw format "YVYU"
0:00:01.544068364 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #19 is a raw format "xRGB"
0:00:01.544111027 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #20 is a raw format "xRGB" which was already observed - skipping duplicate
0:00:01.544154023 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #21 is a raw format "BGRx"
0:00:01.544200685 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #22 is a raw format "BGRx" which was already observed - skipping duplicate
0:00:01.544242348 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #23 is a raw format "BGRA"
0:00:01.544283011 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #24 is a raw format "ARGB"
0:00:01.544326007 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #25 is a raw format "RGB"
0:00:01.544365003 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #26 is a raw format "BGR"
0:00:01.544405999 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #27 is a raw format "RGB15"
0:00:01.544448662 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #28 is a raw format "RGB15" which was already observed - skipping duplicate
0:00:01.544494991 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #29 is a raw format "BGR15"
0:00:01.544533987 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:484:gst_imx_v4l2_get_all_possible_caps: format #30 is a raw format "BGR15" which was already observed - skipping duplicate
0:00:01.544576983 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #31 is a raw format "RGB16"
0:00:01.544619312 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #32 is a raw format "GRAY8"
0:00:01.544658642 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #33 is a raw format "GRAY16_LE"
0:00:01.544701305 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:493:gst_imx_v4l2_get_all_possible_caps: format #34 is a raw format "GRAY16_BE"
0:00:01.544742967 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #35 is a Bayer format "rggb"
0:00:01.544783963 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #36 is a Bayer format "grbg"
0:00:01.544824626 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #37 is a Bayer format "gbrg"
0:00:01.544864289 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:508:gst_imx_v4l2_get_all_possible_caps: format #38 is a Bayer format "bggr"
0:00:01.544903952 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:523:gst_imx_v4l2_get_all_possible_caps: format #39 is a codec format with media type "image/jpeg"
0:00:01.544964946 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:519:gst_imx_v4l2_get_all_possible_caps: format #40 is a codec format with media type "image/jpeg" which was already observed - skipping duplicate
0:00:01.545148262 5683 0x2185cc0 DEBUG imxv4l2format gstimxv4l2videoformat.c:559:gst_imx_v4l2_get_all_possible_caps: result: all possible caps: video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ NV12, NV12_64Z32, NV21, NV16, NV61, NV24, I420, YV12, Y42B, YVU9, YUV9, Y41B, UYVY, YUY2, YVYU, xRGB, BGRx, BGRA, ARGB, RGB, BGR, RGB15, BGR15, RGB16, GRAY8, GRAY16_LE, GRAY16_BE }; video/x-bayer, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string){ rggb, grbg, gbrg, bggr }; image/jpeg
0:00:01.619441240 5682 0x2051300 WARN GST_REGISTRY gstregistry.c:1930:gst_update_registry: registry update failed: Error writing registry cache to /home/xxx/.cache/gstreamer-1.0/registry.arm.bin: No such file or directory
Setting pipeline to PAUSED ...
0:00:01.639120714 5682 0x2051300 DEBUG imxvpudec gstimxvpudec.c:229:gst_imx_vpu_dec_start:<imxvpudecjpeg0> stream buffer info: required min size: 5236736 bytes required alignment: 512 decoded frames are from buffer pool: 0
0:00:01.639599335 5682 0x2051300 DEBUG imxdefaultallocator gstimxdefaultallocator.c:383:gst_imx_default_allocator_new:<imxdefaultallocator0> created new default i.MX DMA allocator imxdefaultallocator0
0:00:01.668465275 5682 0x2051300 INFO imxvpudec gstimxvpudec.c:263:gst_imx_vpu_dec_start:<imxvpudecjpeg0> i.MX VPU JPEG decoder started
0:00:01.669304862 5682 0x2051300 WARN basesrc gstbasesrc.c:3688:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:01.671504654 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:310:gst_imx_vpu_dec_set_format:<imxvpudecjpeg0> setting decoder format
0:00:01.671719301 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:348:gst_imx_vpu_dec_set_format:<imxvpudecjpeg0> allowed srcccaps: video/x-raw, width=(int)[ 8, 8192 ], height=(int)[ 8, 8192 ], interlace-mode=(string){ progressive, mixed }, format=(string){ I420, Y42B, Y444, NV12, NV16, NV24, GRAY8 }
0:00:01.671819625 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:424:gst_imx_vpu_dec_set_format:<imxvpudecjpeg0> using frame reodering
0:00:01.671900950 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:469:gst_imx_vpu_dec_set_format:<imxvpudecjpeg0> format I420 detected in list of supported srccaps formats; setting semi planar data flag in open params to 0
0:00:01.671971944 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:503:gst_imx_vpu_dec_set_format:<imxvpudecjpeg0> (re)opening decoder
0:00:01.672190923 5682 0x2285a00 DEBUG imxvpuapi imxvpuapi2_imx6_coda.c:1621:imx_vpu_api_dec_open: opening decoder, frame size: 800 x 600 pixel
0:00:01.672294580 5682 0x2285a00 INFO imxvpuapi imxvpuapi2_imx6_coda.c:235:imx_coda_vpu_load: libimxvpuapi version 2.3.0 vpulib backend
0:00:01.678124696 5682 0x2285a00 DEBUG imxvpuapi imxvpuapi2_imx6_coda.c:239:imx_coda_vpu_load: loaded VPU
[INFO] bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0
0:00:01.680164503 5682 0x2285a00 DEBUG imxvpuapi imxvpuapi2_imx6_coda.c:1635:imx_vpu_api_dec_open: successfully opened decoder
0:00:01.680457142 5682 0x2285a00 DEBUG imxvpudecodercontext gstimxvpudeccontext.c:69:gst_imx_vpu_dec_context_new:<imxvpudeccontext0> created new context with decoder instance 0x75c10000
0:00:01.680570131 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:525:gst_imx_vpu_dec_set_format:<imxvpudecjpeg0> setting format finished
0:00:01.681158076 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:1062:gst_imx_vpu_dec_decode_queued_frames:<imxvpudecjpeg0> framebuffer metrics: aligned size: 896x608 pixel actual size: 800x600 pixel stride: 896
0:00:01.681282064 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:1071:gst_imx_vpu_dec_decode_queued_frames:<imxvpudecjpeg0> allocation info: fb pool framebuffers: 953344 bytes output framebuffers: 817152
0:00:01.681408719 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:1077:gst_imx_vpu_dec_decode_queued_frames:<imxvpudecjpeg0> additional stream info: frame rate: 0/0 min num required framebuffers: 1 color format: fully planar YUV 4:2:0 8-bit semi planar: 0 interlaced: 0 10 bit depth: 0
0:00:01.681867342 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:714:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> can respond to allocation query since decoder exists
0:00:01.681982664 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:720:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> no DMA buffer pool exists yet; creating one, and trying to use any i.MX DMA buffer allocator present in the query
0:00:01.682212309 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:726:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> negotiated caps in allocation query: video/x-raw, format=(string)I420, width=(int)800, height=(int)600, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)2:0:0:0, framerate=(fraction)1/1
0:00:01.682400292 5682 0x2285a00 WARN video-info video-info.c:199:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:01.682489283 5682 0x2285a00 WARN video-info video-info.c:515:gst_video_info_from_caps: invalid colorimetry, using default
0:00:01.682587607 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:734:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> number of allocation buffer pools in query: 0
0:00:01.682737926 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:738:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> video meta supported by downstream: 0
0:00:01.682829918 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:771:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> no buffer pool in the allocation query has an i.MX DMA buffer allocator; using the default one
0:00:01.683249211 5682 0x2285a00 DEBUG imxvpudecframebufferpool gstimxvpudecbufferpool.c:106:gst_imx_vpu_dec_buffer_pool_init:<GstImxVpuDecBufferPool@0x2288c68> initializing buffer pool
0:00:01.683494855 5682 0x2285a00 WARN video-info video-info.c:199:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:01.683588846 5682 0x2285a00 WARN video-info video-info.c:515:gst_video_info_from_caps: invalid colorimetry, using default
0:00:01.683714501 5682 0x2285a00 DEBUG imxvpudecframebufferpool gstimxvpudecbufferpool.c:211:gst_imx_vpu_dec_buffer_pool_set_config:<imxvpudecbufferpool0> configuring buffer pool with stream info: Y/Cb/Cr strides according to gst video info: 896/448/448 Y/CbCr strides according to stream info: 896/448 Y/Cb/Cr offsets: 0/544768/680960 frame size: 953344 bytes output is tiled: 0 with videometa: 0
0:00:01.683851155 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:806:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> found difference in stride values for plane #0: negotiated video info stride: 800 DMA buffer pool video info stride: 896
0:00:01.683944479 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:818:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> VPU output buffers are tightly packed: 0
0:00:01.684075133 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:830:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> need to copy output frames: 1
0:00:01.684442432 5682 0x2285a00 WARN video-info video-info.c:199:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:01.684542423 5682 0x2285a00 WARN video-info video-info.c:515:gst_video_info_from_caps: invalid colorimetry, using default
0:00:01.684655745 5682 0x2285a00 INFO imxvpudec gstimxvpudec.c:855:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> need to copy VPU output frames since downstream cannot handle those directly; this may impact performance
0:00:01.684749403 5682 0x2285a00 WARN video-info video-info.c:199:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:01.684799398 5682 0x2285a00 WARN video-info video-info.c:515:gst_video_info_from_caps: invalid colorimetry, using default
0:00:01.685009045 5682 0x2285a00 WARN video-info video-info.c:199:validate_colorimetry: Need to specify a color matrix when using YUV format (I420)
0:00:01.685059041 5682 0x2285a00 WARN video-info video-info.c:515:gst_video_info_from_caps: invalid colorimetry, using default
0:00:01.685146032 5682 0x2285a00 DEBUG imxvpudec gstimxvpudec.c:883:gst_imx_vpu_dec_decide_allocation:<imxvpudecjpeg0> there are allocation pools in the allocation query; setting the DMA buffer pool as the first one in the query
0:00:01.685294685 5682 0x2285a00 DEBUG imxvpudecframebufferpool gstimxvpudecbufferpool.c:255:gst_imx_vpu_dec_buffer_pool_start:<imxvpudecbufferpool0> starting imxvpudec buffer pool
0:00:01.700734226 5682 0x2285a00 ERROR default video-frame.c:181:gst_video_frame_map_id: invalid buffer size 817152 < 953344
0:00:01.700886879 5682 0x2285a00 ERROR imxvpudec gstimxvpudec.c:1708:gst_imx_vpu_dec_copy_output_frame_if_needed:<imxvpudecjpeg0> could not map VPU output video frame
Caught SIGSEGV
#0 0x76ba1ae4 in ?? () from /lib/libc.so.6
#1 0x76c24f6c in poll () from /lib/libc.so.6
#2 0x76d2f16e in ?? () from /usr/lib/libglib-2.0.so.0
Spinning. Please run 'gdb gst-launch-1.0 5682' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Setting pipeline to NULL ...
^C
When I try to decode a JPEG stream (from a USB camera or file) and the image width does not match the row stride alignment of 128 pixels, I get a segmentation fault.
jpegdec
element.imxipuvideosink
, but not withfakesink
,filesink
,appsink
and othersimxvpudec_h264
works fine, other imx decoders not testedMaybe unrelated issue:
imxvpudec_jpeg
is not detected bydecodebin
System:
Example command line:
GST_DEBUG=2,*imx*:5 gst-launch-1.0 filesrc location=800x600.jpeg ! jpegparse ! imxvpudec_jpeg ! fakesink
Log: