After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 785211 - gst-validate: considers as a failure if decoder changes width, height or framerate.
gst-validate: considers as a failure if decoder changes width, height or fram...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-devtools
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-07-21 07:55 UTC by Hyunjun Ko
Modified: 2018-11-03 11:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
mpeg2 sample (674.71 KB, video/mpeg)
2017-07-21 07:55 UTC, Hyunjun Ko
Details
vp9 sample (1.18 KB, video/webm)
2017-07-24 01:59 UTC, Hyunjun Ko
Details

Description Hyunjun Ko 2017-07-21 07:55:24 UTC
Created attachment 356087 [details]
mpeg2 sample

Reproduce step:
gst-validate-1.0 filesrc location=sony-ct1.mpeg ! mpegvideoparse ! avdec_mpeg2video ! fakesink

It results in:
=== Got criticals. Return value set to 18 ====
     Critical error Field width from setcaps caps 'video/x-raw, format=(string)I420, width=(int)352, height=(int)224, interlace-mode=(string)mixed, 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)4/3, chroma-site=(string)mpeg2, colorimetry=(string)bt601, framerate=(fraction)30/1' is different from expected value in caps 'pending-fields, width=(int)120, height=(int)120, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)4/3;'

Because decoder changes resolution of src caps with real encoded size and set them to output_state and seems gst-validate considers this as a failure.

I got same result with other vp9 files using vp9dec.

I'm wondering if this is real failure.
Comment 1 Edward Hervey 2017-07-21 08:51:18 UTC
that feels wrong.

mpegvideoparse is setting the width/height to the *DISPLAY* width/height (and not the encoded value width/height).

This was introduced by bug #704009
Comment 2 Tim-Philipp Müller 2017-07-21 09:12:02 UTC
Are you saying you feel it's wrong that mpegvideoparse is putting display width/height into the caps? I don't think so, I think that's exactly how it should be.
Comment 3 Olivier Crête 2017-07-21 16:30:56 UTC
We keep on hitting this, maybe we should add a "encoded-width / encoded-height" to the various encoded caps?
Comment 4 Hyunjun Ko 2017-07-24 01:59:16 UTC
Created attachment 356249 [details]
vp9 sample

Note that this is not only about mpeg2 but vp9.
I'm attaching sample to reproduce.

How about lowering the level of message from critical to warning?
Comment 5 Edward Hervey 2017-07-24 05:38:07 UTC
(In reply to Tim-Philipp Müller from comment #2)
> Are you saying you feel it's wrong that mpegvideoparse is putting display
> width/height into the caps? I don't think so, I think that's exactly how it
> should be.

In the case of mpeg, that display width/height is used for pan&scan (there is a per-picture display extension specifying the recommended location of that display window). Do we want to force showing 4:3 videos for 16:9 videos with pan/scan information ? Note the decoders will *not* crop it to 4:3.

(In reply to Hyunjun Ko from comment #4)
> Created attachment 356249 [details]
> vp9 sample
> 
> Note that this is not only about mpeg2 but vp9.
> I'm attaching sample to reproduce.
> 
> How about lowering the level of message from critical to warning?

  I would very much prefer we keep this issue critical. IIRC it was one of the reasons validate was started for (3rd party decoder implementations that would return incoherent/invalid width/height/framerate/par).
Comment 6 Hyunjun Ko 2017-07-24 09:31:44 UTC
> (In reply to Hyunjun Ko from comment #4)
> > Created attachment 356249 [details]
> > vp9 sample
> > 
> > Note that this is not only about mpeg2 but vp9.
> > I'm attaching sample to reproduce.
> > 
> > How about lowering the level of message from critical to warning?
> 
>   I would very much prefer we keep this issue critical. IIRC it was one of
> the reasons validate was started for (3rd party decoder implementations that
> would return incoherent/invalid width/height/framerate/par).

Ok. Agree. It might be ridiculous to change the level if this was one of starting points of gst-validate.

We have to find a way to deal with these non-failure cases if you agree that these are not failures.
Comment 7 Edward Hervey 2017-07-24 13:05:24 UTC
(In reply to Hyunjun Ko from comment #6)
> We have to find a way to deal with these non-failure cases if you agree that
> these are not failures.

  The problem is that (at least for the first file, didn't check the 2nd one) they *are* failures. Upstream says it's (wrongly) 120x120 and the decoder outputs the proper resolution. So at least on that front validate is *not* wrong :)
Comment 8 GStreamer system administrator 2018-11-03 11:08:03 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-devtools/issues/26.