| 
																	
																	
																		
																	
																	
																 | 
																@@ -829,6 +829,38 @@ static void lms_update(WmallDecodeCtx *s, int ich, int ilms, int32_t input, int3 | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
  | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static void use_high_update_speed(WmallDecodeCtx *s, int ich) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    int ilms, recent, icoef; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    s->update_speed[ich] = 16; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    for (ilms = s->cdlms_ttl[ich]; ilms >= 0; ilms--) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        recent = s->cdlms[ich][ilms].recent; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (s->bV3RTM) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                s->cdlms[ich][ilms].lms_updates[icoef + recent] *= 2; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } else { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                s->cdlms[ich][ilms].lms_updates[icoef] *= 2; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																static void use_normal_update_speed(WmallDecodeCtx *s, int ich) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    int ilms, recent, icoef; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    s->update_speed[ich] = 8; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    for (ilms = s->cdlms_ttl[ich]; ilms >= 0; ilms--) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        recent = s->cdlms[ich][ilms].recent; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        if (s->bV3RTM) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                s->cdlms[ich][ilms].lms_updates[icoef + recent] /= 2; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } else { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																                s->cdlms[ich][ilms].lms_updates[icoef] /= 2; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
  | 
															
														
														
													
														
															
																 | 
																 | 
																/** | 
																 | 
																 | 
																/** | 
															
														
														
													
														
															
																 | 
																 | 
																 *@brief Decode a single subframe (block). | 
																 | 
																 | 
																 *@brief Decode a single subframe (block). | 
															
														
														
													
														
															
																 | 
																 | 
																 *@param s codec context | 
																 | 
																 | 
																 *@param s codec context | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																	
																	
																	
																 | 
																
  |