[SCM] libav/experimental: Generate correct deblock pattern for RV30
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:33:39 UTC 2013
The following commit has been merged in the experimental branch:
commit 26bc319c1d358f32587a9938db0a4a97d26206b7
Author: Kostya Shishkov <kostya.shishkov at gmail.com>
Date: Wed Dec 17 19:39:56 2008 +0000
Generate correct deblock pattern for RV30
Originally committed as revision 16191 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/rv34.c b/libavcodec/rv34.c
index 6cf5869..feffa34 100644
--- a/libavcodec/rv34.c
+++ b/libavcodec/rv34.c
@@ -1109,7 +1109,15 @@ static int rv34_set_deblock_coef(RV34DecContext *r)
hmvmask &= ~0x000F;
if(!s->mb_x)
vmvmask &= ~0x1111;
- return hmvmask | vmvmask; //XXX: should be stored separately for RV3
+ if(r->rv30){ //RV30 marks both subblocks on the edge for filtering
+ vmvmask |= (vmvmask & 0x4444) >> 1;
+ hmvmask |= (hmvmask & 0x0F00) >> 4;
+ if(s->mb_x)
+ r->deblock_coefs[s->mb_x - 1 + s->mb_y*s->mb_stride] |= (vmvmask & 0x1111) << 3;
+ if(!s->first_slice_line)
+ r->deblock_coefs[s->mb_x + (s->mb_y - 1)*s->mb_stride] |= (hmvmask & 0xF) << 12;
+ }
+ return hmvmask | vmvmask;
}
static int rv34_decode_macroblock(RV34DecContext *r, int8_t *intra_types)
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list