githubのコードからのfolk
リビジョン | aee8506fcadddaa1ed56d659571f8b2b13b4e15c (tree) |
---|---|
日時 | 2010-10-09 10:51:28 |
作者 | jstebbins <jstebbins@b64f...> |
コミッター | jstebbins |
fix detection of sr_code and bitrate_code for ac3 streams in mp4
git-svn-id: svn://localhost/HandBrake/trunk@3586 b64f7644-9d1e-0410-96f1-a4d463321fa5
@@ -251,20 +251,18 @@ static int MP4Init( hb_mux_object_t * m ) | ||
251 | 251 | { |
252 | 252 | if ((ac3_sample_rate_tab[jj] >> ii) == freq) |
253 | 253 | { |
254 | - break; | |
254 | + goto rate_found1; | |
255 | 255 | } |
256 | 256 | } |
257 | 257 | } |
258 | - if ( ii >= 3 ) | |
259 | - { | |
260 | - hb_error("Unknown AC3 samplerate"); | |
261 | - ii = jj = 0; | |
262 | - } | |
258 | + hb_error("Unknown AC3 samplerate"); | |
259 | + ii = jj = 0; | |
260 | +rate_found1: | |
263 | 261 | sr_shift = ii; |
264 | 262 | sr_code = jj; |
265 | 263 | for (ii = 0; ii < 19; ii++) |
266 | 264 | { |
267 | - if ((ac3_bitrate_tab[ii] >> sr_shift)*1000 == bitrate) | |
265 | + if ((ac3_bitrate_tab[ii] >> sr_shift) == bitrate) | |
268 | 266 | break; |
269 | 267 | } |
270 | 268 | if ( ii >= 19 ) |
@@ -319,21 +317,19 @@ static int MP4Init( hb_mux_object_t * m ) | ||
319 | 317 | { |
320 | 318 | if ((ac3_sample_rate_tab[jj] >> ii) == freq) |
321 | 319 | { |
322 | - break; | |
320 | + goto rate_found2; | |
323 | 321 | } |
324 | 322 | } |
325 | 323 | } |
326 | - if ( ii >= 3 ) | |
327 | - { | |
328 | - hb_error("Unknown AC3 samplerate"); | |
329 | - ii = jj = 0; | |
330 | - } | |
324 | + hb_error("Unknown AC3 samplerate"); | |
325 | + ii = jj = 0; | |
326 | +rate_found2: | |
331 | 327 | sr_shift = ii; |
332 | 328 | sr_code = jj; |
333 | 329 | bsid = 8 + ii; |
334 | 330 | for (ii = 0; ii < 19; ii++) |
335 | 331 | { |
336 | - if ((ac3_bitrate_tab[ii] >> sr_shift)*1000 == bitrate) | |
332 | + if ((ac3_bitrate_tab[ii] >> sr_shift) == bitrate) | |
337 | 333 | break; |
338 | 334 | } |
339 | 335 | if ( ii >= 19 ) |