[FFmpeg-soc] [soc] libavsequencer [PATCH] Initial implementation of main AVSequencer public API header file
Sebastian Vater
cdgs.basty at googlemail.com
Sat Jul 10 19:49:31 CEST 2010
Reimar Döffinger a écrit :
> On Sat, Jul 10, 2010 at 07:24:56PM +0200, Vitor Sessak wrote:
>
>> On 07/10/2010 07:00 PM, Justin Ruggles wrote:
>>
>>> Sebastian Vater wrote:
>>>
>>>
>>>> + /** Default volume boost level. 65536 equals to 100% which
>>>> + means no boost. */
>>>> + uint32_t volume_boost;
>>>> [...]
>>>> + /** The current volume boost level. 65536 equals to 100% which
>>>> + means no boost. */
>>>> + uint32_t volume_boost;
>>>> +
>>>> + /** Left channel volume level. 256 is full volume. */
>>>> + uint16_t volume_left;
>>>> +
>>>> + /** Right channel volume level. 256 is full volume. */
>>>> + uint16_t volume_right;
>>>> [...]
>>>> + /** Current volume for this channel which ranges from 0 (muted)
>>>> + to 255 (full volume). */
>>>> + uint8_t volume;
>>>> +
>>>> + /** Current stereo panning level for this channel (where 0-127
>>>> + indicate left stereo channel panning, -128 is central stereo
>>>> + panning and -127 to -1 indicate right stereo panning). */
>>>> + int8_t panning;
>>>>
>>> Why all these arbitrary integer scales? Why not floating point or
>>> AVRational instead?
>>>
>> I don't think floating point is a good idea, let's try to keep
>> everything bit-identical across archs if possible.
>>
Especially not in data structures which are accessed number of active
channels * mixing rate each second...
>
> You could still go with something more consistent,
> like 16.16 fixed-point or AVRational.
>
volume_boost is 16.16, I looked at lavu/rational.c it has way to much
multiplications making mixing much slower. I don't want to use
multiply/divide instructions in the main mixing loop routines.
> Particularly
> uint16_t volume_left;
> uint8_t volume;
>
Changing volume_left & volume_right to 16.16 fixed point would be a good
idea, though.
Normal single channel volume is from 0-255 since that is the volume
range in the trackers.
--
Best regards,
:-) Basty/CDGS (-:
More information about the FFmpeg-soc
mailing list