Does H264 QSV support automatic I-frame insertion? I notice that all the gop size are the same.
When encoding a high motion video, static gop size will make the result bad.
If h264 qsv doesn't support scene change detection currently, what's the plan for it?
Currently the SDK does not support automatic I-frame insertion, and yes, the GOP size is static.
If your use case is streaming, bitrate control methods can help you achieve quality while distributing the motion change spikes among frames. You may want to look into Look Ahead (LA) option for that. It is not HRD complaint though. To quote from the developer's guide - "There are several custom bit rate control modes in the Media SDK AVC encoder that has been designed to improve encoding quality and behavior for specific usage models. Some of these use a technique known as Look Ahead (LA). The technique produces especially good results on video sequences with static to fast motion scene changes."
If you can provide us with some details on the use case you are targeting, we can help you find the closest possible solution may be.
Can you also please share any high scene change video you may be using for your development? We could use customer provided videos as test cases, which will be helpful to both.
Hi SRAVANTHI K,
I want to know what's the plan for automatic I-frame insertion.
1. we consider scene change detection as a basic technology for morden encoders;
2. LA may help to optimize the RC part, but does't help to produce natural gop structures before RC
3. our product will use the encoded gop structure assist video editing
Thank you for your response. I went back to see if I missed something in my previous response, and I found the AdaptiveI and AdaptiveB flags in mfxEncodingOption2 structure. I have personally not used them, but I will spend sometime working with them to see if they provide the necessary effect you are looking for. In the meantime, I encourage you to try it out and let me know of the developments.
From the manual (mediasdk-man.pdf p85) - "This flag controls insertion of I frames by the SDK encoder. Turn ON this flag to allow changing of frame type from P and B to I."
Thanks for the update Yabo. I am seeing similar behavior as you did. I will get back to you with a more concrete answer/solution to the issue you are seeing soon. Thanks.
Here is the status - we do not have API support for flexible GOP or scene change detection in particular. Currently, there are multiple knobs one could use (GOP size, BRC controls, LA etc.,) as mentioned previously to achieve (close enough) desired effects.
These features you request are something we are considering for future releases. For implementing these today, we recommend developers to implement their own optimized algorithms (you can look into OpenCL too) to achieve the desired effects.
Will keep you posted when we do have the feature implemented. Thanks.