Bug in H264 decode buffer size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It worked for me. I've set the default at 720x576 and I'm able to 
connect to a 4CIF endpoint at level 3.0. Note that find_highest_res 
calculates the maximum picture size in macroblocks not by reading a 
constant from a table (which it probably should do) but by reading the 
max macroblocks per second and dividing it by the frame rate in the 
codec table. So if you set the frame rate too high for the profile level 
it would use a smaller picture size than maximum.

Easiest way to debug is to put a break in find_highest_res and see how 
it calculates the frame size.

Regards,

Bill

On 5/22/2014 1:36 PM, Eeri Kask wrote:
> On Wed, 21 May 2014 13:54:36 -0400, Bill Gardner:
>> So to safely connect to other H264 endpoints at level 3.0,
>> I think the ffmpeg table should use 720x576. I will try that.
>
> Did you succeed in trying that?  I failed.
>
> I tested levels 42000a, 42000b, 420016 and all of them fail to transmit
> the maximum number of macroblocks (99, 396, 1620 respctively); in pixels:
>
>      176x144
>      352x288
>      720x576
>
> by reporting errors about "... not enough buffer for decoded frame
> (supplied=XXXX, required=YYYY)".
>
> For the smallest size, 42000a with 99 macroblocks as maximum I could
> successfully transfer 75x1 macroblock video (1200x16 pixel), which is
> 75% of the "theoretical" limit of 99x1 (1584x16 pixel).
>
> Whats wrong with the memory management? :-)
>
>      Eeri Kask
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux