mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-03 14:32:16 +02:00
bitstream: add get_bits_longlong() to support more than 32bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
89a823ace9
commit
f51c4bfe3f
@ -315,6 +315,24 @@ static inline unsigned int get_bits_long(GetBitContext *s, int n)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read 0-64 bits.
|
||||||
|
*/
|
||||||
|
static inline uint64_t get_bits_longlong(GetBitContext *s, int n)
|
||||||
|
{
|
||||||
|
if (n <= 32)
|
||||||
|
return get_bits_long(s, n);
|
||||||
|
else {
|
||||||
|
#ifdef BITSTREAM_READER_LE
|
||||||
|
uint64_t ret = get_bits_long(s, 32);
|
||||||
|
return ret | (((uint64_t)get_bits_long(s, n-32)) << 32);
|
||||||
|
#else
|
||||||
|
uint64_t ret = ((uint64_t)get_bits_long(s, 32)) << (n-32);
|
||||||
|
return ret | get_bits_long(s, n-32);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read 0-32 bits as a signed integer.
|
* Read 0-32 bits as a signed integer.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user