?

Log in

No account? Create an account

Entries by tag: programming

Глюк в ffmpeg

В результате пары дней интенсивного мозгосношательства обнаружил, что ffmpeg не может распаковать разностные h264 кардры, сделанные айфоном. Показывает только ключевые. При этом QuickTime таких проблем не испытывает.

Поначалу я подумал, что "в эппл работают неправильные пчелы, которые делают неправильный h264". Оказалось, что референсный декодер от группы разработчиков стандарта айфоновские h264 прекрасно распаковывает.
Микрософтовский подход.
Какие то видео, какие-то картинки, какая-то реклама. Собственно исходный код мне найти за пять минут поиска так и не удалось.

Эппловский подход.
Минималистский сайт, все на виду, все разложено по полочкам, скачать нужное можно уже вторым кликом мышки.

Подсмотренно тут по наводке rogaty_trupoed.
Потому что Эппл начал раздавать видеосессии с прошедшей WWDC бесплатно.
28-го апреля вечером объявили. А сегодня уже все билеты проданы. Однако, рекорд - за 8 дней расхватали.
А неторопливые англичане, похоже, так и не успели мне билет купить.

Update:
Билет все-таки купили. В самый последний день. Вчера вечером заказали, а сегодня пришло подтверждение. Теперь главное, чтобы визу вовремя сделали.

Update2:
А вот хрен. Пришло второе письмо - "item unavailable, we unfortunately had to cancel this product from your order". Прямо сериал какой-то.

R.I.P., Targetware 0.64

Игровой проект Targetware, пребывающий долгое время в состоянии клинической смерти, и в котором ваш покорный слуга когда-то давно принимал какое-то участие, прекратил свое существование.
Официально заявлено, что Targetware 0.64 больше не поддерживается.

Read moreCollapse )

Аххренеть! Тетрис на sed

Реализация тетриса на sed:
http://uuner.livejournal.com/55238.html
Работает. Смотрю на код и чуствую себя бараном перед новыми воротами.

Однако...

Копаясь в чужом коде, обнаружил занятную функцию:
00445190 (__TEXT,__text) weak external __ZN14DataStructures11OrderedListIN15ConnectionGraph23SystemAddressAndGroupIdENS_3MapIS2_PNS3_IS2_tXadL_ZNS_23defaultMapKeyComparisonIS2_EEiRKT_S7_EEEEXadL_ZNS4_IS2_EEiS7_S7_EEE7MapNodeEXadL_ZNSA_18NodeComparisonFuncERKS2_RKSB_EEE6InsertESD_SF_bPFiSD_SF_E

demangling ее
c++filt __ZN14DataStructures11OrderedListIN15ConnectionGraph23SystemAddressAndGroupIdENS_3MapIS2_PNS3_IS2_tXadL_ZNS_23defaultMapKeyComparisonIS2_EEiRKT_S7_EEEEXadL_ZNS4_IS2_EEiS7_S7_EEE7MapNodeEXadL_ZNSA_18NodeComparisonFuncERKS2_RKSB_EEE6InsertESD_SF_bPFiSD_SF_E

дает фейерический результат:

DataStructures::OrderedList<ConnectionGraph::SystemAddressAndGroupId, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, unsigned short, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>*, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>::MapNode, &(DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, unsigned short, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>*, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>::NodeComparisonFunc(ConnectionGraph::SystemAddressAndGroupId const&, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, unsigned short, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>*, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>::MapNode const&))>::Insert(ConnectionGraph::SystemAddressAndGroupId const&, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, unsigned short, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>*, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>::MapNode const&, bool, int (*)(ConnectionGraph::SystemAddressAndGroupId const&, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, DataStructures::Map<ConnectionGraph::SystemAddressAndGroupId, unsigned short, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>*, &(int DataStructures::defaultMapKeyComparison<ConnectionGraph::SystemAddressAndGroupId>(ConnectionGraph::SystemAddressAndGroupId const&, ConnectionGraph::SystemAddressAndGroupId const&))>::MapNode const&))

Хороший язык С++ и хорошие у него библиотеки. Такие логичные и понятные имена. Или это у меня деманглинг глючит?

Меланхолично

Программистов, которые создают исходные файлы по 19528 строк, надо убивать.
Если при этом они пишут на с++, то убивать их надо особо мучительным способом.

Das ist Fantastisch!



Новый SDK. Колонка Cycles.
То, что мне так нравилось в PowerPC, и исчезло из Shark при переходе на богомерзкий Intel.
Вернуть ее обещали на WWDC'08, и вот обещание сбылось.
С возвращением, полноценный Shark!
Как обычно, после вступления на WWDC пробиться на девелоперский сайт эппла было нереально. Ну, то есть пробиться то реально, а вот скачать новый SDK за разумное время не представлялось возможным.
Поэтому я в 11 вечера пошел спать, а проснулся - ну в общем, шести часов еще не было. И жамкнул download, напевая:
Кто софт качает по утрам,
Тот поступает мудро!
Известно всем, тарам-парам,
На то оно и утро!
На то оно и утро!