I'm using intel hw to encode h264 video recently, and i found that the program will always crash. after serval week's debug, i found it's caused by VPP, and i wrote a small test program, only use VPP, after serval hours or 1 or 2days, it will crash in libmfx32.dll. my use case is:
1. malloc memory for input YUV
2. read YUV data.
3. malloc memory2.
4. copy YUV from memory to memory2.
5. malloc memory3 for output YUV.
6. attach memory2 and memory 3 to input and output surface.
7. call RunFrameVPPAsync
8. call SyncOperation
9. free all the memory.(in my real environment, i need always malloc and free memory like this)
10. loop it forever.
i have upload all the test solution, for input YUV, i use 1920*1088(for multiple of 32)&NV12, so you can use any YUV with this format to reproduce it.
my system information:
SDK: Media SDK 2014 for Clients & Media SDK 2014 R2 for Clients
Driver version: 10.18.10.3621
CPU: Intel(R) Xeon(R) CPU E3-1245 V3
GPU: Intel(R) HD Graphics P4600/4700
System: Windows 8.1
The following versions of Media SDK API are supported by platform/driver:
Version Target Supported Dec Enc
1.0 HW Yes X X [Adapter 1]
1.0 SW No
1.1 HW Yes X X [Adapter 1]
1.1 SW No
1.3 HW Yes X X [Adapter 1]
1.3 SW No
1.4 HW Yes X X [Adapter 1]
1.4 SW No
1.5 HW Yes X X [Adapter 1]
1.5 SW No
1.6 HW Yes X X [Adapter 1]
1.6 SW No
1.7 HW Yes X X [Adapter 1]
1.7 SW No
1.8 HW Yes X X [Adapter 1]
1.8 SW No
Name Version State
Intel(R) HD Graphics P4600/P4700 10.18.10.3621 08
Matrox G200eR (WDDM 1.2) 188.8.131.52 Active
CPU: Intel(R) Xeon(R) CPU E3-1245 v3 @ 3.40GHz
OS: Microsoft Windows 8.1
Installed Media SDK packages (be patient...processing takes some time):
Hello there -
"ncode h264 video recently, and i found that the program will always crash" --> What encode application did you use? Did you use sample_encode from samples or simple_encode from the tutorials?
"caused by VPP"--> Can you please run the tutorial applications such as simple_4_vpp_resize_denoise and let us know if you are seeing similar behavior (VPP crashing I mean).
In general, we highly recommend you use our samples and tutorials applications as starting points. For simple encode test, you could use simple_3_encode tutorial or its variants, for simple vpp operations test, the sample I mentioned above. If you want to test multiple encodes and vpp, you can use the sample_encode and sample_vpp samples.
Let me know if you can reproduce the issue you are seeing with the samples/tutorials I mentioned above - that would be greatly helpful.