Marat (maratyszcza) wrote,
Marat
maratyszcza

Categories:

О работе

ruКогда я был маленьким, компьютеры большими, а "народной" операционкой был MS-DOS, который грузился с отдельного 5.25" флопика (ибо винчестера в компьютере не было), я твёрдо помнил, что нажав в Нортон Коммандере F3, можно было просмотреть любой файл. Любых файлов тогда было уже две разновидности — файлы с текстом и файлы с программой. И вот, выделив файл с программой, я нажимал F3, и видел, как Нортон пытается вывести эту программу в виде текста. Текст получался не особо читабельный — на экран выводилось много несвязных символов, половина из которых была псевдографикой (да, вот вы знаете, что такое псевдографика?) Современный юзер, увидев то, что тогда видел я, непременно решил бы, что нужно поменять кодировку, я же думал, что именно в такими крякозябликами и написана программа. Потом я узнал, что программы пишутся на специальных языках, и один за другим освоил несколько из них, так что когда на съёмках школьного фильма в четвёртом классе у меня спросили, кем я стану, я ничтоже сумняшеся ответил "Программистом". Кажется, из всего класса, я единственный определил свою будущую професию верно. Уже затем, где-то в начале третьего тысячелетия, я понял, что програмисты бывают ну совсем разные, и понял, что хочу заниматься либо оптимизацией программ, либо их проектированием. И вот, на дворе конец 2008 года, и я занимаюсь оптимизацией видеокодека H.264 в компании Intel. Работа в такой большой компании сама по себе имеет много плюсов, так, я уже стал фаном местной кофе-машины, умеющей готовить шесть разных видов кофе. А ещё там кучу разных видов чая, из которых только зелёного семь видов, причём все их можно пить с сахаром (это я, пользуясь случаем, передаю привет lmy824).
И ещё теперь, когда кто-нибудь спрашивает у меня "Расскажи что-нибудь" я начинаю рассказывать, как работает видеокодек H.264. Вообще об этом видеокодеке можно запросто написать толстенную книжку (стандарт занимает 500 страниц, но многое в нём не объяснено), сотню-другую постов в ЖЖ и всё равно ещё останется, что рассказать при личной встрече. Уже по стандарту видно, что H.264 разрабатывали чистые практики: если логика работы MPEG-4 логична и ясна, то в H.264 принцип примерно таков: мы вычисляем переменную по этой формуле, ищем вон в той таблице подходящее значение, и его записываем. И так много раз. На вопрос, откуда взялась эта формула и та таблица, разработчики стандарта бы ответили примерно следующее "Мы собрали стастику, округлили и получили то, что в таблице. А формула такая потому, что так она быстрее будет в железе вычисляться". Зато этим кодеком любое видео можно сжать в 200 раз и вы этого даже не заметите! Оптимизация же этого видеокодека — это вообще отдельная песня. Если сделаешь где-нибудь ошибку, то в лучшем случае узнаешь о ней потому, что на сжатом видео будет падать декодер. При виде упавшего декодера понимаешь, что тебе сейчас предстоит сравнивать в шестнадцаричном редакторе два файлика в надежде понять, где же, чёрт возьми, я написал код, из-за которого в байте по смещению 0x39201 вместо 0x8E оказывается 0x7F!? После нескольких таких отладок получаешь новый скилл писать код без ошибок. Даже если этого кода тяща строк! Даже если это тыща строк на асемблере! Ибо применять скилл отладка-ассемблерного-кода-в-уме-пока-едешь-в-метро-домой ужасть как не хочется.
Subscribe

  • Top 10 фраз, услышанных за год в РЭШ

    1. "Эксперт — лучший российский деловой журнал. Не потому, что он хороший, нет, просто лучше него нету" Александр Привалов, главный редактор…

  • Парадокс лжеца для экономистов

    ru Индивид получает полезность a, если ведёт себя рационально, и полезность b > a, если ведёт себя нерационально.

  • О поступлении в РЭШ

    ruГод назад примерно в это же время я решил поступать в РЭШ. Поэтому сейчас я решил написать о том, как мне это удалось и что бы я порекомендовал…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 9 comments