| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef AVCODEC_AAC_AC3_PARSER_H |
| #define AVCODEC_AAC_AC3_PARSER_H |
|
|
| #include <stdint.h> |
| #include "libavutil/crc.h" |
| #include "avcodec.h" |
| #include "parser.h" |
|
|
| typedef enum { |
| AAC_AC3_PARSE_ERROR_SYNC = -0x1030c0a, |
| AAC_AC3_PARSE_ERROR_BSID = -0x2030c0a, |
| AAC_AC3_PARSE_ERROR_SAMPLE_RATE = -0x3030c0a, |
| AAC_AC3_PARSE_ERROR_FRAME_SIZE = -0x4030c0a, |
| AAC_AC3_PARSE_ERROR_FRAME_TYPE = -0x5030c0a, |
| AAC_AC3_PARSE_ERROR_CRC = -0x6030c0a, |
| AAC_AC3_PARSE_ERROR_CHANNEL_CFG = -0x7030c0a, |
| } AACAC3ParseError; |
|
|
| typedef struct AACAC3ParseContext { |
| ParseContext pc; |
| int header_size; |
| int (*sync)(uint64_t state, int *need_next_header, int *new_frame_start); |
|
|
| const AVCRC *crc_ctx; |
| int remaining_size; |
| uint64_t state; |
|
|
| int need_next_header; |
| int frame_number; |
| } AACAC3ParseContext; |
|
|
| int ff_aac_ac3_parse(AVCodecParserContext *s1, |
| AVCodecContext *avctx, |
| const uint8_t **poutbuf, int *poutbuf_size, |
| const uint8_t *buf, int buf_size); |
|
|
| #endif |
|
|