1316 |
void decoder_output(DECODER * dec, IMAGE * img, MACROBLOCK * mbs, |
void decoder_output(DECODER * dec, IMAGE * img, MACROBLOCK * mbs, |
1317 |
xvid_dec_frame_t * frame, xvid_dec_stats_t * stats, int coding_type) |
xvid_dec_frame_t * frame, xvid_dec_stats_t * stats, int coding_type) |
1318 |
{ |
{ |
1319 |
|
if (frame->general & (XVID_DEBLOCKY|XVID_DEBLOCKUV)) /* post process */ |
1320 |
|
{ |
1321 |
|
/* note: image is stored to tmp */ |
1322 |
|
image_copy(&dec->tmp, img, dec->edged_width, dec->height); |
1323 |
|
image_deblock(&dec->tmp, dec->edged_width, |
1324 |
|
mbs, dec->mb_width, dec->mb_height, dec->mb_width, |
1325 |
|
frame->general); |
1326 |
|
img = &dec->tmp; |
1327 |
|
} |
1328 |
|
|
1329 |
image_output(img, dec->width, dec->height, |
image_output(img, dec->width, dec->height, |
1330 |
dec->edged_width, (uint8_t**)frame->output.plane, frame->output.stride, |
dec->edged_width, (uint8_t**)frame->output.plane, frame->output.stride, |
1331 |
frame->output.csp, dec->interlacing); |
frame->output.csp, dec->interlacing); |