Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3056 Discussions

Is it possible to notify h264 HW encoder about frame update region?

nick_k_5
Beginner
383 Views

hello

I am trying to use HW encoder for streaming h264. I know i should push raw frames to encoder and it will do everything for me.

Besides that i am expecting that encoder should compare new coming frame with several previous frames for making P-frame difference calculation. And i expect that frame comparation is probably very heavy task.

What if i know exactly update region? I know list of affected regions which changed relative to previous frames. This info theoretically could help encoder to do frame comparation faster. Knowledge of frame update region could save some CPU/GPU power.

But question is: how to give update region to encoder? Is it ever possible?

0 Kudos
2 Replies
Alexey_F_Intel
Employee
383 Views

this is really nice question which does not have simple answer. bare metal likes predictable process - if you region is moving within a picture then it might not be any relief to encoding process. Yes, for sure it is nice to know content ahead of encoding but what blocks you make a smart application which encodes only changing regiond?

As far as I recall there is only option to specify QP(in CQP mode only!)  for a region for Media SDK, not exactly that you ask.

Alexey

0 Kudos
nick_k_5
Beginner
383 Views

Alexey Fadeev (Intel) wrote:

this is really nice question which does not have simple answer. bare metal likes predictable process - if you region is moving within a picture then it might not be any relief to encoding process. Yes, for sure it is nice to know content ahead of encoding but what blocks you make a smart application which encodes only changing regiond?

As far as I recall there is only option to specify QP(in CQP mode only!)  for a region for Media SDK, not exactly that you ask.

Alexey

i can explain why this feature could be useful. Lets assume i am working on wireless display driver.

Display driver receives a draw calls like BitBlt or TextOut or LineTo. Of cause, because of this, display driver knows exactly update region on user desktop. User activity on screen very often takes small action on screen, small area is affected: user types text in WinWord few chars in second, or invokes context menu, or even watches youtube video in browser window - also not a full screen.

We know update region but we cannot pass this info to h264 encoder.

So we need to pass 20-30 fps whole screen to encoder - i expect this is probably not effective. Issue is even dramatic if display driver is for mutliuser terminal server. If HW can compress 300 FPS full HD, this mean that only 10 users can be handled by terminal server in this case.

такие дела..

nick

 

0 Kudos
Reply