Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Rosen__Daniel
Beginner
99 Views

AUD, SPS, PPS missing from Media SDK bit stream.

On my I3770 system, the AUD, SPS, and PPS are missing from the output bit stream.  The buffer appears to be padded with leading zeros.  On an older Core I5 with HD 3000, the output stream stream is correct.  Using the Media SDK R2 2014 with Intel video drivers, 10.18.10.3621 with hardware encode.  I can duplicate with the standard sample_encode applications.  

Both systems are running Windows 8.1 x64 although the applications are 32 bit. Using VS2010.

Tried switching from the hardware encoder to a software encoder (on the I3770), and the m_mfxSession.Init dies in the debugger.

Any suggestions on how to track these issues?

0 Kudos
6 Replies
Jeffrey_M_Intel1
Employee
99 Views

Thanks for your report.  A few more details about the two different machines could help.  Could you make sure I've interpreted correctly and fill in the blanks below?

New machine (AUD, SPS, PPS missing)

  • Processor: i3770
  • Driver version: 10.18.10.3621
  • Media SDK Version: Media SDK R2 2014

Old machine (works)

  • Processor: ?
  • Driver Version: ?
  • Media SDK Version: ?

Any chance you could include more details on how to replicate with sample_encode?   If you've modified anything, please send the lines changed (or attach the full source if that is easier).

Regards, Jeff

Rosen__Daniel
Beginner
99 Views

New machine (AUD, SPS, PPS missing)

  • Processor: i3770
  • Driver version: 10.18.10.3621
  • Media SDK Version: Media SDK R2 2014
  • Windows 8.1 x64
  • 16 MB memory
  • Dual displays connected to the HD 4000
  • 3rd display connected to an NVidia card.  Have disabled the NVidia card, no change in behavior.

Old machine (works)

  • Processor: I5-2557M
  • Driver Version:9.17.10.3347
  • Media SDK Version: Media SDK R2 2014
  • Windows 8.1 x64
  • 4 MB memory
  • Single display (this is a 2011 Macbook Air running with Bootcamp).

No source changes were made to sample_encode.  Here are the command line parameters:

h264  -hw -i c:\temp\h264test\h264decodedFrames.yuv -o out.264 -w 1920 -h 1080 

Here's the output from SDK analyzer:

New (problematic) machine:

