[libav-bugs] [Bug 1029] New: Unable to Encode (with NVENC) using HP preset in avconv

bugzilla at libav.org bugzilla at libav.org
Fri Feb 17 00:00:12 CET 2017


https://bugzilla.libav.org/show_bug.cgi?id=1029

            Bug ID: 1029
           Summary: Unable to Encode (with NVENC) using HP preset in
                    avconv
           Product: Libav
           Version: git HEAD
          Hardware: X86
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: ---
         Component: libavcodec
          Assignee: bugzilla at libav.org
          Reporter: benc at nvidia.com

Hi,

My name is Ben and I work at Nvidia. Internally, we have discovered encoding
with nvenc plus HP preset yield "invalid device" error. 

sample command:
avconv64.exe -y -s 1920x1080 -pix_fmt yuv420p -i <raw input yuv> -vcodec
h264_nvenc -preset hp <out.h264>

The root cause is in the syntax of array of GUIDs.

In the source code, there is an empty entry {0} at the end of GUIDTuple array
declaration. The entries of this array are appended in non-incremental order.
The second last (prior to empty entry) entry is appending element [3]; adding a
{0} after would effectively erase element [4] (which is the original entry for
HP preset GUID) when compiling with gcc. Msvc doesn't have this issue because
the empty entry is ignored. I also doubled checked with ffmpeg source code and
it didn't have this empty entry (thus no issue reported).

Fix would be to delete the {0} entry, or re-arrange to add entries in
incremental order. nvec_map_preset at nvenc.c   (also, there is minor mis-spelling
in source code: nvec_map_preset; instead of nvenc_map_preset)

Please let me know what you think.

Thanks,
Ben

-- 
You are receiving this mail because:
You are watching all bug changes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.libav.org/pipermail/libav-bugs/attachments/20170216/2c3e2e00/attachment.html>


More information about the libav-bugs mailing list