00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "libavcodec/avcodec.h"
00022 #include "libavcodec/dsputil.h"
00023 #include "dsputil_bfin.h"
00024
00025 void ff_bfin_vp3_idct (DCTELEM *block) attribute_l1_text;
00026 void ff_bfin_idct (DCTELEM *block) attribute_l1_text;
00027 void ff_bfin_add_pixels_clamped (DCTELEM *block, uint8_t *dest, int line_size) attribute_l1_text;
00028 void ff_bfin_put_pixels_clamped (DCTELEM *block, uint8_t *dest, int line_size) attribute_l1_text;
00029
00030
00031 void ff_bfin_vp3_idct_put (uint8_t *dest, int line_size, DCTELEM *block)
00032 {
00033 uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
00034 int i,j;
00035
00036 ff_bfin_vp3_idct (block);
00037
00038 for (i=0;i<8;i++)
00039 for (j=0;j<8;j++)
00040 dest[line_size*i+j]=cm[128+block[i*8+j]];
00041 }
00042
00043
00044 void ff_bfin_vp3_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
00045 {
00046 ff_bfin_vp3_idct (block);
00047 ff_bfin_add_pixels_clamped (block, dest, line_size);
00048 }
00049
00050