Hardware encode AVC stream corrupted

Hardware encode AVC stream corrupted

I updated from Intel Graphics Driver "8.15.10.2761" to "10.18.10.3496".

I updated from the "Intel Media SDK 2013" to the "Intel Media SDK for Clients 2014"

I compiled and ran your "Video Encoding Sample 5.0.337.78585\sample_encode"

with the following parameters (hardware encode):

h264 -i sample_video_content_0\test_stream.yuv -o test_output.avc -w 176 -h 96 -hw

the output of the AVS hardware encoded elementary stream looks like this:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 25 88 80 40 FF F3 05 4C 98 DD 02 3A 18
AA 54 92 68 CE 25 05 D8 C0 D4 54 26 89 C9 9C 6E

The hardware encode is missing the AU delimiter SPS and PPS and instead I get a bunch of zeros.

The hardware encode used to work fine with  Intel Graphics Driver "8.15.10.2761" and the Intel Media SDK 2013.

I tried again in software

with the following parameters (software encode; no "-hw" parameter):

h264 -i sample_video_content_0\test_stream.yuv -o test_output.avc -w 176 -h 96

the output of the AVS hardware encoded elementary stream looks like this:

00 00 00 01 09 10 00 00 00 01 27 64 00 0B AC 2E C2 CD B0 11 00 00 03 00 01 00 00 03 00 3C E0 60
06 D6 00 1F BD BD EF 82 80 00 00 00 01 28 EE 3C B0 00 00 01 06 00 07 81 98 03 01 98 03 C0 01 07
00 00 03 00 00 03 00 02 04 80 00 00 01 25 88 80 20 34 BF D4 C0 C7 4D E0 33 3D 7F BC 86 F3 39 C3
87 52 A7 EA 1F 94 06 72 91 B0 67 29 21 E3 6E 01

Any advice what might be going wrong?

 

Thanks

Markus.

 

 

12 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

WITH CORRECTED TYPOS

I updated from Intel Graphics Driver "8.15.10.2761" to "10.18.10.3496".

I updated from the "Intel Media SDK 2013" to the "Intel Media SDK for Clients 2014"

I compiled and ran your "Video Encoding Sample 5.0.337.78585\sample_encode"

with the following parameters (hardware encode):

h264 -i sample_video_content_0\test_stream.yuv -o test_output.avc -w 176 -h 96 -hw

the output of the AVC hardware encoded elementary stream looks like this:

 

 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 25 88 80 40 FF F3 05 4C 98 DD 02 3A 18

 AA 54 92 68 CE 25 05 D8 C0 D4 54 26 89 C9 9C 6E

The hardware encode is missing the AU delimiter SPS and PPS and instead I get a bunch of zeros.

The hardware encode used to work fine with  Intel Graphics Driver "8.15.10.2761" and the Intel Media SDK 2013.

I tried again in software

with the following parameters (software encode; no "-hw" parameter):

h264 -i sample_video_content_0\test_stream.yuv -o test_output.avc -w 176 -h 96

the output of the AVC software encoded elementary stream looks like this:

 

 00 00 00 01 09 10 00 00 00 01 27 64 00 0B AC 2E C2 CD B0 11 00 00 03 00 01 00 00 03 00 3C E0 60

 06 D6 00 1F BD BD EF 82 80 00 00 00 01 28 EE 3C B0 00 00 01 06 00 07 81 98 03 01 98 03 C0 01 07

 00 00 03 00 00 03 00 02 04 80 00 00 01 25 88 80 20 34 BF D4 C0 C7 4D E0 33 3D 7F BC 86 F3 39 C3

 87 52 A7 EA 1F 94 06 72 91 B0 67 29 21 E3 6E 01

Any advice what might be going wrong?

Hi Markus,

What's your hardware configuration? Processor, board etc.? Is your BIOS up to date/latest?

Regards,

Nina

I just uninstalled Intel Media SDK 2013 - the AVC stream is still corrupted

 

Intel Media SDK System Analyzer (64 bit)

The following versions of Media SDK API are supported by platform/driver:

 Version Target Supported Dec Enc
 1.0 HW Yes  X X
 1.0 SW Yes  X X
 1.1 HW Yes  X X
 1.1 SW Yes  X X
 1.3 HW Yes  X X
 1.3 SW Yes  X X
 1.4 HW Yes  X X
 1.4 SW Yes  X X
 1.5 HW Yes  X X
 1.5 SW Yes  X X
 1.6 HW Yes  X X
 1.6 SW Yes  X X
 1.7 HW Yes  X X
 1.7 SW Yes  X X
 1.8 HW Yes  X X
 1.8 SW Yes  X X

Graphics Devices:
 Name                                         Version             State
 Intel(R) HD Graphics 4000                    10.18.10.3496       Active

System info:
 CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
 OS: Microsoft Windows Embedded Standard
 Arch: 64-bit

Installed Media SDK packages (be patient...processing takes some time):
 Intel® Media SDK 2014 for Clients (x64)
 Intel Media SDK Video Encoding Sample 5.0.337.78585

Installed Media SDK DirectShow filters:

Installed Intel Media Foundation Transforms:
  Intel® Hardware M-JPEG Decoder MFT : {00C69F81-0524-48C0-A353-4DD9D54F9A6E}
  Intel® Hardware VC-1 Decoder MFT : {059A5BAE-5D7A-4C5E-8F7A-BFD57D1D6AAA}
  Intel® Hardware H.264 Decoder MFT : {45E5CE07-5AC7-4509-94E9-62DB27CF8F96}
  Intel® Hardware MPEG-2 Decoder MFT : {CD5BA7FF-9071-40E9-A462-8DC5152B1776}
  Intel® Quick Sync Video H.264 Encoder MFT : {4BE8D3C0-0515-4A37-AD55-E4BAE19AF471}
  Intel® Hardware Preprocessing MFT : {EE69B504-1CBF-4EA6-8137-BB10F806B014}

 

