# HG changeset patch # User michael # Date 1076721941 0 # Node ID f100993b9b5a0a03f9a01b5d1178e75c153ae22b # Parent e91dbb5b1a8d5269440dfdcf19267fbf031bad14 ff_copy_bits() optimization diff -r e91dbb5b1a8d -r f100993b9b5a mpegvideo.c --- a/mpegvideo.c Fri Feb 13 21:07:31 2004 +0000 +++ b/mpegvideo.c Sat Feb 14 01:25:41 2004 +0000 @@ -3732,21 +3732,26 @@ #ifdef CONFIG_ENCODERS void ff_copy_bits(PutBitContext *pb, uint8_t *src, int length) { + const uint16_t *srcw= src; int words= length>>4; int bits= length&15; int i; if(length==0) return; - if(put_bits_count(pb)&7){ - for(i=0; i>(16-bits)); + put_bits(pb, bits, be2me_16(srcw[words])>>(16-bits)); } static inline void copy_context_before_encode(MpegEncContext *d, MpegEncContext *s, int type){