aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/snow.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-08-25 00:26:01 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-08-25 00:26:01 +0000
commit64886072f56a143e5c61dc0faab26f5f43c7c19f (patch)
tree58590f13ee770c6ff86211863aafd0c36805580a /libavcodec/snow.c
parentad730459eda013b73300c4841051a355332030f0 (diff)
downloadffmpeg-64886072f56a143e5c61dc0faab26f5f43c7c19f.tar.gz
edge bugfix
1-1.3% lower bitrate and +0.01 PSNR (foremen@352x288 qscale=1,8) Originally committed as revision 3414 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/snow.c')
-rw-r--r--libavcodec/snow.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 6b8081b3cc..73be310277 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -2642,10 +2642,18 @@ static int encode_init(AVCodecContext *avctx)
static int frame_start(SnowContext *s){
AVFrame tmp;
+ int w= s->avctx->width; //FIXME round up to x16 ?
+ int h= s->avctx->height;
if(s->keyframe)
reset_contexts(s);
+ if(s->current_picture.data[0]){
+ draw_edges(s->current_picture.data[0], s->current_picture.linesize[0], w , h , EDGE_WIDTH );
+ draw_edges(s->current_picture.data[1], s->current_picture.linesize[1], w>>1, h>>1, EDGE_WIDTH/2);
+ draw_edges(s->current_picture.data[2], s->current_picture.linesize[2], w>>1, h>>1, EDGE_WIDTH/2);
+ }
+
tmp= s->last_picture;
s->last_picture= s->current_picture;
s->current_picture= tmp;