1197 |
|
|
1198 |
if (pParam->fincr>0) { |
if (pParam->fincr>0) { |
1199 |
BitstreamPutBit(bs, 1); /* fixed_vop_rate = 1 */ |
BitstreamPutBit(bs, 1); /* fixed_vop_rate = 1 */ |
1200 |
BitstreamPutBits(bs, pParam->fincr, log2bin(pParam->fbase-1)); /* fixed_vop_time_increment */ |
BitstreamPutBits(bs, pParam->fincr, MAX(log2bin(pParam->fbase-1),1)); /* fixed_vop_time_increment */ |
1201 |
}else{ |
}else{ |
1202 |
BitstreamPutBit(bs, 0); /* fixed_vop_rate = 0 */ |
BitstreamPutBit(bs, 0); /* fixed_vop_rate = 0 */ |
1203 |
} |
} |
1266 |
BitstreamPadAlways(bs); /* next_start_code(); */ |
BitstreamPadAlways(bs); /* next_start_code(); */ |
1267 |
|
|
1268 |
/* fake divx5 id, to ensure compatibility with divx5 decoder */ |
/* fake divx5 id, to ensure compatibility with divx5 decoder */ |
1269 |
#define DIVX5_ID "DivX000b000p" |
#define DIVX5_ID "DivX999b000p" |
1270 |
if (pParam->max_bframes > 0 && (pParam->global_flags & XVID_GLOBAL_PACKED)) { |
if (pParam->max_bframes > 0 && (pParam->global_flags & XVID_GLOBAL_PACKED)) { |
1271 |
BitstreamWriteUserData(bs, DIVX5_ID, strlen(DIVX5_ID)); |
BitstreamWriteUserData(bs, DIVX5_ID, strlen(DIVX5_ID)); |
1272 |
} |
} |
1323 |
WRITE_MARKER(); |
WRITE_MARKER(); |
1324 |
|
|
1325 |
/* time_increment: value=nth_of_sec, nbits = log2(resolution) */ |
/* time_increment: value=nth_of_sec, nbits = log2(resolution) */ |
1326 |
|
BitstreamPutBits(bs, frame->ticks, MAX(log2bin(pParam->fbase-1), 1)); |
|
BitstreamPutBits(bs, frame->ticks, log2bin(pParam->fbase-1)); |
|
1327 |
#if 0 |
#if 0 |
1328 |
DPRINTF("[%i:%i] %c", |
DPRINTF("[%i:%i] %c", |
1329 |
frame->seconds, frame->ticks, |
frame->seconds, frame->ticks, |