FFmpeg av_read_frame и максимальный размер пакета

Есть ли возможность определить максимальный размер пакета (AVpacket), который может прочитать av_read_frame()?


person DEgITx    schedule 25.06.2012    source источник
comment
ты нашел ответ?   -  person jAckOdE    schedule 19.11.2012


Ответы (1)


Недавно искал такой же. Похоже, что av_read_frame внутренне вызывает специфичную для кодека функцию read_packet для каждого кодека/формата. Это, в свою очередь, выделяет память для каждого пакета и освобождает ее в зависимости от максимальных ограничений, которые устанавливает кодек/формат. Поэтому, пока у вас есть память для поддержки (не)действительного потока, все должно быть в порядке, а ограничения зависят от декодеров кодеков/форматов. [Вы можете найти функцию, определенную в AVInputFormat для каждого формата, как .read_packet].

person av501    schedule 06.08.2012
comment
Хорошая точка зрения. Я уже спрашивал разработчиков ffmpeg об ограничении, и они сказали, что оно ограничено: 1) ограничением MAX_INT 2) ограничением кодека (как вы сказали) 3) даже ограничением видеофайла в некоторых случаях - person DEgITx; 08.08.2012
comment
@jAckOdE, так нельзя. Вам нужно будет пойти и проверить кодек в коде. - person av501; 24.11.2012
comment
извините, я новичок в этом, так что терпите меня. Можете быть более конкретными? какие свойства я должен проверить, если у меня есть контекст кодека и кодек? - person jAckOdE; 24.11.2012