Bitrate Settings in H.264 Encoder is Locked

Bitrate Settings in H.264 Encoder is Locked

Hello
I have some problems while using SDK Filtersin GraphEdit:
TheRCControl.bitrate in H.264 encodercould not be changed to 4795 or lower
Why is it locked, or, is it possible to be unlocked?
Thanks!

Regards
Joyah

- "What hurts more, the pain of hard work, or the pain of regret?"
5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Joyah,

I think I need some more information because I am not seeing the behavior that you are reporting. I was able to use the property page and set the bitrate all the way down to 1000 without issues. Please help me investigate your report by answering the following:

- Which version of the Media SDK were you using?

- Was the encoder setup to use the hardware or software library?

- Are you just using the H264 encoder property pages to set the value? When you set it what happens? Is the graph in a stopped state when you try to adjust?

- Whats the source content resolution?

Hopefully, that will be enough to replicate the behavior and answer your question. If you think of anything else that will aid us feel free to include it.

Thanks

-Eric

Hi Eric,

Thank you for your reply, here's my situation:

- Media SDK 3.0 beta5 is used
- Used in hardware mode (probably).
- When I set bitrate to 4795 or lower in Registry or property page, it will return back to 27572 automatically. Indeed, it's in stop state when trying to apply settings.
-Source is at the resolution of 1080i (1920x1080 interlaced). It was encoded in High profile, level 42.
-My OS is Win7. GraphEdit is from win7sdk (ver 7.0.7600.16385.40715). Media SDK Encoder version is 1.11.10.14.

I hope those information is enough to describe my condition.

Thank you for your guidance, and sincerely looking forward to receiving your reply.

Joyah

- "What hurts more, the pain of hard work, or the pain of regret?"

Hi Joyah,

The code thats clamping the values in the property page and registry can be found in mfx_video_enc_filter_utils.cpp - GetBitrateRanges(). If you look at the code it determines the min, max, and recommended bitrate calculated from the input videos width. It then uses these values to set the windows spincontrol max and min values.

You should be able to adjust the settings in the bitrate_ranges[] array just above the function.I know some of the profiles/level will define a min, max and the MSDK will detect these and adjust when initializing

Hope this helps

Eric

Hi Eric

The problem was perfectly solved after changing the bitrate_ranges[] array and rebuild the DLL, thank you very much!
In fact,Rebuiding this project reallyconfused me during these days, it always comes up with some kind of "FATAL ERROR" that makesa halt. But luckily I found the patch KB949009 to repair that error.
Hope these information will help you improve the project to be more compatible and robust.

Thank you again!

Joyah

- "What hurts more, the pain of hard work, or the pain of regret?"

Leave a Comment

Please sign in to add a comment. Not a member? Join today