GNOME Bugzilla – Bug 693263
typefinding: MPEG-2 video ES detected as H.263
Last modified: 2016-04-15 16:18:41 UTC
When I try to decode an mpeg interlaced elementary stream with the following pipeline
gst-launch-1.0 -v filesrc location=/mnt/hgfs/d/test/libav/carrace.m2v ! decodebin ! filesink location=/mnt/hgfs/d/test/libav/carrace.yuv
I get following error /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h263
Missing element: H.263 decoder
Not sure why typefind is finding this as an H263 stream
Interestingly, the following pipeline works perfectly
gst-launch-1.0 -v filesrc location=/mnt/hgfs/d/test/libav/carrace.m2v ! mpegvideoparse ! avdec_mpeg2video ! filesink location=/mnt/hgfs/d/test/libav/carrace.yuv
SO in short, mpeg2 elementary streams are detected as H263 streams
Mpeg2 elementary stream is uploaded at http://www.2shared.com/file/eSJehOtb/carrace.html
Could you make the file available some other way? The site just returns a iLividSetup.exe binary instead of the file on downlod.
Also shared at http://ge.tt/3e5ZneX/v/0
Any progress on this thread??
Created attachment 269961 [details] [review]
WIP solution (do not push)
This is a quickly drafted solution. Works form me with
the H.264 samples I have without matching for MPEG ES.
The problem in general is the few trivial tests that
can be performed on the H.263 header and their lax
nature. I plan to work on this one a bit more so I'm
providing it here just for testing purposes.
(In reply to comment #5)
> Created an attachment (id=269961) [details] [review]
> WIP solution (do not push)
> This is a quickly drafted solution. Works form me with
> the H.264 samples I have without matching for MPEG ES.
I definitely need to work more on this one. The patch
is an ugly hack that just happens to work for my
limited set of samples. Will post a new one once I
manage to figure out a clean way of making the finder
Pong. Got sidetracked. Will take a another look at this now.
Created attachment 319579 [details] [review]
strengthen check for valid H.263 picture layer
This one gets rid of this false positive for H.263 and possibly others, without
borking proper identification of valid H.263 streams. The changed var name
makes the code easier to understand when reading alongside the spec
Review of attachment 319579 [details] [review]:
Calling it done here then. Pushed
Picked into 1.6.4.
(In reply to Tim-Philipp Müller from comment #12)
> Picked into 1.6.4.
Good stuff. Thank you.