Pull to refresh
60
0
Андрей @xaoc80

Разработчик программного обеспечения

Send message
Плевать в зум не обязательно. Но если все, кто считает себя профи и умеет ценить свое (и чужое!) время перестанут хотя бы повторно ходить в распиаренные компании и отвечать рекрутерам, то может сильно много чего поменяться в отношении крупных ИТ компаний к кандидатам. Ведь их цель — прогнать как можно больше людей через фильтр, чтобы поддерживать высокий средний уровень. Как итог — потерянное время большого числа людей. начиная от рекрутера и заканчивая кандидатом. При этом приходится конкурировать с полсотней таких же кандидатов, но с поправкой на то, что они могли, к примеру пару недель тренироваться в решении таких задач. В итоге ты стоишь в одной ряду со всеми, но потенциально мог бы быть более полезен за счет своего опыта решения практических, задач. К слову, часто в стартапе или небольшой компании тебя с радостью ждут и обеспечат большим числом интересных задач, и подход к набору более адеватен, так как часто там знают точно кто им нужен.
Мне кажется, мы в каких-то разных Нюрнбергах живем.

Автор статьи из Минска. Минск очень сильно отличается от любого российского города в плане чистоты и выделяется даже в Европе. Поэтому белорусы и особенно жители Минска очень остро чувствуют и видят, если что-то не так с чистотой.
Возможно, Россия тоже разная. Центральная Россия от Севера и Сибири отличаетс сильнее, чем Восточная Украина от Центральной России. А еще ведь есть и Кавказ и Дальний Восток.

Одно другому мешает. Я в 16 лет смотрел мультики и писал программы на УНПК. В нашей группе за компами обсуждали трансформеры, к примеру. Шёл суровый 1995 год)

Все совсем не так. Слабый пол интуитивно ищет успешных мужчин именно для того, что бы потомство оставить с наиболее перспективной особью. И известность на тв повышает шансы привлечь внимание девушек именно для романтических отношений.

А ffmpeg -hwaccel qsv… что говорит?

В линуксе проблематично использовать одновременно встроенное видео и дискретную видеокарту, попробую дома.
И при декодировании этого ролика ASIC загружен на 100%

ASIC ускоряет, как правило, такие операции как арифметическое кодирование и iDCT, остальное, например, Motion estimation, в зависимости от реализации, может выполняться на блоках общего назначения или даже CPU.

Хотелось бы увидеть результат qsv

У меня получался результат в 6-10 раз быстрее (Haswell, Broadwell, SkyLake), но для получения такого результата нужно использовать непосредственно Intel Media SDK без ffmpeg
Video: h264 (High) (avc1 / 0x31637661), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 13993 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)

i7-8700
ffmpeg -threads auto -i costa-rica_h264.mp4 -f null - -benchmark
frame= 9246 fps=245 q=-0.0 Lsize=N/A time=00:05:08.50 bitrate=N/A speed=8.18x


Geforce RTX 2080:
ffmpeg -hwaccel vdpau -threads 1 -i costa-rica_h264.mp4 -f null - -benchmark
frame= 9246 fps=198 q=-0.0 Lsize=N/A time=00:05:08.50 bitrate=N/A speed=6.59x


У меня, правда битрейт меньше исходника, я сам жал в h264
А у аппаратного декодера всегда есть потолок, например по fps, выше которого он физически не прыгнет

Этот потолок часто ограничен только пропускной способностью памяти и бывает 200-500 fps в зависимости от разрешения картинки. Если сервер обрабатывает много потоков это может быть критично.
Сегодня, когда zen 2 продается по 5 рублей за кило, лучше даже и не вспоминать про аппаратный декодер

Про аппаратный декодер придется вспомнить, если у вас компания занимается стримингом и имеет собственные сервера для транскодинга. В свое время мы использовали серверные процессоры Intel для этой цели. Если использовать программный декодер, то уменьшается количество каналов, которые можно транскодировать одновременно в разные качества. Наиболее оптимальный вариант — когда транскодинг полностью аппаратный и не происходит копирование в системную память после декодера, а поверхность сразу отправляется в энкодер. На одном таком сервере за счет встроенного GPU удавалось ускорить процесс в 5-6 раз, как и количество каналов. Это вообще критично может быть, учитывая стоимость одного сервера.
Кстати, по-поводу тяжести работы, однажды, в конце года после очередного дедлайна мне просто не хватило новогодних выходных что бы просто отсидеться. Я к компу даже подходить не мог. А я работал в разных сферах и могу сказать, что такого не было нигде. Поэтому когда на тему более легкой работы начинает рассуждать человек, который, по его словам отработал в IT 30 лет у меня возникает резонный вопрос: А чего вы там 30 лет делали? Как удалось сохранить бодрость духа?
Под капотом банковской чухни может быть высоконагруженный сервис с шифрованием, безопасностью, безотказностью 24/7 и т.д. В банках ведь тоже далеко не все формочки лепят. К слову, слепить удобную формочку тоже не так просто. Ну и реальное применение ML сейчас наблюдается именно в банковском секторе (от ботов — операторов до сложной аналитики). Другой вопрос, какую это все пользу обществу приносит.
Ко мне недавно пришел мастер по ремонту холодильников. Его внедорожник не поместился у меня перед домом, пришлось отгонять в другое место. Наверное, есть и другие мастера, гораздо скромнее. Но тоже можно написать что-то про несправедливую цену ремонта и т.д., это будет выглядить так же смешно.

Не обязательно жить в пределах Садового кольца — 2-3 станции, например, и цена уже вполне приемлема. Молодежка — двушка 40-45 в зависимости от удаленности от метро.

В году 1995-96 ходил на местный УНПК, был курс программирования на УКНЦ, писали на бейсике. Впервые в жизни тогда я написал программу, которая была Нужна Кому-то. Компьютера своего не было, брал книги у друзей — изучал паскаль, из журналов Наука и жизнь (там публиковали тесты программ) брал код и изучал, как программа работает (в воображении). Поскольку я был «хулиган» тогда, всех удивил выбор курса — информатика и преподаватели мне сразу сказали, что влепят двойку и что таким как я здесь не место. В итоге я закончил курс едва ли не лучше всех, понял что это то чем мне нравится заниматься. Тогда про деньги даже и не думал.
Все так, только не совсем понятно, как обеспечить передачу указателя памяти из vaapi или vdpau/dxva в opencl да еще и каким-то унифицированным способом для всех этих технологий. Плюс, допустим конвертация из NV12 в RGB при помощи opencl может и не дать прироста. Было бы интересно попробовать, кстати.
uint8_t *buff = new uint8_t(1920*3*2);

Так ли необходимо каждый раз буфер выделять?
Возможно, с точки зрения скорости, стоит выделить один раз и сделать его членом класса.
void SaveFrame(uint8_t * f1, uint8_t * f2, int iFrame)

f1, f2 не меняются в коде? Можно сделать их const это позволит избежать некоторых ошибок, тем более вы с памятью работаете
char szFilename[32];


Такие вещи обычно именуются константой, хотя бы так: const int MAX_BUFF_SIZE = 32
Ну и 32 явно может не хватить для файла с длинным названием (например путь до него)
fwrite(buff, 1, 1920 * 3 * 2, pFile);

Обратите внимание, что функция fwrite возвращает некоторое число, которое тоже надо обрабатывать, так как не всегда может получится записать ровно столько байт сколько задумано

Information

Rating
4,345-th
Location
Россия
Date of birth
Registered
Activity