264 |
#ifdef BFRAMES |
#ifdef BFRAMES |
265 |
|
|
266 |
// TODO: handle malloc() == NULL |
// TODO: handle malloc() == NULL |
267 |
pEnc->max_bframes = pParam->max_bframes; |
pEnc->mbParam.max_bframes = pParam->max_bframes; |
268 |
pEnc->bquant_ratio = pParam->bquant_ratio; |
pEnc->bquant_ratio = pParam->bquant_ratio; |
269 |
if (pEnc->max_bframes > 0) |
if (pEnc->mbParam.max_bframes > 0) |
270 |
{ |
{ |
271 |
int n; |
int n; |
272 |
|
|
273 |
pEnc->bframes = malloc(pEnc->max_bframes * sizeof(FRAMEINFO *)); |
pEnc->bframes = malloc(pEnc->mbParam.max_bframes * sizeof(FRAMEINFO *)); |
274 |
|
|
275 |
for (n = 0; n < pEnc->max_bframes; n++) |
for (n = 0; n < pEnc->mbParam.max_bframes; n++) |
276 |
{ |
{ |
277 |
pEnc->bframes[n] = malloc(sizeof(FRAMEINFO)); |
pEnc->bframes[n] = malloc(sizeof(FRAMEINFO)); |
278 |
pEnc->bframes[n]->mbs = malloc(sizeof(MACROBLOCK) * pEnc->mbParam.mb_width * pEnc->mbParam.mb_height); |
pEnc->bframes[n]->mbs = malloc(sizeof(MACROBLOCK) * pEnc->mbParam.mb_width * pEnc->mbParam.mb_height); |
316 |
|
|
317 |
// ================================================================= |
// ================================================================= |
318 |
#ifdef BFRAMES |
#ifdef BFRAMES |
319 |
if (pEnc->max_bframes > 0) |
if (pEnc->mbParam.max_bframes > 0) |
320 |
{ |
{ |
321 |
int n; |
int n; |
322 |
for (n = 0; n < pEnc->max_bframes; n++) |
for (n = 0; n < pEnc->mbParam.max_bframes; n++) |
323 |
{ |
{ |
324 |
image_destroy(&pEnc->bframes[n]->image, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height); |
image_destroy(&pEnc->bframes[n]->image, pEnc->mbParam.edged_width, pEnc->mbParam.edged_height); |
325 |
free(pEnc->bframes[n]->mbs); |
free(pEnc->bframes[n]->mbs); |
507 |
/* note: sequences like "IIBB" decode fine with msfdam but, |
/* note: sequences like "IIBB" decode fine with msfdam but, |
508 |
go screwy with divx5.00 */ |
go screwy with divx5.00 */ |
509 |
} |
} |
510 |
else if (pEnc->bframenum_tail >= pEnc->max_bframes) |
else if (pEnc->bframenum_tail >= pEnc->mbParam.max_bframes) |
511 |
{ |
{ |
512 |
dprintf("--- PFRAME ---"); |
dprintf("--- PFRAME ---"); |
513 |
|
|