1.1, Иваня (?), 14:13, 20/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
Мне больше кодировщики на C нравятся. Rust неплох, но мне не нравятся в коде такие места unsafe extern, pub unsafe extern fn, unsafe {
| |
|
2.4, CisUnsafe (?), 14:21, 20/12/2019 [^] [^^] [^^^] [ответить]
| +14 +/– |
есть сомнения, что в C нет явного различия межу safe и unsafe-кодом, а то, что код на C unsafe, обычно узнают уже когда программа работает и начинаются утечки памяти, segfault, и т.д.
| |
|
3.8, Аноним (8), 14:32, 20/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
При программировании на Rust в safe режиме ощущения не те. Поэтому всем нравится больше на С, но с ним бывают сегфолты.
| |
|
4.22, proninyaroslav (ok), 17:23, 20/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Без unsafe не бывает низкоуровневых вещей ни в каком языке. Другое дело, когда этот unsafe чётко очерчен и человек понимает, где он его использует, с какой целью использует, и берёт на себя все риски. Этого сильно не хватает в C/C++ и компенсируется RAII, линтерами и прочим, но лишь частично.
| |
|
5.23, Crazy Alex (??), 17:28, 20/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это не "компенсируется" RAII и линтерами - в плюсах это works as expected. В идиоматическом плюсовом коде всёгда видно, что safe, что - нет. Ушёл в сишные дебри - unsafe, всё очень просто.
| |
|
6.26, proninyaroslav (ok), 17:51, 20/12/2019 [^] [^^] [^^^] [ответить]
| +5 +/– |
>В идиоматическом плюсовом коде всёгда видно, что safe, что -
> нет. Ушёл в сишные дебри - unsafe, всё очень просто.
Я бы посмотрел, сколько у вас ушло бы времени на то чтобы начать писать идиоматичный безопасный код без UB и других прелестей, особенно будучи новичком или средним на руку программистом... И даже этот код иногда не защищён от сюрпризов (камень в сторону разработчиков стандарта и std и других библиотек с протекающими абстракциями). Особенно это сложно в условиях, когда бОльшая часть проектов использует C++98 или того хуже (Google, насколько знаю, любит использовать подмножество C в C++), а сам язык с каждым годом становится всё сложнее, обрастая условностями и UB.
Поэтому в современых реалиях проще сделать "умный" язык, чем делать идеального программиста который мог бы использовать "глупый" язык правильным образом (Golang хорошо показывает эту тенденцию, хоть он и с GC). Сделать C++ умным в полной мере не выйдет никогда, поэтому я и сказал, что RAII, линтёры, анализаторы и всякие безопасные обёртки частично решают проблему.
| |
6.43, Аноним (-), 12:11, 22/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Покажите плиз, как у вас в низкоуровневом коде какое-нибудь заряжание DMA транзакции может быть "заведомо safe"? :)
| |
|
|
|
|
|
|
2.19, Аноним (19), 16:18, 20/12/2019 [^] [^^] [^^^] [ответить]
| –5 +/– |
Да ну брось ты... Это чистая попытка хипстерства в Mozilla. Они просто видят, что ребятки хипстеры с JavaScript вот и придумали себе крутой язык, а то что он теоретический и практический на нем писать невозможно и ничего никто не пишет, так это другой вопрос. Короче дохлятина это ...
| |
|
3.35, Аноним (35), 00:01, 21/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Тем не менее он очень популярен сейчас.
И даже если на практике он не устоится, то многие идеи, которые были популяризированны растом, обязательно найдут применение в будущем
| |
|
2.32, Аноним (32), 20:58, 20/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
# cd /usr/ports/multimedia/ffmpeg && make install clean
[x] RAV1E AV1 encoding via librav1e
| |
|
3.40, Аноним (40), 05:17, 21/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это что же получается, FreeBSD впереди планеты всей? Даже в gentoo такой радости ещё не завезли.
| |
|
4.44, Аноним (-), 12:42, 22/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
А что, configure у ffmpeg запустить уже rocket science? А там уже и укажите как вам его и с чем.
| |
|
5.49, Аноним (49), 18:23, 22/12/2019 [^] [^^] [^^^] [ответить] | +1 +/– | Судя по комментариям для современного линухоида - выходит таки да Но ставить г... большой текст свёрнут, показать | |
|
6.52, Аноним (-), 18:36, 23/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> для современного линухоида - выходит таки да.
Ну не знаю, я из git собрал себе по приколу. Чтобы свежие libaom, libvpx и еще пару либ да и сам ffmpeg потестить. А галочки в менюшке мне не требуются. К тому же я и это и либы в очень кастомные диры клал, понятия не имею как так сделать в менб с галочками.
| |
|
5.56, Аноним (40), 14:25, 24/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> configure у ffmpeg запустить уже rocket science?
Наоборот, скатывание на более низкий уровень, где всё приходится делать руками. Как это собранное потом обновлять вместе со всеми библиотеками? Костылять монструозный шелл-скрипт? Я лучше в scm-ебилд допишу отсутствующие зависимости и ключи configure.
| |
|
6.59, Аноним (-), 23:48, 24/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Как это собранное потом обновлять вместе со всеми библиотеками?
> Костылять монструозный шелл-скрипт?
Почему монструозный то? И зачем мне обновлять вообще все библиотеки? Чтобы посмотреть как я соберу вообще все глюки на планете в первых рядах? Спасибо, что-то не хочется :)
> Я лучше в scm-ебилд допишу отсутствующие зависимости и ключи configure.
Я не рвусь перекомпилить все и вся ради процесса. В упомянутом случае меня интересовал конкретный результат - свежие версии пары-тройки либ и ffmpeg'а.
| |
|
|
|
|
|
|
2.14, Аноним (14), 15:34, 20/12/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Потому что сравнивать не выгодно) HEVC этот кодек сливает по всем фронтам (и скорость, и качество картинки).
| |
|
3.46, Аноним (-), 12:44, 22/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
С другой стороны - удачи догнать референсный кодек av1. Он все еще медленный, но жмет чертовски круто.
| |
|
|
3.47, Аноним (-), 12:52, 22/12/2019 [^] [^^] [^^^] [ответить] | +1 +/– | Ровно наоборот - в AV1 придумали ряд интересных фокусов, отсутствующих в других ... большой текст свёрнут, показать | |
|
|
|
|
3.38, Аноним (40), 04:42, 21/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Благодарю. В версии, которую я смотрел, не было ни этого, ни опции --offline, т.е. онлайн-режим сборки был безальтернативен.
| |
|
|
|
2.36, Ordu (ok), 00:05, 21/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
В прошлый раз всем было пох, и видимо в этот тоже. Если какой-то вброс не работает, то многократные попытки вбросить его ничего не изменят. Попробуй переписать как-нибудь, если у тебя нет фактов, то попробуй хотя бы за эмоции людей зацепить.
| |
|
3.48, Аноним (-), 12:57, 22/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Более того - можно просто взять кодеки, пожать самому и посмотреть на результат.
Вот чесслово, собрать распоследний ffmpeg с какими там кому нравится либами, даже распоследними, в пределах сил человеческих. И таки VP9 ну вообще никак не устоит vs его же поздней инкарнации в виде AV1. А x264 даже и на более приличном битрейте выглядит мутной фигней, если попытаться приблизиться к битрейтам на которых AV1 оперирует.
| |
|
|
1.12, Аноним (12), 15:08, 20/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Для сборки firefox-70.0.1 требуется 8G на диске.
Для сборки rust-1.40.0 требуется 9G на диске.
| |
|
|
3.17, Аноним (12), 16:05, 20/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> А для сборки firefox нужен rust! :-)
А для сборки rust-1.37.0 надо было 7G :-)
| |
|
|
3.25, neAnonim (?), 17:50, 20/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Почему скатился? Он просто не развивается. Идеален в своей простоте, как шарик =)
| |
|
|
1.15, Аноним (15), 15:47, 20/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> и повышенным вниманием к обеспечению безопасности
Это они так хитро обозвали управление памятью программ на Rust?
| |
1.34, Главный Ананим (ok), 23:10, 20/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Просто мне скажите это переписывание на раст поможет устранить ступенчатые артефакты в тёмных сценах на градиентах? Нет конечно. Сделайте нормальное сжатие без градиентов и с нормальным движением маленьких не контрастных объектов. Наблюдать как желе из ступенек движется по экрану мне уже надоело.
| |
|
2.39, Аноним (40), 04:52, 21/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
А может, это не кодек виноват, а цветовой формат с limited range, в котором плавные тёмные градиенты в принципе невозможны? Предлагаю попробовать full (pc) range или цветность 10 бит на канал.
| |
2.50, Аноним (-), 18:20, 23/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Просто мне скажите это переписывание на раст поможет устранить ступенчатые артефакты в
> тёмных сценах на градиентах? Нет конечно. Сделайте нормальное сжатие без градиентов
> и с нормальным движением маленьких не контрастных объектов.
Ну так это...
1) Юзайте bit depth под стать контенту. Если у вас офигенные градиенты, как насчет 10 или 12 битов?
2) Цветовое пространство правильное? PCшный контент например неважно выглядит в YUV, ему RGB надо.
3) Возможно дело в управлении битрейтом? Не знаю как в сабже, а в референсном может иметь смысл например CRF + ограничение битрейта сверху. Гугл для себя такой режим использует - и на это есть причины.
| |
|
3.55, Аноним (40), 14:17, 24/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> в референсном может иметь смысл например CRF + ограничение битрейта сверху
В рефренсном энкодере нет никакого CRF, это вообще термин исключительно кодеков x264 и x265.
Описанное называется режимом constrained quality.
Путаницу ввёл ffmpeg, использовав ключ -crf для управления аналогичным функционалом отличных от x26* кодеков.
| |
|
|
1.37, Аноним (37), 00:56, 21/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>повышенным вниманием к обеспечению безопасности
>кодировщик
Я, видимо, чего-то не догоняю. Кодировщики же сырую картинку потребляют, там парсить нечего.
| |
|
2.42, mumu (ok), 11:21, 21/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
кодировщик может стоять на сервере и ему можно подсунуть специально сформированный источник для получения контроля над сервером. Банальнейший пример - загрузка видео на любой видеохостинг.
| |
|
3.51, Аноним (-), 18:32, 23/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> кодировщик может стоять на сервере и ему можно подсунуть специально сформированный источник
> для получения контроля над сервером. Банальнейший пример - загрузка видео на
> любой видеохостинг.
И что характерно, САБЖ не умеет парсить, кхе-кхе, заковыристые входные форматы, в которых именно это может быть актуально. Этим все-равно видимо сишный ффмпег будет заниматься. Ну или как это задумано?
| |
|
4.54, Аноним (40), 14:10, 24/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
А зачем кодировщику гора лишнего функционала, тем более уже реализованного другими проектами? Задача кодировщика — кодировать, а не быть монструозным комбайном.
| |
|
|
|
|