summaryrefslogtreecommitdiff
path: root/libavcodec/motion_est.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/motion_est.c')
-rw-r--r--libavcodec/motion_est.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
index d3e31fc428..20f918ff0e 100644
--- a/libavcodec/motion_est.c
+++ b/libavcodec/motion_est.c
@@ -409,13 +409,20 @@ int estimate_motion(MpegEncContext * s,
if (s->unrestricted_mv) {
xmin = -16;
ymin = -16;
- xmax = s->width;
- ymax = s->height;
+ if(s->avctx==NULL || s->avctx->codec->id!=CODEC_ID_MPEG4){
+ xmax = s->mb_width*16;
+ ymax = s->mb_height*16;
+ }else {
+ /* XXX: dunno if this is correct but ffmpeg4 decoder wont like it otherwise
+ (cuz the drawn edge isnt large enough))*/
+ xmax = s->width;
+ ymax = s->height;
+ }
} else {
xmin = 0;
ymin = 0;
- xmax = s->width - 16;
- ymax = s->height - 16;
+ xmax = s->mb_width*16 - 16;
+ ymax = s->mb_height*16 - 16;
}
switch(s->full_search) {