[Ffmpeg-devel] Frame rates and time_base
Måns Rullgård
mru
Sat May 7 11:54:46 CEST 2005
Michael Niedermayer <michaelni at gmx.at> writes:
> Hi
>
> On Friday 06 May 2005 23:30, M?ns Rullg?rd wrote:
>> Michael Niedermayer <michaelni at gmx.at> writes:
>> > Hi
>> >
>> > On Friday 06 May 2005 17:05, M?ns Rullg?rd wrote:
>> >> After the latest framerate/pts related changes, I have a few
>> >> questions:
>> >>
>> >> - Is it still possible to find the framerate in AVCodecContext? How?
>> >
>> > well, if its fixed fps, AVCodecContext.time_base should be
>> > 1/framerate and if its not fixed, well then theres no fps anyway
>> > (the old frame_rate wouldnt have helped you here either, as most
>> > likely it would have been 1/time_base)
>>
>> Formerly, I'd get things like 1/25 in frame_rate/frame_rate_base.
>> Now, with the same files, I get things like 1/2 in time_base. I'm
>> surely doing something wrong, but what?
>
> what does ffmpeg -i file show?
That shows the correct frame rate, as expected. What should I be
looking for?
>> >> - What is the proper way to synchronize the pts values with timestamps
>> >> from the containter?
>> >
>> > hmm, iam not sure what you are asking here ...
>>
>> OK, I'll try to rephrase it. Where does libavcodec get the values it
>> puts in AVFrame.pts?
>
> some video streams contain timestamps independant of the demuxer
> layer, thats what will be in AVFrame.pts during decoding
Are you talking about things like the SMPTE timecodes in MPEG streams?
Calling them PTS is an error.
>> If the demuxer supplies a pts with a frame, I'd
>> like that pts to appear in the corresponding AVFrame. How do I tell
>> libavcodec about the pts of the encoded frames I'm feeding it?
>
> put them in AVFrame.opaque in the AVCodecContext.get_buffer() callback ...
I was hoping for an easier way.
--
M?ns Rullg?rd
mru at inprovide.com
More information about the ffmpeg-devel
mailing list