Intel Media SDK System Analyzer (32 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.3621       Active
        NVIDIA GeForce GTX 650                       9.18.13.3221        Active

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

Installed Media SDK packages (be patient...processing takes some time):
        Intel Media SDK DirectShow* Sample 5.0.337.78585
        Intel« Media SDK Video Encoding Sample 5.0.461.91752
        Intel« Media SDK 2014 R2 for Clients (x64)

Installed Media SDK DirectShow filters:

Installed Intel Media Foundation Transforms:
  Intel« Hardware M-JPEG Decoder MFT : {00C69F81-0524-48C0-A353-4DD9D54F9A6E}
  Intel« Quick Sync Video H.264 Encoder MFT : {4BE8D3C0-0515-4A37-AD55-E4BAE19AF471}

Old system (working):

Intel Media SDK System Analyzer (32 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      No
        1.1     HW      Yes             X       X
        1.1     SW      No
        1.3     HW      Yes             X       X
        1.3     SW      No
        1.4     HW      Yes             X       X
        1.4     SW      No
        1.5     HW      No
        1.5     SW      No
        1.6     HW      No
        1.6     SW      No
        1.7     HW      No
        1.7     SW      No
        1.8     HW      No
        1.8     SW      No

Graphics Devices:
        Name                                         Version             State
        Intel(R) HD Graphics 3000                    9.17.10.3347        Active

System info:
        CPU:    Intel(R) Core(TM) i5-2557M CPU @ 1.70GHz
        OS:     Microsoft Windows 8.1 Pro
        Arch:   64-bit

Installed Media SDK packages (be patient...processing takes some time):
        Intel« Media SDK 2014 R2 for Clients (x64)

Installed Media SDK DirectShow filters:

Installed Intel Media Foundation Transforms:
  Intel« Quick Sync Video H.264 Encoder MFT : {4BE8D3C0-0515-4A37-AD55-E4BAE19AF
471}

 


Tips:
 - SW target does not work: make sure Media SDK DLL (e.g. libmfxsw64.dll)
   is located in your executable path or in system path

Rosen__Daniel
Beginner
99 Views

I may have found the problem.  According to the debugger the mfxSession.Init, loaded the library from here:

loaded 'C:\Program Files\Intel\Media SDK\libmfxhw32.dll',

However, there's also a copy of the same dll in the 2014 client R2 folder with a slightly older date.  After renaming the Intel\Media SDK folder to something else, our software loads the library from:

Loaded 'C:\Program Files\Intel\Media SDK 2014 R2 for Clients\bin\win32\libmfxsw32.dll'

And now I get the AUD, SPS, PPS.  However the QuickSync is defaulting to a software implementation instead of hardware.

THe is the contents of 2014 R2 bin folders:

 Directory of C:\Program Files\Intel\Media SDK 2014 R2 for Clients\bin\win32

07/14/2014  06:16 PM    <DIR>          .
07/14/2014  06:16 PM    <DIR>          ..
04/28/2014  04:28 PM        16,493,288 libmfxsw32.dll
               1 File(s)     16,493,288 bytes

 Directory of C:\Program Files\Intel\Media SDK 2014 R2 for Clients\bin\x64

07/14/2014  06:16 PM    <DIR>          .
07/14/2014  06:16 PM    <DIR>          ..
04/28/2014  04:29 PM        20,668,648 libmfxsw64.dll
               1 File(s)     20,668,648 bytes

     Total Files Listed:
               2 File(s)     37,161,936 bytes

And here are the contents of the Media SDK folder.  Where did these files come from?

 Directory of C:\Program Files\Intel\Media SDK

07/26/2014  04:51 PM    <DIR>          .
07/26/2014  04:51 PM    <DIR>          ..
05/21/2014  12:33 AM               993 cpa_32.vp
05/21/2014  12:33 AM               993 cpa_64.vp
12/21/2013  04:02 AM           846,855 c_32.cpa
12/21/2013  04:02 AM         1,519,616 c_64.cpa
05/21/2014  12:33 AM            21,523 dev_32.vp
05/21/2014  12:33 AM            21,523 dev_64.vp
05/21/2014  12:33 AM            24,661 he_32.vp
05/21/2014  12:33 AM             5,637 he_64.vp
05/21/2014  12:33 AM        17,542,888 libmfxhw32.dll
05/21/2014  12:33 AM        21,882,088 libmfxhw64.dll
05/21/2014  12:33 AM           626,408 mfxplugin32_hw.dll
05/21/2014  12:33 AM           721,128 mfxplugin64_hw.dll
05/21/2014  12:33 AM           716,800 mfx_mft_h264ve_32.dll
05/21/2014  12:33 AM           889,856 mfx_mft_h264ve_64.dll
05/21/2014  12:33 AM           641,024 mfx_mft_mjpgvd_32.dll
05/21/2014  12:33 AM           792,576 mfx_mft_mjpgvd_64.dll
05/21/2014  12:33 AM            22,541 mj_32.vp
05/21/2014  12:33 AM             5,445 mj_64.vp
              18 File(s)     46,282,555 bytes

 

 

Rosen__Daniel
Beginner
99 Views

OK, the problem was never really fixed.  Turns out when I deleted the "c:\program files\intel\media sdk" folder, it default to the software driver.  I've since deinstalled and re-installed both the intel video driver and the media sdk 2014 R2, and now I'm back to getting encoding output without AUD, SPS, and PPS with an unmodified version of sample_encode. 

What's next?  Below is the output from the Intel Media SDK:

Intel Media SDK System Analyzer (32 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.3621       Active
        NVIDIA GeForce GTX 650                       9.18.13.3221        Active

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

 

Anthony_P_Intel
Employee
99 Views

Hi,

The 'C:\Program Files\Intel\Media SDK\libmfxhw32.dll' was the proper library to hardware to load and was installed as part of your Intel HD 4000 graphics drivers.

The issue you describe with AUD,SPS,PPS is something that could occur if the platform BIOS is not fully supporting your CPU.  Could you please run "DXDIAG" on your platform, select "Save All Information", and provide us the report?

Do you know if the motherboard and BIOS you are using was provided at the same time that the Intel(R) Core(TM) i7-3770 was placed in system, or was this platforms CPU upgraded from a 2nd Generation CPU?

Any information about your platforms BIOS provider would be useful. THANKS

Rosen__Daniel
Beginner
99 Views

Hi Tony, thanks for the quick response.

Here's the BIOS information per CPU-Z:

Here's a list of BIOS upgrades for this motherboard: http://www.gigabyte.com/products/product-page.aspx?pid=3855#bios

I'm running version F10.

DMI BIOS  

	vendor			Award Software International Inc.
	version			F10  <<< THis version should support Ivy Bridge CPUs.
	date			02/23/2012
	ROM size		4096 KB

DMI System Information		
	manufacturer		Gigabyte Technology Co. Ltd.
	product			Z68MA-D2H-B3
	version			unknown
	serial			unknown
	UUID			{00000000-0000-0000-0000-50E54934EAB8}
	SKU			unknown
	family			unknown

DMI Baseboard		
	vendor			Gigabyte Technology Co. Ltd.
	model			Z68MA-D2H-B3
	revision		x.x
	serial			unknown

DxDiag information attached.

Thanks, Dan

 

 

Reply