put_bits can only reliably write up to 31 bit bits, above it relies on
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 1 Oct 2009 15:40:29 +0000 (15:40 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 1 Oct 2009 15:40:29 +0000 (15:40 +0000)
commit43d7c6118d64a8b2772e2d9e0c13413968e776f1
treef5e7d4b37da6f22275c2cad19b404ee0e5dba362
parentec656755044d29e8f0b0a50ad1c9fd297bcae484
put_bits can only reliably write up to 31 bit bits, above it relies on
undefined shift behaviour.
Document this, fix the assert and add a put_bits32 to handle writing 32
bits and use that where necessary.

Originally committed as revision 20124 to svn://svn.ffmpeg.org/ffmpeg/trunk
libavcodec/alacenc.c
libavcodec/put_bits.h
libavcodec/vorbis_enc.c
libavformat/mpegenc.c