aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-10-02 00:24:34 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-10-02 00:24:34 +0000
commitca7d05d56fec59c51cd4bf7c47d585a15f1cbf4e (patch)
tree9614fe338d33b8fdc769bb3c4941e934729809c3 /libavcodec/mpegvideo.c
parent4fa1c4fa8d88ac4f5c28b0395012d0679ea98327 (diff)
downloadffmpeg-ca7d05d56fec59c51cd4bf7c47d585a15f1cbf4e.tar.gz
optionally try to encode each MB with MV=<0,0> and choose the one with better RD
Originally committed as revision 2328 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 6387e18e37..baad534e85 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -3676,6 +3676,15 @@ static void encode_picture(MpegEncContext *s, int picture_number)
encode_mb_hq(s, &backup_s, &best_s, MB_TYPE_INTER, pb, pb2, tex_pb,
&dmin, &next_block, s->mv[0][0][0], s->mv[0][0][1]);
}
+ if(mb_type&MB_TYPE_SKIPED){
+ s->mv_dir = MV_DIR_FORWARD;
+ s->mv_type = MV_TYPE_16X16;
+ s->mb_intra= 0;
+ s->mv[0][0][0] = 0;
+ s->mv[0][0][1] = 0;
+ encode_mb_hq(s, &backup_s, &best_s, MB_TYPE_SKIPED, pb, pb2, tex_pb,
+ &dmin, &next_block, s->mv[0][0][0], s->mv[0][0][1]);
+ }
if(mb_type&MB_TYPE_INTER4V){
s->mv_dir = MV_DIR_FORWARD;
s->mv_type = MV_TYPE_8X8;