Community
cancel
Showing results for 
Search instead for 
Did you mean: 
luyf91
Beginner
206 Views

does cuqp or mbqp will be disable when I turn on the extbrc?

Jump to solution

I use the sample_encode to test the extbrc feature, but I find the cuqp or mbqp will be disable, thats mean every cu or mb use the frame qp. Is that normal? Why media sdk can not enable extbrc with mbqp?

sample_encode.exe h265 -w 1920 -h 1080 -i 04_StandardSequence_1920x1080_1097f.yuv -f 15 -b 2000 -cbr -nobref -r 1 -x 1 -g 65535 -CodecProfile 1 -gpb:off -o StandardSequence_cbr.bin -extbrc:on

 

My devices is Intel core i7-8700@3.2GHz, my system is windows 10.

0 Kudos
1 Solution
Mark_L_Intel1
Moderator
54 Views

Glad to help,


To be more clear:

  1. This enable/disable happens at MSDK API, not in sample. This means every time you use extBRC, you disable the HW MB rate control.
  2. This apply to both Windows and Linux.
  3. extBRC is a software feature, this added flexibility for customer to implement their own BRC control, the trade-off is the software based. In this case, our sample of extBRC didn't implement the MB control, this is the reason why you can't find it.


Mark



View solution in original post

12 Replies
ArunJ_Intel
Moderator
187 Views

Hi 



Could you please provide the media sdk version you are using. Also please mention the GPU device you are using to run sample encode


Thanks

Arun 


luyf91
Beginner
179 Views

my media sdk version is 2020 R1,my GPU is Intel UHD Graphics 630,the GPU driver version is 27.20.100.9316.

ArunJ_Intel
Moderator
158 Views

Hi


We are checking on this internally will get back to you when we have an update.


Thanks

Arun


luyf91
Beginner
153 Views

ok,thank you for your reply, and waiting for your news.

Mark_L_Intel1
Moderator
145 Views

Hi Luyf,


I saw your post on GitHub and this is good approach, since that is supported by dev team directly..


I will try to contact with dev team but want to understand more about your test. In your command: sample_encode.exe h265 -w 1920 -h 1080 -i 04_StandardSequence_1920x1080_1097f.yuv -f 15 -b 2000 -cbr -nobref -r 1 -x 1 -g 65535 -CodecProfile 1 -gpb:off -o StandardSequence_cbr.bin -extbrc:on


It seems you disabled qpb at the command line and this command run successful. If not, how did you get the conclusion "...the extbrc feature, but I find the cuqp or mbqp will be disable,...". Could you post both your failed command and error message(or the test to the wrong result)?


Mark


luyf91
Beginner
131 Views

Actually I got no error from the cmd, I use the Intel video Pro Analyzer tool to see the stream, and I find that every cu or mb use the frame qp. I set  "-gpb:off ", because I want use Lowdelay-P GOP.

Mark_L_Intel1
Moderator
109 Views

Hi luyf:


I don't know sample_encode enabled MBQP, I check the sample document and can't find an argument to turn it on. Our sample is used for demo purpose, it is not necessary to turn on every features. You might try sample_multi-transcoding samples.


Based on this document:

https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption3


When enableMBQP is set, CQP for bitrate control is required. So you can add the argument "-cqp" to check if there is any different result.


You can also change the sample to enable MBQP manually and see if it works.


Mark


luyf91
Beginner
101 Views

I think you may be didn't get my point. I will give what i know.

first, "-extbrc:on"  feature, I think the feature is opened for developers to adjust the encoder frame level ratecontrol algorithm, so this will impact the frame qp.

secode, intel hardware encoder does support mb or cu level ratecontrol algorithm(or AQ algorithm), i find out that cu or mb qp does vary from frame qp, whether it's cbr or vbr.

third, when i turn on the "-extbrc:on"  feature, the frame level ratecontrol algorithm does works on cbr or vbr, but the mb or cu level ratecontrol algorithm will be disabled, because i find out that cu or mb qp is same as frame qp.

And as a developer, i wish that when i turn on the "-extbrc:on"  feature, the frame level ratecontrol algorithm and mb or cu level ratecontrol algorithm will both work.

Mark_L_Intel1
Moderator
94 Views

Thanks lufy,


Got it, I have made a request to dev team and will keep you updated.


Mark


Mark_L_Intel1
Moderator
68 Views

Hi Lufy,


I got result from dev team, they conclude:

Enabling of extbrc will disable HW BRC including HW MB rate control.  

But current implantation of extbrc in samples does not support MB rate control.

That is why the same frame QP are seen for MBs.

Mark


luyf91
Beginner
62 Views

ok,i got it, And thankyou very much for your help.

Mark_L_Intel1
Moderator
55 Views

Glad to help,


To be more clear:

  1. This enable/disable happens at MSDK API, not in sample. This means every time you use extBRC, you disable the HW MB rate control.
  2. This apply to both Windows and Linux.
  3. extBRC is a software feature, this added flexibility for customer to implement their own BRC control, the trade-off is the software based. In this case, our sample of extBRC didn't implement the MB control, this is the reason why you can't find it.


Mark



View solution in original post

Reply