Discussion:
[Bug 796625] New: vaapipostproc: Bob deinterlace doesn't work for raw file.
"GStreamer" (GNOME Bugzilla)
2018-06-19 04:45:53 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

Bug ID: 796625
Summary: vaapipostproc: Bob deinterlace doesn't work for raw
file.
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer-vaapi
Assignee: gstreamer-***@lists.freedesktop.org
Reporter: ***@intel.com
QA Contact: gstreamer-***@lists.freedesktop.org
CC: ***@gmail.com, ***@igalia.com
GNOME version: ---

$gst-launch-1.0 -vf filesrc location=1920x1080.nv12 num-buffers=1 !
rawvideoparse format=nv12 width=1920 height=1080 ! vaapipostproc format=nv12
width=1920 height=1080 deinterlace-mode=1 deinterlace-method=bob !
checksumsink2 file-checksum=false frame-checksum=false plane-checksum=false
dump-output=true dump-location=bob_NV12_1920x1080.yuv

The output yuv have 2 frames, and each frame is bit match with input.

But by using yamivpp:
$yamivpp --di bob 1920x1080.nv12 1920x1080.bob.nv12
the output only 1 frame, and md5 is different with input.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 04:50:06 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

Nicolas Dufresne (ndufresne) <***@ndufresne.ca> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |NEEDINFO
CC| |***@ndufresne.ca