Analysis complete... [press ENTER]
 

Thanks Markus. Could you please check what's the version of Media SDK dynamic library libmfxhw64.dll under Progam Files (x86)\Intel\Media SDK? And if that exact dll is loaded during sample_encode execution? When you invoke sample app with -hw option it's the hardware library that gets called and this hw library is carried and installed by graphics driver, not by Media SDK 2013 or 2014 package. It might be that due to incorrect driver update an old Media SDK dll remained in the system and is getting called. And when it tries to work with the new driver it results in some incompatibility leading to zero headers. Just a theory though, need you to check this.

Knowing you motherboard model would also help to understand the landscape. Judging by how old your original driver was I'm guessing that your BIOS/video BIOS might be very old as well and requiring an update.

Regards,

Nina

 

Directory:

C:\Program Files\Intel\Media SDK

files:

libmfxhw64.dll (File version: 5.14.3.6; Product version: 5.0.1533351.85453)
libmfxhw32.dll (File version: 5.14.3.6; Product version: 5.0.1533351.85453)

Here what was loaded:

'sample_encode.exe': Loaded 'C:\sofodev\3rdParty\sdk\Intel\Samples\Video Encoding Sample 5.0.337.78585\_build\x64\Debug\sample_encode.exe', Symbols loaded.

'sample_encode.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\user32.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\gdi32.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\lpk.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\usp10.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\msvcrt.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\advapi32.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\sechost.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\rpcrt4.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\dxva2.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\ole32.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\d3d9.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\version.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\d3d8thk.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\dwmapi.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\imm32.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\msctf.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\uxtheme.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\igdumdim64.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\igdusc64.dll', Cannot find or open the PDB file
'sample_encode.exe': Unloaded 'C:\Windows\System32\igdumdim64.dll'
'sample_encode.exe': Unloaded 'C:\Windows\System32\igdusc64.dll'

'sample_encode.exe': Loaded 'C:\Program Files\Intel\Media SDK\libmfxhw64.dll', Cannot find or open the PDB file

'sample_encode.exe': Loaded 'C:\Windows\System32\d3d11.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\dxgi.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\winmm.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\igdumdim64.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\igdusc64.dll', Cannot find or open the PDB file
'sample_encode.exe': Loaded 'C:\Windows\System32\igfxcmrt64.dll', Binary was not built with debug information.

Motherboard and Bios

Motherboard is a Supermicro C7Q67
Bios Version 2.0b
ME Firmware Version 7.0.10.1203
Buid Date 11/22/2012

 

Hi Markus,

Media SDK version is correct. I suggest you to try two things:

1) completely uninstall the graphics driver and then install it again (the 3496 version)

2) if this doesn't help, try updating the BIOS for your board. The Supermicro website lists a newer version available for C7Q67: R 2.0c

I'm a bit confused by the description of this board telling it supports 2nd gen Intel Core, while you're using a 3rd gen Intel Core processor. Have you checked with Supermicro that it's a supported configuration?

Regards,

Nina

 

 

 

1.) I did uninstall and re-install 3496

2.) I updated the BIOS

The problem persists.

Supermicro has supported us getting your 3rd gen processor to work - including BIOS updates.

 

BTW:

What doesn't seem to work is inserting the non video NALs.

I am getting:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... 00 00 01 25 ... (Zeroed out header, followed by IDR)

I should be getting:

00 00 01 09 (AU delim) 00 00 01 x7 ... (SPS) 00 00 01 x8 (PPS)  ... 00 00 01 25 (IDR)

Something goes wrong patching up the video stream inserting AUs, SPSs and PPSs.

Any chance you guys have a look at that code?

Thanks!

 

Thanks for checking. I understand that from your perspective the issue looks related to software stack, but the code is actually just fine. This driver, Media SDK version and sample version work fine on plenty of our test systems, including the likes of 3rd Gen Intel Core and even WES7 (which is not officially supported by Intel Media SDK). That's why I'm pretty sure the issue is hard/firm-ware related, or how the new driver ineracts with those. As we don't have the issue reproducible at our side, I really need your help experimenting further with your system.

So,

1) Could you please try with the VGA driver that is provided by Supermicro: v15.28.8.2875

2) Do you have other systems where you could test similar configuration?

Nina

Nina,

1)

I installed the VGA driver provided by Supermicro: (v15.28.8.2875).

With your encode sample:

Now the AVC video stream contains AU delimiters, SPS and PPS.

 

With our application:

But I observed a couple new problems:

I am getting corrupted jpegs (hardware and software encode) - jpegs don't preview in window explorer or MS Paint.

The VPP leaves locks on the surface although I flushed it and there may be an encoder timestamp pass through issue.

So one step forward and two to three steps backwards :-(

2)

I do have multiple systems with the same setup - consistently the same issues.

 

Thanks

Markus.

 

 

Nina,

I am happy to FedEx you a machine fully setup with a Supermicro motherboard in it.

Please let me know if there is anything else I can do.

 

Thanks & regards

Markus.

Hi Markus,

Thank you for checking that driver and for your offer. I think that's actually what we need :) Will follow up with you by email.

Regards,

Nina

Faça login para deixar um comentário.