mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-15 22:01:27 +00:00
jpegdec: Fix progressive/interlaced detection
If input height and parsed one are identical, do not consider it as interlaced Fixing below pipeline: gst-launch-1.0 videotestsrc ! video/x-raw,format=I420,width=640,height=10 \ ! jpegenc ! jpegparse ! jpegdec ! videoconvert ! autovideosink Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6181>
This commit is contained in:
parent
3afeb73538
commit
125c89319a
1 changed files with 2 additions and 1 deletions
|
@ -1406,7 +1406,8 @@ gst_jpeg_dec_handle_frame (GstVideoDecoder * bdec, GstVideoCodecFrame * frame)
|
||||||
/* is it interlaced MJPEG? (we really don't want to scan the jpeg data
|
/* is it interlaced MJPEG? (we really don't want to scan the jpeg data
|
||||||
* to see if there are two SOF markers in the packet to detect this) */
|
* to see if there are two SOF markers in the packet to detect this) */
|
||||||
if (gst_video_decoder_get_packetized (bdec) &&
|
if (gst_video_decoder_get_packetized (bdec) &&
|
||||||
dec->input_state && height > DCTSIZE &&
|
dec->input_state &&
|
||||||
|
dec->input_state->info.height != height && height > DCTSIZE &&
|
||||||
dec->input_state->info.height > (2 * (height - DCTSIZE)) &&
|
dec->input_state->info.height > (2 * (height - DCTSIZE)) &&
|
||||||
dec->input_state->info.height <= (height * 2)
|
dec->input_state->info.height <= (height * 2)
|
||||||
&& dec->input_state->info.width == width) {
|
&& dec->input_state->info.width == width) {
|
||||||
|
|
Loading…
Reference in a new issue