Bitrate on low resolutions

Bitrate on low resolutions


I'm trying to create video for small devices, so video width and height is 320 x 192, framerate is set to 25 fps, codec is MFX_CODEC_AVC, targetUsage MFX_TARGETUSAGE_BEST_SPEED, PicStruct MFX_PICSTRUCT_PROGRESSIVE, RateControlMethod MFX_RATECONTROL_CBR, codec profile MFX_PROFILE_AVC_CONSTRAINED_BASELINE, GopPicSize 16.

TargetKbps is set to values from 50-150... But video output is always about 300 kbp/s.. I'm not able to lower bitrate. Even with 128 x 128 with TargetKbps = 50 video bitrate is about 300k Am I missing something?

Windows 7 64 bit, cpu i7 3770

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Levan,

What version of Media SDK are you using?

Quick test with similar configuration using HW indicates that the requested bitrate is quite close to the bitrate of the generated stream. Using MFX_PROFILE_AVC_CONSTRAINED_BASELINE, the bitrate is slightly higher but not by much.

I am a bit surprised to see that for SW encoder generates streams with bitrates much greater than requested rate. 

Can you confirm if you're using SW or HW encoder?


Hello Petter,

IntelMediaSDK2013 downloaded from the site... HW encoder, here is initialization code


APIChangeFeatures features = {};
features.MVCEncode = false;
features.ViewOutput = false;
features.JpegEncode = false;

mfxVersion version;
version.Major = 1;
version.Minor = 4;

sts = m_mfxSession.Init(impl, &version);


In my tests, no bitrate less than 300 kbp/s could be achieved. on greater resolutions (640 x 480 for example) setting

bitrate (for example 800-1500) works well.


Levan Natroshvili

Just found problem. Encoder gives exactly what should be... On my side bitrate is calculated using network traffic... Each frame is transferred using separate udp packet of MTU size... So even frame is 100 bytes I send ~1,5k


Leave a Comment

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