http://svn.pjsip.org/repos/pjproject/trunk H.264 uses 720x480 @ 15 fps as default format of coding/decoding video. I want 640x480. const pj_str_t codec_id = {"H264", 4}; pjmedia_vid_codec_param param; pjsua_vid_codec_get_param(&codec_id, ¶m); param.enc_fmt.det.vid.size.w = 640; param.enc_fmt.det.vid.size.h = 480; param.enc_fmt.det.vid.fps.num = 30; param.enc_fmt.det.vid.fps.denum = 1; param.dec_fmt.det.vid.size.w = 640; param.dec_fmt.det.vid.size.h = 480; param.dec_fmt.det.vid.fps.num = 30; param.dec_fmt.det.vid.fps.denum = 1; param.dec_fmtp.cnt = 2; param.dec_fmtp.param[0].name = pj_str("profile-level-id"); param.dec_fmtp.param[0].val = pj_str("42e01e"); param.dec_fmtp.param[1].name = pj_str("packetization-mode"); param.dec_fmtp.param[1].val = pj_str("1"); pjsua_vid_codec_set_param(&codec_id, ¶m); Now what we get. Encoding format: 640x480 Decoding format: 720x480 Probmel found in file vic_codec_util.c This lines if (vfd->size.w * vfd->size.h < level_info.def_w * level_info.def_h) { vfd->size.w = level_info.def_w; vfd->size.h = level_info.def_h; } fallbacks to default level-id codec parameter, instead uses specified in pjsua vid_codec_set_param. What I think this lines must means: if video pixel count greater that max level-id pixel count, we must use level-id default sizes. I changed < to > and now it work for me. What you think? May be I am wrong? --------------------------------------- Benny: It will be great if you send your mail to the mailing list next time, because I myself don't know all the pjsip codes and I had to forward your mail to people here who otherwise would be able to read and respond to your mail directly. Secondly, please mention the pjsip version that you're using. Lately we're moving on daily basis and your bug may have been fixed. What's the problem ? In current code, we allocate buffer to anticipate bigger picture size. If the picture size is decreasing then we'll just use that buffer, hence we think the code is correct. Best regards, Benny On Thu, May 24, 2012 at 6:48 PM, Dmitry Valegov <valegov at gmail.com> wrote: Hello Benny, 1. I had problems with decreasing video size, and after few days found this. Current: if (vfd->size.w * vfd->size.h < level_info.def_w * level_info.def_h) { vfd->size.w = level_info.def_w; vfd->size.h = level_info.def_h; } Must be: if (vfd->size.w * vfd->size.h *>* level_info.def_w * level_info.def_h) { vfd->size.w = level_info.def_w; vfd->size.h = level_info.def_h; } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120525/1a762f48/attachment.html>