Ejemplo n.º 1
0
/* Reconfigure for forward operation */
void mpeg3bits_start_forward(mpeg3_bits_t* stream)
{
	int i;
	for(i = 0; i < stream->bfr_size; i += 8)
		if(stream->input_ptr)
			stream->input_ptr++;
		else
			mpeg3demux_read_char(stream->demuxer);
}
Ejemplo n.º 2
0
/* Erase the buffer with the next 4 bytes in the file. */
int mpeg3bits_refill(mpeg3_bits_t* stream)
{
	stream->bit_number = 32;
	stream->bfr_size = 32;

	if(stream->input_ptr)
	{
		stream->bfr = (unsigned int)(*stream->input_ptr++) << 24;
		stream->bfr |= (unsigned int)(*stream->input_ptr++) << 16;
		stream->bfr |= (unsigned int)(*stream->input_ptr++) << 8;
		stream->bfr |= *stream->input_ptr++;
	}
	else
	{
		stream->bfr = mpeg3demux_read_char(stream->demuxer) << 24;
		stream->bfr |= mpeg3demux_read_char(stream->demuxer) << 16;
		stream->bfr |= mpeg3demux_read_char(stream->demuxer) << 8;
		stream->bfr |= mpeg3demux_read_char(stream->demuxer);
	}
	return mpeg3demux_eof(stream->demuxer);
}
Ejemplo n.º 3
0
/* Reconfigure for forward operation */
void mpeg3bits_start_forward(mpeg3_bits_t* stream)
{
	int i;

// If already at the bof, the buffer is already invalid.
	if(stream->demuxer && mpeg3bits_bof(stream))
	{
		stream->bfr_size = 0;
		stream->bit_number = 0;
		stream->bfr = 0;
		stream->input_ptr = 0;
		mpeg3demux_read_char(stream->demuxer);
	}
	else
	for(i = 0; i < stream->bfr_size; i += 8)
	{
		if(stream->input_ptr)
			stream->input_ptr++;
		else
			mpeg3demux_read_char(stream->demuxer);
	}
}