jpegdec: decoding error when trying to convert to BGRx
This pipeline is failing:
gst-launch-1.0 filesrc location=/tmp/Flat_colorful_background.jpg ! jpegdec ! video/x-raw,format=BGRx ! imagefreeze ! videoconvert ! xvimagesink -v
Interesting bits of logs:
0:00:00.028789547 452175 0x137f060 LOG jpegdec gstjpegdec.c:202:gst_jpeg_dec_init_source:<jpegdec0> init_source
0:00:00.028797229 452175 0x137f060 DEBUG jpegdec gstjpegdec.c:211:gst_jpeg_dec_skip_input_data:<jpegdec0> skip 106 bytes
0:00:00.028807809 452175 0x137f060 LOG jpegdec gstjpegdec.c:1144:gst_jpeg_dec_prepare_decode:<jpegdec0> num_components=3
0:00:00.028811998 452175 0x137f060 LOG jpegdec gstjpegdec.c:1145:gst_jpeg_dec_prepare_decode:<jpegdec0> jpeg_color_space=3
0:00:00.028816295 452175 0x137f060 LOG jpegdec gstjpegdec.c:1153:gst_jpeg_dec_prepare_decode:<jpegdec0> r_h = 2, r_v = 2
0:00:00.028821130 452175 0x137f060 LOG jpegdec gstjpegdec.c:1169:gst_jpeg_dec_prepare_decode:<jpegdec0> [0] h_samp_factor=2, v_samp_factor=2, cid=1
0:00:00.028825853 452175 0x137f060 LOG jpegdec gstjpegdec.c:1169:gst_jpeg_dec_prepare_decode:<jpegdec0> [1] h_samp_factor=1, v_samp_factor=1, cid=2
0:00:00.028830524 452175 0x137f060 LOG jpegdec gstjpegdec.c:1169:gst_jpeg_dec_prepare_decode:<jpegdec0> [2] h_samp_factor=1, v_samp_factor=1, cid=3
0:00:00.028834001 452175 0x137f060 LOG jpegdec gstjpegdec.c:1192:gst_jpeg_dec_prepare_decode:<jpegdec0> starting decompress
0:00:00.028994601 452175 0x137f060 DEBUG jpegdec gstjpegdec.c:1060:gst_jpeg_dec_negotiate: Received caps from peer: video/x-raw, format=(string)BGRx, width=(int)[ 1, 8192 ], height=(int)[ 1, 8192 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.029005418 452175 0x137f060 DEBUG jpegdec gstjpegdec.c:1096:gst_jpeg_dec_negotiate:<jpegdec0> format_convert=1
/GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps = video/x-raw, format=(string)BGRx, width=(int)1600, height=(int)960, 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)sRGB, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)BGRx, width=(int)1600, height=(int)960, 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)sRGB, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstImageFreeze:imagefreeze0.GstPad:sink: caps = video/x-raw, format=(string)BGRx, width=(int)1600, height=(int)960, 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)sRGB, framerate=(fraction)0/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)BGRx, width=(int)1600, height=(int)960, 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)sRGB, framerate=(fraction)0/1
0:00:00.029376737 452175 0x137f060 DEBUG jpegdec gstjpegdec.c:1128:gst_jpeg_dec_negotiate:<jpegdec0> max_v_samp_factor=2
0:00:00.029385107 452175 0x137f060 DEBUG jpegdec gstjpegdec.c:1129:gst_jpeg_dec_negotiate:<jpegdec0> max_h_samp_factor=2
0:00:00.029406883 452175 0x137f060 LOG jpegdec gstjpegdec.c:1425:gst_jpeg_dec_handle_frame:<jpegdec0> width 1600, height 960, fields 1
0:00:00.029412142 452175 0x137f060 LOG jpegdec gstjpegdec.c:1281:gst_jpeg_dec_decode:<jpegdec0> decompressing (required scanline buffer height = 1)
0:00:00.029416391 452175 0x137f060 DEBUG jpegdec gstjpegdec.c:914:gst_jpeg_dec_decode_direct:<jpegdec0> decoding directly into output buffer
0:00:00.029444230 452175 0x137f060 WARN videodecoder gstvideodecoder.c:4805:_gst_video_decoder_error:<jpegdec0> error: Failed to decode JPEG image
0:00:00.029449301 452175 0x137f060 WARN videodecoder gstvideodecoder.c:4807:_gst_video_decoder_error:<jpegdec0> error: Decode error #20: Improper call to JPEG library in state 206
This should be supported by the recent colorspace support patch: !1091 (merged)
@marex : any idea what's going wrong here?