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

Sebastian Vater cdgs.basty
Fri May 28 14:13:37 CEST 2010


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.

My idea for implementation is that we build an index table of time
values for each order list number and if the user seeks to it, it seeks
to the nearest order list entry, let's say order #5 starts at 23 sec and
the order's pattern length is 7,68s and you seek to 00:25 it will jump
to order #5. This step can be done using my null mixer idea while
calculating total playback time.

I.e. simply consider first pattern row of each order list as a keyframe
and everything else is non-keyframe. That would be the simplest approach
and in fact, most module players do it that way, too. OpenCubicPlayer,
however also supports a fine-tuned seek which simply skips 8 rows.

-- 

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




More information about the ffmpeg-devel mailing list