static int klv_encode_ber_length(AVIOContext *pb, uint64_t len)
{
// Determine the best BER size
- int size;
- if (len < 128) {
+ int size = klv_ber_length(len);
+ if (size == 1) {
//short form
avio_w8(pb, len);
return 1;
}
- size = (av_log2(len) >> 3) + 1;
-
+ size --;
// long form
avio_w8(pb, 0x80 + size);
while(size) {