diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-10-26 23:35:46 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-10-26 23:35:46 +0000 |
commit | c7c01433e711ef27dfeb48275f5e4cbcfd2f3345 (patch) | |
tree | de7d05c39b5552660d9f61e17b9248ec550f8a01 /libmpcodecs | |
parent | 251308d90c31b1c81ba773e20f1e19c19d6c190b (diff) | |
download | mpv-c7c01433e711ef27dfeb48275f5e4cbcfd2f3345.tar.bz2 mpv-c7c01433e711ef27dfeb48275f5e4cbcfd2f3345.tar.xz |
10l and minor optimization
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11281 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_spp.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libmpcodecs/vf_spp.c b/libmpcodecs/vf_spp.c index a92390a614..a863e6ea92 100644 --- a/libmpcodecs/vf_spp.c +++ b/libmpcodecs/vf_spp.c @@ -114,12 +114,13 @@ static inline void requantize(DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t } static inline void add_block(int16_t *dst, int stride, DCTELEM block[64]){ - int x,y; + int y; for(y=0; y<8; y++){ - for(x=0; x<8; x++){ - dst[x + y*stride]+= block[x + y*8]; - } + *(uint32_t*)&dst[0 + y*stride]+= *(uint32_t*)&block[0 + y*8]; + *(uint32_t*)&dst[2 + y*stride]+= *(uint32_t*)&block[2 + y*8]; + *(uint32_t*)&dst[4 + y*stride]+= *(uint32_t*)&block[4 + y*8]; + *(uint32_t*)&dst[6 + y*stride]+= *(uint32_t*)&block[6 + y*8]; } } @@ -290,6 +291,9 @@ static int open(vf_instance_t *vf, char* args){ vf->uninit=uninit; vf->priv=malloc(sizeof(struct vf_priv_s)); memset(vf->priv, 0, sizeof(struct vf_priv_s)); + + avcodec_init(); + vf->priv->avctx= avcodec_alloc_context(); dsputil_init(&vf->priv->dsp, vf->priv->avctx); |