--- Comment #1 from Nicolas Dufresne (ndufresne) <***@ndufresne.ca> ---
You forgot set set interlaced=1 on rawvideoparse in order to tall vaapipostproc
that the input is interlaced. Can you validate this please ?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 05:02:52 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #2 from Fei <***@intel.com> ---
(In reply to Nicolas Dufresne (ndufresne) from comment #1)
Post by "GStreamer" (GNOME Bugzilla)
You forgot set set interlaced=1 on rawvideoparse in order to tall
vaapipostproc that the input is interlaced. Can you validate this please ?
Same result with cmd: gst-launch-1.0 -vf filesrc location=1920x1080.nv12
num-buffers=1 ! rawvideoparse format=nv12 width=1920 height=1080 interlaced=1 !
vaapipostproc format=nv12 width=1920 height=1080 deinterlace-mode=1
deinterlace-method=bob ! checksumsink2 file-checksum=false frame-checksum=false
plane-checksum=false dump-output=true dump-location=bob_NV12_1920x1080.yuv
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 05:03:42 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

Fei <***@intel.com> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |***@intel.com
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 05:45:27 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #3 from Víctor Manuel Jáquez Leal <***@igalia.com> ---
@Fei, can you attach the input file?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 05:51:29 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #4 from Fei <***@intel.com> ---
Created attachment 372720
--> https://bugzilla.gnome.org/attachment.cgi?id=372720&action=edit
input file.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 05:52:33 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #5 from Fei <***@intel.com> ---
(In reply to Víctor Manuel Jáquez Leal from comment #3)
Post by "GStreamer" (GNOME Bugzilla)
@Fei, can you attach the input file?
Hi Victor, I have uploaded it, please check attachment.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 06:06:51 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #6 from Nicolas Dufresne (ndufresne) <***@ndufresne.ca> ---
Ah, so you wan to use vaapipostproc to interleave a progressive frame, I
thought it as the opposite. Obviously, deinterlace-* aren't telling
vaapipostproc to do that.

@Victor, is that really a supported use case in VAAPI ?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 18:26:59 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #7 from U. Artie Eoff <***@intel.com> ---
@Nicolas, either way, shouldn't we expect to see some sort of difference on
output regardless of "real" yuv details of input?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 18:58:25 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #8 from Nicolas Dufresne (ndufresne) <***@ndufresne.ca> ---
There is no way to instruct vaapipostproc to interlace a progressive frame as
of now. So the output is the same. Try with the interlace element if you are
curious.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 20:44:40 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #9 from U. Artie Eoff <***@intel.com> ---
I may be naive, but should "rawvideoparse format=nv12 width=1920 height=1080
interlaced=1" output interlaced frames for vaapipostproc?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-19 23:11:26 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #10 from Nicolas Dufresne (ndufresne) <***@ndufresne.ca> ---
(In reply to U. Artie Eoff from comment #9)
Post by "GStreamer" (GNOME Bugzilla)
I may be naive, but should "rawvideoparse format=nv12 width=1920 height=1080
interlaced=1" output interlaced frames for vaapipostproc?
It will pretend it's interlaced, but it's not, since the image you provided is
progressive. Then you selected a BOB deinterlacer, which I believe is the only
one that won't deteriorate the frame. Also, we aware that you need at least 3
fields (2 interleaved frames) in order to use any other algo.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-20 00:56:14 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #11 from U. Artie Eoff <***@intel.com> ---
(In reply to Nicolas Dufresne (ndufresne) from comment #10)
Post by "GStreamer" (GNOME Bugzilla)
(In reply to U. Artie Eoff from comment #9)
Post by "GStreamer" (GNOME Bugzilla)
I may be naive, but should "rawvideoparse format=nv12 width=1920 height=1080
interlaced=1" output interlaced frames for vaapipostproc?
It will pretend it's interlaced, but it's not, since the image you provided
is progressive. Then you selected a BOB deinterlacer, which I believe is the
only one that won't deteriorate the frame. Also, we aware that you need at
least 3 fields (2 interleaved frames) in order to use any other algo.
So it determines the raw image data is progressive, how? As far as
rawvideoparse is concerned, it's just random raw data, right? And it should
read the data in terms of how the user specifies. Perhaps it's because the
size of data is not enough for 3 fields? Oddly, ffmpeg and yami (same vaapi
driver) produce a different result for bob deinterlacer with same input!
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-20 01:08:15 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #12 from U. Artie Eoff <***@intel.com> ---
(In reply to U. Artie Eoff from comment #11)
Post by "GStreamer" (GNOME Bugzilla)
(In reply to Nicolas Dufresne (ndufresne) from comment #10)
Post by "GStreamer" (GNOME Bugzilla)
(In reply to U. Artie Eoff from comment #9)
Post by "GStreamer" (GNOME Bugzilla)
I may be naive, but should "rawvideoparse format=nv12 width=1920 height=1080
interlaced=1" output interlaced frames for vaapipostproc?
It will pretend it's interlaced, but it's not, since the image you provided
is progressive. Then you selected a BOB deinterlacer, which I believe is the
only one that won't deteriorate the frame. Also, we aware that you need at
least 3 fields (2 interleaved frames) in order to use any other algo.
So it determines the raw image data is progressive, how? As far as
rawvideoparse is concerned, it's just random raw data, right? And it should
read the data in terms of how the user specifies. Perhaps it's because the
size of data is not enough for 3 fields? Oddly, ffmpeg and yami (same vaapi
driver) produce a different result for bob deinterlacer with same input!
That is, ffmpeg-vaapi and yami-vaapi produce very similar outputs. That is,
PSNR is 50-60 range for both. But gstreamer-vaapi produces noop output.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-20 02:56:29 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #13 from sreerenj <***@gmail.com> ---
I wanna comment about the 2 frames output instead of 1.

We always double the framerate (and produce double the number of frames) in
gstreamer-vaapi unlike the default option in gst-msdk which won't output double
frames.
see this comment: https://bugzilla.gnome.org/show_bug.cgi?id=781069#c18
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-20 02:58:15 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #14 from sreerenj <***@gmail.com> ---
(In reply to Nicolas Dufresne (ndufresne) from comment #6)
Post by "GStreamer" (GNOME Bugzilla)
Ah, so you wan to use vaapipostproc to interleave a progressive frame, I
thought it as the opposite. Obviously, deinterlace-* aren't telling
vaapipostproc to do that.
@Victor, is that really a supported use case in VAAPI ?
It is only "interlaced to de-interlace".
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-20 14:52:44 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

--- Comment #15 from Nicolas Dufresne (ndufresne) <***@ndufresne.ca> ---
(In reply to sreerenj from comment #13)
Post by "GStreamer" (GNOME Bugzilla)
I wanna comment about the 2 frames output instead of 1.
We always double the framerate (and produce double the number of frames) in
gstreamer-vaapi unlike the default option in gst-msdk which won't output
double frames.
see this comment: https://bugzilla.gnome.org/show_bug.cgi?id=781069#c18
That seems odd, so what shall we expect when vpp deinterlacer this frame ? Two
frames ?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-06-21 01:04:58 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

Nicolas Dufresne (ndufresne) <***@ndufresne.ca> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |NEW

--- Comment #16 from Nicolas Dufresne (ndufresne) <***@ndufresne.ca> ---
Ok, I've run the test in another form:

Software:
gst-launch-1.0 filesrc location=1920x1080.nv12 ! rawvideoparse format=nv12
width=1920 height=1080 interlaced=1 ! deinterlace method=6 ! multifilesink
location="test-%d.nv12"

VPP:
gst-launch-1.0 filesrc location=1920x1080.nv12 ! rawvideoparse format=nv12
width=1920 height=1080 interlaced=1 ! vaapipostproc format=nv12 width=1920
height=1080 deinterlace-mode=1 deinterlace-method=bob ! multifilesink
location="test-vpp-%d.nv12"

The software deinterlacer produces 3 images (not sure what is the logic for
the). When I view these image, in the snow, I can see that the lines got scale,
as the snow is presenting a slightly vertical direction. And indeed,
vaapipostproc leaves the frames untouched, not scaled as BoB method is supposed
to be.

To view the files:
gst-launch-1.0 filesrc location=test-2.nv12 ! rawvideoparse format=nv12
width=1920 height=1080 ! imagefreeze ! videoconvert ! gtksink
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
"GStreamer" (GNOME Bugzilla)
2018-11-03 15:55:10 UTC
Permalink
https://bugzilla.gnome.org/show_bug.cgi?id=796625

GStreamer system administrator <***@gstreamer.net> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |OBSOLETE

--- Comment #17 from GStreamer system administrator <***@gstreamer.net> ---
-- 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/gstreamer-vaapi/issues/101.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
Loading...