📄 bitstream.c
字号:
#include "mpeg3private.h"#include "mpeg3protos.h"#include "bitstream.h"#include <stdlib.h>mpeg3_bits_t *mpeg3bits_new_stream(void){ mpeg3_bits_t *stream = malloc(sizeof(mpeg3_bits_t)); stream->bfr = 0; stream->bfr_size = 0; stream->bit_number = 0; stream->input_ptr = NULL; return stream;}int mpeg3bits_delete_stream(mpeg3_bits_t* stream){ free(stream); return 0;}/* For mp3 decompression use a pointer in a buffer for getbits. */int mpeg3bits_use_ptr(mpeg3_bits_t* stream, unsigned char *buffer){ stream->bfr_size = stream->bit_number = 0; stream->bfr = 0; stream->input_ptr = buffer; stream->orig_ptr = buffer; stream->buflen = 65535; return 0;}int mpeg3bits_use_ptr_len(mpeg3_bits_t *stream, unsigned char *buffer, long buflen){ stream->bfr_size = stream->bit_number = 0; stream->bfr = 0; stream->input_ptr = buffer; stream->orig_ptr = buffer; stream->buflen = buflen; return 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; 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++; return mpeg3bits_eof(stream);}int mpeg3bits_byte_align(mpeg3_bits_t *stream){ stream->bit_number = (stream->bit_number + 7) & 0xf8; return 0;}int mpeg3bits_getbitoffset(mpeg3_bits_t *stream){ return stream->bit_number & 7;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -