[FFmpeg-devel] [PATCH] lavf: accept time base from untrusted codecs if it matches timings

Anssi Hannula anssi.hannula
Tue Feb 1 17:49:02 CET 2011


On 01.02.2011 18:10, Ronald S. Bultje wrote:
> Hi,
> 
> On Sun, Jan 30, 2011 at 2:33 PM, Anssi Hannula <anssi.hannula at iki.fi> wrote:
>> @@ -627,6 +627,8 @@ typedef struct AVStream {
>>         int64_t last_dts;
>>         int64_t duration_gcd;
>>         int duration_count;
>> +        int codec_tb_matches_dts;
>> +        double codec_tb_dur_error;
>>         double duration_error[MAX_STD_TIMEBASES];
>>         int64_t codec_info_duration;
>>     } *info;
> 
> These are only used in av_find_stream_info(), adding them to AVStream
> in the middle breaks ABI and increases size for something that I don't
> think should be in there. Can you locally allocate and free an array
> instead, or create a AVFindStreamInfo array for these kind of temp
> values to be shared between functions?

They are not directly in AVStream and do not increase the size of
AVStream nor change the API.

Here's a longer excerpt from the above section (before the patch):

    /**
     * Stream informations used internally by av_find_stream_info()
     */
#define MAX_STD_TIMEBASES (60*12+5)
    struct {
        int64_t last_dts;
        int64_t duration_gcd;
        int duration_count;
        double duration_error[MAX_STD_TIMEBASES];
        int64_t codec_info_duration;
    } *info;


-- 
Anssi Hannula



More information about the ffmpeg-devel mailing list