Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(431)

Side by Side Diff: third_party/opus/src/celt/rate.c

Issue 2962373002: [Opus] Update to v1.2.1 (Closed)
Patch Set: Include minor updates including fix for win_clang Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* Copyright (c) 2007-2008 CSIRO 1 /* Copyright (c) 2007-2008 CSIRO
2 Copyright (c) 2007-2009 Xiph.Org Foundation 2 Copyright (c) 2007-2009 Xiph.Org Foundation
3 Written by Jean-Marc Valin */ 3 Written by Jean-Marc Valin */
4 /* 4 /*
5 Redistribution and use in source and binary forms, with or without 5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions 6 modification, are permitted provided that the following conditions
7 are met: 7 are met:
8 8
9 - Redistributions of source code must retain the above copyright 9 - Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer. 10 notice, this list of conditions and the following disclaimer.
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 /*Only code a skip decision if we're above the threshold for this band. 341 /*Only code a skip decision if we're above the threshold for this band.
342 Otherwise it is force-skipped. 342 Otherwise it is force-skipped.
343 This ensures that we have enough bits to code the skip flag.*/ 343 This ensures that we have enough bits to code the skip flag.*/
344 if (band_bits >= IMAX(thresh[j], alloc_floor+(1<<BITRES))) 344 if (band_bits >= IMAX(thresh[j], alloc_floor+(1<<BITRES)))
345 { 345 {
346 if (encode) 346 if (encode)
347 { 347 {
348 /*This if() block is the only part of the allocation function that 348 /*This if() block is the only part of the allocation function that
349 is not a mandatory part of the bitstream: any bands we choose to 349 is not a mandatory part of the bitstream: any bands we choose to
350 skip here must be explicitly signaled.*/ 350 skip here must be explicitly signaled.*/
351 /*Choose a threshold with some hysteresis to keep bands from 351 int depth_threshold;
352 fluctuating in and out.*/ 352 /*We choose a threshold with some hysteresis to keep bands from
353 fluctuating in and out, but we try not to fold below a certain po int. */
354 if (codedBands > 17)
355 depth_threshold = j<prev ? 7 : 9;
356 else
357 depth_threshold = 0;
353 #ifdef FUZZING 358 #ifdef FUZZING
354 if ((rand()&0x1) == 0) 359 if ((rand()&0x1) == 0)
355 #else 360 #else
356 if (codedBands<=start+2 || (band_bits > ((j<prev?7:9)*band_width<<LM <<BITRES)>>4 && j<=signalBandwidth)) 361 if (codedBands<=start+2 || (band_bits > (depth_threshold*band_width< <LM<<BITRES)>>4 && j<=signalBandwidth))
357 #endif 362 #endif
358 { 363 {
359 ec_enc_bit_logp(ec, 1, 1); 364 ec_enc_bit_logp(ec, 1, 1);
360 break; 365 break;
361 } 366 }
362 ec_enc_bit_logp(ec, 0, 1); 367 ec_enc_bit_logp(ec, 0, 1);
363 } else if (ec_dec_bit_logp(ec, 1)) { 368 } else if (ec_dec_bit_logp(ec, 1)) {
364 break; 369 break;
365 } 370 }
366 /*We used a bit to skip this band.*/ 371 /*We used a bit to skip this band.*/
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 bits1[j] = bits1j; 635 bits1[j] = bits1j;
631 bits2[j] = bits2j; 636 bits2[j] = bits2j;
632 } 637 }
633 codedBands = interp_bits2pulses(m, start, end, skip_start, bits1, bits2, thre sh, cap, 638 codedBands = interp_bits2pulses(m, start, end, skip_start, bits1, bits2, thre sh, cap,
634 total, balance, skip_rsv, intensity, intensity_rsv, dual_stereo, dual_s tereo_rsv, 639 total, balance, skip_rsv, intensity, intensity_rsv, dual_stereo, dual_s tereo_rsv,
635 pulses, ebits, fine_priority, C, LM, ec, encode, prev, signalBandwidth) ; 640 pulses, ebits, fine_priority, C, LM, ec, encode, prev, signalBandwidth) ;
636 RESTORE_STACK; 641 RESTORE_STACK;
637 return codedBands; 642 return codedBands;
638 } 643 }
639 644
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698