[Bug 778750] New: For vaapih264enc without h264parse, using the adaptive 8x8 DCT encoding tool breaks 720p 30 fps clips

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Feb 16 09:39:58 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=778750

            Bug ID: 778750
           Summary: For vaapih264enc without h264parse, using the adaptive
                    8x8 DCT encoding tool breaks 720p 30 fps clips
    Classification: Platform
           Product: GStreamer
           Version: 1.11.1
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: soren.friis at intel.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

The following command creates an invalid video clip:

gst-launch-1.0 -e videotestsrc num-buffers=60 !
video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! vaapih264enc !
mp4mux ! filesink location=test.mp4

When playing with this command:
gst-play-1.0 -v --gst-debug=*:4,vaapi*:4 test.mp4

It throws this error:
0:00:00.073091622  1373 0x7ff9b0004850 WARN       codecparsers_h264
gsth264parser.c:508:gst_h264_parse_vui_parameters: failed to read uint8, nbits:
1
0:00:00.073109398  1373 0x7ff9b0004850 WARN       codecparsers_h264
gsth264parser.c:522:gst_h264_parse_vui_parameters: error parsing "VUI
Parameters"
0:00:00.073120611  1373 0x7ff9b0004850 WARN       codecparsers_h264
gsth264parser.c:1776:gst_h264_parse_sps: error parsing "Sequence parameter set"
0:00:00.073133640  1373 0x7ff9b0004850 ERROR            vaapidecode
gstvaapidecode.c:1094:gst_vaapidecode_parse_frame: parse error 8

Also running the clip through the Intel Video Pro Analyzer shows that there are
decoding issues with the Sequence Parameter Set and Picture Parameter Set.

This problem relates to the usage of the adaptive 8x8 DCT encoding tool and was
introduced when the flag for that feature was turned on:
4aec5bd encoder: h264: Use high profile by default

It is very specific to the 720p resolution and the 30 fps framerarate. When
testing VGA, 1080p and 4k, they all work. Also changing the framerate to e.g.
20 or 35 fps makes it work.

A workaround is to add an h264parse element to the capture command:
gst-launch-1.0 -e videotestsrc num-buffers=60 !
video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! vaapih264enc !
h264parse ! mp4mux ! filesink location=test.mp4

libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 1.8.0.pre1
(1.7.3-287-g05d2d25)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list