OLD | NEW |
1 /* | 1 /* |
2 * Chinese AVS video (AVS1-P2, JiZhun profile) decoder. | 2 * Chinese AVS video (AVS1-P2, JiZhun profile) decoder. |
3 * | 3 * |
4 * DSP functions | 4 * DSP functions |
5 * | 5 * |
6 * Copyright (c) 2006 Stefan Gehrer <stefan.gehrer@gmx.de> | 6 * Copyright (c) 2006 Stefan Gehrer <stefan.gehrer@gmx.de> |
7 * | 7 * |
8 * This file is part of FFmpeg. | 8 * This file is part of FFmpeg. |
9 * | 9 * |
10 * FFmpeg is free software; you can redistribute it and/or | 10 * FFmpeg is free software; you can redistribute it and/or |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 CAVS_SUBPIX_HV(avg_, op_avg4, ff, 0, -1, 5, 5, -1, 0, -1, -2, 96, 42, -7
, 0, 0) | 503 CAVS_SUBPIX_HV(avg_, op_avg4, ff, 0, -1, 5, 5, -1, 0, -1, -2, 96, 42, -7
, 0, 0) |
504 CAVS_SUBPIX_HV(avg_, op_avg4, ii, -1, -2, 96, 42, -7, 0, 0, -1, 5, 5, -1
, 0, 0) | 504 CAVS_SUBPIX_HV(avg_, op_avg4, ii, -1, -2, 96, 42, -7, 0, 0, -1, 5, 5, -1
, 0, 0) |
505 CAVS_SUBPIX_HV(avg_, op_avg4, kk, 0, -7, 42, 96, -2, -1, 0, -1, 5, 5, -1
, 0, 0) | 505 CAVS_SUBPIX_HV(avg_, op_avg4, kk, 0, -7, 42, 96, -2, -1, 0, -1, 5, 5, -1
, 0, 0) |
506 CAVS_SUBPIX_HV(avg_, op_avg4, qq, 0, -1, 5, 5, -1, 0, 0, -7, 42, 96, -2
,-1, 0) | 506 CAVS_SUBPIX_HV(avg_, op_avg4, qq, 0, -1, 5, 5, -1, 0, 0, -7, 42, 96, -2
,-1, 0) |
507 CAVS_SUBPIX_HV(avg_, op_avg2, egpr, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1
, 0, 1) | 507 CAVS_SUBPIX_HV(avg_, op_avg2, egpr, 0, -1, 5, 5, -1, 0, 0, -1, 5, 5, -1
, 0, 1) |
508 CAVS_MC(put_, 8) | 508 CAVS_MC(put_, 8) |
509 CAVS_MC(put_, 16) | 509 CAVS_MC(put_, 16) |
510 CAVS_MC(avg_, 8) | 510 CAVS_MC(avg_, 8) |
511 CAVS_MC(avg_, 16) | 511 CAVS_MC(avg_, 16) |
512 | 512 |
513 void ff_put_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride); | |
514 void ff_avg_cavs_qpel8_mc00_c(uint8_t *dst, uint8_t *src, int stride); | |
515 void ff_put_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride); | |
516 void ff_avg_cavs_qpel16_mc00_c(uint8_t *dst, uint8_t *src, int stride); | |
517 | |
518 av_cold void ff_cavsdsp_init(DSPContext* c, AVCodecContext *avctx) { | 513 av_cold void ff_cavsdsp_init(DSPContext* c, AVCodecContext *avctx) { |
519 #define dspfunc(PFX, IDX, NUM) \ | 514 #define dspfunc(PFX, IDX, NUM) \ |
520 c->PFX ## _pixels_tab[IDX][ 0] = ff_ ## PFX ## NUM ## _mc00_c; \ | 515 c->PFX ## _pixels_tab[IDX][ 0] = ff_ ## PFX ## NUM ## _mc00_c; \ |
521 c->PFX ## _pixels_tab[IDX][ 1] = ff_ ## PFX ## NUM ## _mc10_c; \ | 516 c->PFX ## _pixels_tab[IDX][ 1] = ff_ ## PFX ## NUM ## _mc10_c; \ |
522 c->PFX ## _pixels_tab[IDX][ 2] = ff_ ## PFX ## NUM ## _mc20_c; \ | 517 c->PFX ## _pixels_tab[IDX][ 2] = ff_ ## PFX ## NUM ## _mc20_c; \ |
523 c->PFX ## _pixels_tab[IDX][ 3] = ff_ ## PFX ## NUM ## _mc30_c; \ | 518 c->PFX ## _pixels_tab[IDX][ 3] = ff_ ## PFX ## NUM ## _mc30_c; \ |
524 c->PFX ## _pixels_tab[IDX][ 4] = ff_ ## PFX ## NUM ## _mc01_c; \ | 519 c->PFX ## _pixels_tab[IDX][ 4] = ff_ ## PFX ## NUM ## _mc01_c; \ |
525 c->PFX ## _pixels_tab[IDX][ 5] = ff_ ## PFX ## NUM ## _mc11_c; \ | 520 c->PFX ## _pixels_tab[IDX][ 5] = ff_ ## PFX ## NUM ## _mc11_c; \ |
526 c->PFX ## _pixels_tab[IDX][ 6] = ff_ ## PFX ## NUM ## _mc21_c; \ | 521 c->PFX ## _pixels_tab[IDX][ 6] = ff_ ## PFX ## NUM ## _mc21_c; \ |
527 c->PFX ## _pixels_tab[IDX][ 7] = ff_ ## PFX ## NUM ## _mc31_c; \ | 522 c->PFX ## _pixels_tab[IDX][ 7] = ff_ ## PFX ## NUM ## _mc31_c; \ |
528 c->PFX ## _pixels_tab[IDX][ 8] = ff_ ## PFX ## NUM ## _mc02_c; \ | 523 c->PFX ## _pixels_tab[IDX][ 8] = ff_ ## PFX ## NUM ## _mc02_c; \ |
529 c->PFX ## _pixels_tab[IDX][ 9] = ff_ ## PFX ## NUM ## _mc12_c; \ | 524 c->PFX ## _pixels_tab[IDX][ 9] = ff_ ## PFX ## NUM ## _mc12_c; \ |
530 c->PFX ## _pixels_tab[IDX][10] = ff_ ## PFX ## NUM ## _mc22_c; \ | 525 c->PFX ## _pixels_tab[IDX][10] = ff_ ## PFX ## NUM ## _mc22_c; \ |
531 c->PFX ## _pixels_tab[IDX][11] = ff_ ## PFX ## NUM ## _mc32_c; \ | 526 c->PFX ## _pixels_tab[IDX][11] = ff_ ## PFX ## NUM ## _mc32_c; \ |
532 c->PFX ## _pixels_tab[IDX][12] = ff_ ## PFX ## NUM ## _mc03_c; \ | 527 c->PFX ## _pixels_tab[IDX][12] = ff_ ## PFX ## NUM ## _mc03_c; \ |
533 c->PFX ## _pixels_tab[IDX][13] = ff_ ## PFX ## NUM ## _mc13_c; \ | 528 c->PFX ## _pixels_tab[IDX][13] = ff_ ## PFX ## NUM ## _mc13_c; \ |
534 c->PFX ## _pixels_tab[IDX][14] = ff_ ## PFX ## NUM ## _mc23_c; \ | 529 c->PFX ## _pixels_tab[IDX][14] = ff_ ## PFX ## NUM ## _mc23_c; \ |
535 c->PFX ## _pixels_tab[IDX][15] = ff_ ## PFX ## NUM ## _mc33_c | 530 c->PFX ## _pixels_tab[IDX][15] = ff_ ## PFX ## NUM ## _mc33_c |
536 dspfunc(put_cavs_qpel, 0, 16); | 531 dspfunc(put_cavs_qpel, 0, 16); |
537 dspfunc(put_cavs_qpel, 1, 8); | 532 dspfunc(put_cavs_qpel, 1, 8); |
538 dspfunc(avg_cavs_qpel, 0, 16); | 533 dspfunc(avg_cavs_qpel, 0, 16); |
539 dspfunc(avg_cavs_qpel, 1, 8); | 534 dspfunc(avg_cavs_qpel, 1, 8); |
540 c->cavs_filter_lv = cavs_filter_lv_c; | 535 c->cavs_filter_lv = cavs_filter_lv_c; |
541 c->cavs_filter_lh = cavs_filter_lh_c; | 536 c->cavs_filter_lh = cavs_filter_lh_c; |
542 c->cavs_filter_cv = cavs_filter_cv_c; | 537 c->cavs_filter_cv = cavs_filter_cv_c; |
543 c->cavs_filter_ch = cavs_filter_ch_c; | 538 c->cavs_filter_ch = cavs_filter_ch_c; |
544 c->cavs_idct8_add = cavs_idct8_add_c; | 539 c->cavs_idct8_add = cavs_idct8_add_c; |
545 } | 540 } |
OLD | NEW |