if(buffer_size < 0 || bit_size < 0) buffer= buffer_size= bit_size= 0;
if(buffer_size < 0 || bit_size < 0) { buffer_size = bit_size = 0; buffer = NULL; }
static inline void init_get_bits(GetBitContext *s,                   const uint8_t *buffer, int bit_size){    int buffer_size= (bit_size+7)>>3;    if(buffer_size < 0 || bit_size < 0)        buffer= buffer_size= bit_size= 0;    s->buffer= buffer;    s->size_in_bits= bit_size;    s->buffer_end= buffer + buffer_size;#ifdef ALT_BITSTREAM_READER    s->index=0;#elif defined LIBMPEG2_BITSTREAM_READER#ifdef LIBMPEG2_BITSTREAM_READER_HACK  if ((int)buffer&1) {     /* word alignment */    s->cache = (*buffer++)<<24;    s->buffer_ptr = buffer;    s->bit_count = 16-8;  } else#endif  {    s->buffer_ptr = buffer;    s->bit_count = 16;    s->cache = 0;  }#elif defined A32_BITSTREAM_READER    s->buffer_ptr = (uint32_t*)buffer;    s->bit_count = 32;    s->cache0 = 0;    s->cache1 = 0;#endif    {        OPEN_READER(re, s)        UPDATE_CACHE(re, s)        UPDATE_CACHE(re, s)        CLOSE_READER(re, s)    }#ifdef A32_BITSTREAM_READER    s->cache1 = 0;#endif}