[amirus] Re: ffmpeg - продолжениеследует =)

  • From: AmiS <amis@xxxxxxxxxxxx>
  • To: amirus@xxxxxxxxxxxxx
  • Date: Thu, 03 Jul 2003 19:10:53 +0400

Hi!

On 03/07/03, Vladimir Alaev wrote:

> On Thu, 03 Jul 2003 18:42:45 +0400, AmiS <amis@xxxxxxxxxxxx> wrote:

>>> 1. Удалось скомпилить ffmpeg и он даже работает :D
>> Было бы странно еесли бы он не работал.
> однако порт который есть на аминете у меня глючил конкретно :)

Значит нужно залить свой порт! ;) 

>> Не понял что значит "захардкорены"...  Не вижу проблему.... Наоборот, то
> это значит что в коде главного модуля прописаны коды, структуры кодеков.

терь понял.  придётся их конечно рукаи вставлять в кодеки....  обидно блин.

>>> 3. Покопался в исходниках xpk :) думаю что действительно надо сделать по 
>>> ее подобию.
>> 
>> Достаточно было бы глянуть в автодоки. ;l)
> нет, хотелось еще увидеть как это реализовано :)

Вот и глянь как там проход по списку сделан ;)

>>> б) есть либы кодеков - такие же стандартные shared library как и главная 
>>> библиотека.
>>> в) каждый кодек имеет ряд стандартных вызовов: init(вызывается первым 
>>> понятно для чего :)),     finalyze (вызывается последним после окончания 
>>> работы), decode_frame (может быть "пустым"
>> 
>> Для чего инит?  Имея список кодеков мы можем бежать по нему определяя к
> инит может понадобиться перед декодированием первого фрейма. В самом 
> ффмпеге
> кстати он есть и используется.

мы можем его делать перед началом декодирования. непосредственно в функции 
деводирования
внутри модуля. Зачем выносить это вовне?

>> которая возвращает структуру с указателями на присутсвующие функции и 
>> дополнительную
>> информацию...  А далее всё ясно.
> вообще-то это я и хотел донести :) значит плохо описал..

Так сделано в XAD... и убогое подобие в Dopus5 для модулей.

>>> г) главная либа имеет следующие вызовы: exemine (определят тип потока), 
>>> decode_frame, encode_frame, get_error (возращает
>> 
>> Examine . А лучше что0то типа getInfo.
> ну это уже мелочи :)

Учитесь писать граматно ;)  Это же важная функция амига ос. 

>> Дык так-же как в xad, xpk, xfd. своя дирректория типа codecs.
> а как происходит открытие библиотеки в этом случае?

Элементарно... из этой диры делаем  список всего что в ней находится
DOS:Examine()/ExNext() ну и получаем имена... а дальше 
OpenLibrary(sys:devs/codecs/имя)

> да вроде менять не нужно - у них у все несколько стандартных методов, 
> примерно таких
> как я описал.

Замечательно.

Regards


Other related posts: