[FFmpeg-soc] [soc] libavsequencer [PATCH 03/08] Order list public API header file.

Vitor Sessak vitor1001 at gmail.com
Sat Jul 10 20:40:11 CEST 2010


On 07/10/2010 08:02 PM, Sebastian Vater wrote:
> Vitor Sessak a écrit :
>> On 07/07/2010 10:47 PM, Sebastian Vater wrote:
>>> diff --git a/libavsequencer/order.h b/libavsequencer/order.h
>>> new file mode 100644
>>> index 0000000..ac48db2
>>> --- /dev/null
>>> +++ b/libavsequencer/order.h
>>> +typedef struct AVSequencerOrderList {
>>> +    /** Integer indexed tree root of order list data used by this
>>> +       channel with AVTreeNode->elem being an AVSequencerOrderData.  */
>>> +    AVTreeNode *order_data;
>>> +
>>> +    /** Number of order list data entries to use for this channel.  */
>>> +    uint16_t length;
>>> +
>>> +    /** Repeat start order list data number for this channel.  */
>>> +    uint16_t rep_start;
>>> +
>>> +    /** Volume level for this channel (defaults to 255).  */
>>> +    uint8_t volume;
>>> +#define AVSEQ_ORDER_LIST_VOLUME 255
>>> +
>>> +    /** Sub-volume level for this channel. This is basically channel
>>> +       volume divided by 256, but the sub-volume doesn't account
>>> +       into actual mixer output (defaults 0).  */
>>> +    uint8_t sub_volume;
>>> +#define AVSEQ_ORDER_LIST_SUB_VOLUME 0
>>
>> Dividing an uint_8 by 256? Does not give much information...
>
> Dividing (volume<<  8) + sub_volume by 256. I mean with that the
> sub_volume is internally used for accuracy sliding but not outputted to
> the mixing engine.

Why don't you have just a single var for (volume << 8) + subvolume?

-Vitor


More information about the FFmpeg-soc mailing list