Mercurial > libavcodec.hg
comparison dsputil.c @ 2272:cd43603c46f9 libavcodec
move h264 idct to its own file and call via function pointer in DspContext
allow h264 idct to be used for lowres=1
author | michael |
---|---|
date | Mon, 27 Sep 2004 19:47:17 +0000 |
parents | 12e75af1d44c |
children | 23e7af611c34 |
comparison
equal
deleted
inserted
replaced
2271:859535b5eb57 | 2272:cd43603c46f9 |
---|---|
3432 c->fdct248 = ff_fdct248_islow; | 3432 c->fdct248 = ff_fdct248_islow; |
3433 } | 3433 } |
3434 #endif //CONFIG_ENCODERS | 3434 #endif //CONFIG_ENCODERS |
3435 | 3435 |
3436 if(avctx->lowres==1){ | 3436 if(avctx->lowres==1){ |
3437 c->idct_put= ff_jref_idct4_put; | 3437 if(avctx->idct_algo==FF_IDCT_INT || avctx->idct_algo==FF_IDCT_AUTO){ |
3438 c->idct_add= ff_jref_idct4_add; | 3438 c->idct_put= ff_jref_idct4_put; |
3439 c->idct_add= ff_jref_idct4_add; | |
3440 }else{ | |
3441 c->idct_put= ff_h264_lowres_idct_put_c; | |
3442 c->idct_add= ff_h264_lowres_idct_add_c; | |
3443 } | |
3439 c->idct = j_rev_dct4; | 3444 c->idct = j_rev_dct4; |
3440 c->idct_permutation_type= FF_NO_IDCT_PERM; | 3445 c->idct_permutation_type= FF_NO_IDCT_PERM; |
3441 }else if(avctx->lowres==2){ | 3446 }else if(avctx->lowres==2){ |
3442 c->idct_put= ff_jref_idct2_put; | 3447 c->idct_put= ff_jref_idct2_put; |
3443 c->idct_add= ff_jref_idct2_add; | 3448 c->idct_add= ff_jref_idct2_add; |
3460 c->idct = simple_idct; | 3465 c->idct = simple_idct; |
3461 c->idct_permutation_type= FF_NO_IDCT_PERM; | 3466 c->idct_permutation_type= FF_NO_IDCT_PERM; |
3462 } | 3467 } |
3463 } | 3468 } |
3464 | 3469 |
3470 c->h264_idct_add= ff_h264_idct_add_c; | |
3471 | |
3465 /* VP3 DSP support */ | 3472 /* VP3 DSP support */ |
3466 c->vp3_dsp_init = vp3_dsp_init_c; | 3473 c->vp3_dsp_init = vp3_dsp_init_c; |
3467 c->vp3_idct = vp3_idct_c; | 3474 c->vp3_idct = vp3_idct_c; |
3468 | 3475 |
3469 c->get_pixels = get_pixels_c; | 3476 c->get_pixels = get_pixels_c; |