[FFmpeg-soc] [soc]: r5430 - in als: als_data.h alsdec.c
Thilo Borgmann
thilo.borgmann at googlemail.com
Mon Nov 9 09:05:46 CET 2009
Justin Ruggles schrieb:
> thilo.borgmann wrote:
>
>> Author: thilo.borgmann
>> Date: Sat Nov 7 23:58:55 2009
>> New Revision: 5430
>>
>> Log:
>> Add Multi-Channel Correlation decoding.
>> Introduce ALSChannelData.
>>
>> Modified:
>> als/als_data.h
>> als/alsdec.c
>>
>> [...]
>> +
>> +
>> +static void revert_channel_correlation(ALSDecContext *ctx, ALSBlockData *bd,
>> + ALSChannelData **cd, int *reverted,
>> + unsigned int offset, int c)
>
>
> This reverting is pretty complex, much worse than the other reverting
> for joint stereo and bit shift. If it is possible, it might be worth
> just storing the original data, then restoring it instead of manually
> reversing the process.
>
> [...]
>
Hm. In my eyes, read_block() stores the "original" data in ->raw_samples
and revert_channel_corr() restores the real samples from these. So I
think I don't really get it...
If you mean to avoid a while for every channel parsing each dependency
and thus reading some dependencies more than once (until it is
discovered to be reverted already), then I think such a lean unrolling
of the dependencies might be much more complex than the current procedure.
All other issues mentioned are done, thanks!
>
>
> Great job getting this implemented! That completes the implementation
> of everything in the proposed ALS Simple Profile except for channel
> sorting, correct?
>
Not so well this time, a bug concerning long-term prediction revealed
after I committed this one. So there is something more fixed in revision
1 you might want to have another look at - see ltp_lag & ltp_gain & use_ltp.
But now all test cases are working fine. For the simple profile, channel
sorting is not explicitly mentioned as far as I can see - and there are
just two channels to sort in simple profile anyway :)
Nevertheless, it is on the list of things to be done soon.
-Thilo
More information about the FFmpeg-soc
mailing list