comparison dsputil.c @ 1689:1a2db2073848 libavcodec

split intra / inter dequantization
author michael
date Sun, 14 Dec 2003 02:57:00 +0000
parents 901f928ec1f6
children dea5b2946999
comparison
equal deleted inserted replaced
1688:04b759af8bd4 1689:1a2db2073848
2764 s->dsp.diff_pixels(temp, src1, src2, stride); 2764 s->dsp.diff_pixels(temp, src1, src2, stride);
2765 2765
2766 memcpy(bak, temp, 64*sizeof(DCTELEM)); 2766 memcpy(bak, temp, 64*sizeof(DCTELEM));
2767 2767
2768 s->block_last_index[0/*FIXME*/]= s->fast_dct_quantize(s, temp, 0/*FIXME*/, s->qscale, &i); 2768 s->block_last_index[0/*FIXME*/]= s->fast_dct_quantize(s, temp, 0/*FIXME*/, s->qscale, &i);
2769 s->dct_unquantize(s, temp, 0, s->qscale); 2769 s->dct_unquantize_inter(s, temp, 0, s->qscale);
2770 simple_idct(temp); //FIXME 2770 simple_idct(temp); //FIXME
2771 2771
2772 for(i=0; i<64; i++) 2772 for(i=0; i<64; i++)
2773 sum+= (temp[i]-bak[i])*(temp[i]-bak[i]); 2773 sum+= (temp[i]-bak[i])*(temp[i]-bak[i]);
2774 2774
2837 bits+= esc_length; 2837 bits+= esc_length;
2838 2838
2839 } 2839 }
2840 2840
2841 if(last>=0){ 2841 if(last>=0){
2842 s->dct_unquantize(s, temp, 0, s->qscale); 2842 if(s->mb_intra)
2843 s->dct_unquantize_intra(s, temp, 0, s->qscale);
2844 else
2845 s->dct_unquantize_inter(s, temp, 0, s->qscale);
2843 } 2846 }
2844 2847
2845 s->dsp.idct_add(bak, stride, temp); 2848 s->dsp.idct_add(bak, stride, temp);
2846 2849
2847 distoration= s->dsp.sse[1](NULL, bak, src1, stride); 2850 distoration= s->dsp.sse[1](NULL, bak, src1, stride);