[FFmpeg-devel] MOD support for FFmpeg (My GSoC 2010 task starts tomorrow)

Sebastian Vater cdgs.basty
Fri May 28 15:43:49 CEST 2010


Michael Niedermayer a ?crit :
> On Fri, May 28, 2010 at 02:13:37PM +0200, Sebastian Vater wrote:
>   
>> Peter Ross a ?crit :
>>     
>>> On Fri, May 28, 2010 at 12:54:46PM +0200, Sebastian Vater wrote:
>>>   
>>>       
>>>> Michael Niedermayer a ?crit :
>>>>     
>>>>         
>>>>> Its also a long standing feature request to make encode/decode_audio() work
>>>>> with AVFrame or a similar structure instead of int16_t*
>>>>>   
>>>>>       
>>>>>           
>>>> For MOD, AVFrame could then point to an AVModule/AVSequencer/AVComposer
>>>> structure which contains everything else needed.
>>>>     
>>>>         
>>> In regular audio/video files, an AVFrame refers to a specific slice of
>>> time (a frame of video, or as michael suggests, a chunk of audio).
>>> In the context of Module files, what would an AVFrame refer to?
>>>
>>> If an AVFrame refers to a single pattern, how would this affect my ability
>>> to seek through the tracker file.
>>>   
>>>       
>> Normal audio players do time based seeking...I'm not sure right now if
>> FFmpeg does support both types of seeking: time based as well as frame
>> based seeking.
>>
>> If it supports frame based seeking, too. I would assign frame => order
>> list number.
>>     
>
> the API supports it (AVSEEK_FLAG_FRAME) i dont think anything uses it
> though
>   

Very fine. Then there's finally a reason to use them. ;-)

Since for tracker writers, exact frame (row based) seek is important, at
least I use it pretty often while composing in IT (select row in pattern
to start playback at and jam SHIFT-F6) ;-)

I also just reviewed my idea again by recognizing that it's a better
idea to assign frame => order list number * pattern_size instead of just
order_list.
Let's say, we have a module with a order list length of 32 entries and
each has a pattern with always the same size 64. Then the module would
have 32*64 (=2048) frames instead of just 32. So seeking to order #5,
row 32 would mean seeking to frame 5*64+32 = 352. What do you think
about this?

-- 

Best regards,
                   :-) Basty/CDGS (-:




More information about the ffmpeg-devel mailing list