Mercurial > libavcodec.hg
comparison ac3_parser.c @ 6642:866b9ade048c libavcodec
Change aac and ac3 parsers to use ff_combine_frame().
author | michael |
---|---|
date | Sat, 19 Apr 2008 01:50:40 +0000 |
parents | 1980eba5fd0e |
children | 4d04fcb5e1e4 |
comparison
equal
deleted
inserted
replaced
6641:25a963680a88 | 6642:866b9ade048c |
---|---|
121 } | 121 } |
122 | 122 |
123 return 0; | 123 return 0; |
124 } | 124 } |
125 | 125 |
126 static int ac3_sync(AACAC3ParseContext *hdr_info) | 126 static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info) |
127 { | 127 { |
128 int err; | 128 int err; |
129 uint64_t tmp = be2me_64(state); | |
129 AC3HeaderInfo hdr; | 130 AC3HeaderInfo hdr; |
130 | 131 |
131 err = ff_ac3_parse_header(hdr_info->inbuf, &hdr); | 132 err = ff_ac3_parse_header(((uint8_t *)&tmp)+8-AC3_HEADER_SIZE, &hdr); |
132 | 133 |
133 if(err < 0) | 134 if(err < 0) |
134 return 0; | 135 return 0; |
135 | 136 |
136 hdr_info->sample_rate = hdr.sample_rate; | 137 hdr_info->sample_rate = hdr.sample_rate; |
142 } | 143 } |
143 | 144 |
144 static av_cold int ac3_parse_init(AVCodecParserContext *s1) | 145 static av_cold int ac3_parse_init(AVCodecParserContext *s1) |
145 { | 146 { |
146 AACAC3ParseContext *s = s1->priv_data; | 147 AACAC3ParseContext *s = s1->priv_data; |
147 s->inbuf_ptr = s->inbuf; | |
148 s->header_size = AC3_HEADER_SIZE; | 148 s->header_size = AC3_HEADER_SIZE; |
149 s->sync = ac3_sync; | 149 s->sync = ac3_sync; |
150 return 0; | 150 return 0; |
151 } | 151 } |
152 | 152 |