Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
18 Views

HEVC encoding, what am I doing wrong?

I have an existing encoder that does QS H,264 and MPEG-2. I'm trying to add HEVC support. I read through the docs and looks at the sample code and I see that you have to load a plug-in to make it work. However when I add the code to my filter the call to MFXVideoUSER_Load returns MFX_ERR_NOT_FOUND. Here is the exact code I'm using

 

		// Setup Intel encoder
		mfxStatus status = MFX_ERR_NONE;
		mfxVersion version = {0, 1}; // We don't currently use any features not in 1.0 so no need to bump this

		CParameterIntelQSPreferences intel_prefs;
		mfxIMPL implementation_type = intel_prefs.GetPropertyInt( "ImplementationType" ) | intel_prefs.GetPropertyInt( "DirectXSurface" );

		// Initialize session
		status = m_mfxSession.Init(implementation_type, &version); // Auto selects hardware or software depending on system capabilities
		if (MFX_ERR_NONE > status)
		{
			LogX("IntelVideoEncoder: Could not initiate hardware encoder, system may not support it: %i", status );
			return E_FAIL;
		}

		
		mfxIMPL	 actualImplementation( MFX_IMPL_AUTO );
		if (MFX_ERR_NONE >  m_mfxSession.QueryIMPL( &actualImplementation ) )
		{
			LogX("IntelVideoEncoder: Could not initiate query implementation");
			return E_FAIL;
		}

		if ( MFX_ERR_NONE > m_mfxSession.QueryVersion( &version ) )
		{
			LogX("IntelVideoEncoder: Could not initiate query version");
			return E_FAIL;
		}

		// Load HEVC plugin
		if (m_videoCodec == MFX_CODEC_HEVC)
		{
			if (MFX_IMPL_BASETYPE(actualImplementation) != MFX_IMPL_SOFTWARE && version.Minor >= 15)
			{
				status = MFXVideoUSER_Load(m_mfxSession, &MFX_PLUGINID_HEVCE_HW, 1);
				if (MFX_ERR_NONE > status)
				{
					LogX("IntelVideoEncoder: Unable to load HEVC encoder: %i", status );
					return E_FAIL;
				}
			}
		}

I have a new i7-7700k with latest intel graphics drivers installed and I'm building against the latest SDK.

0 Kudos
3 Replies
Highlighted
Beginner
18 Views

Anyone have any idea what's going wrong here?

0 Kudos
Highlighted
Beginner
18 Views

No one can tell me what I'm doing wrong?

0 Kudos
Highlighted
New Contributor III
18 Views

Hi Dan,

I think HEVC encoder plugin is missing on your system. Please note that HEVC decoder/encoder plugin are not available with all media sdk package. Refer this: https://software.intel.com/en-us/intel-media-server-studio/try-buy

 

~Ramashankar
0 Kudos