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