The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от opennews (ok), 09-Фев-20, 10:16 
Состоялся выпуск rav1e 0.3, высокопроизводительного кодировщика  формата кодирования видео AV1, развиваемого сообществами Xiph и Mozilla. Кодировщик написан на языке Rust и отличается от эталонного кодировщика libaom  значительным увеличением скорости кодирования и повышенным вниманием к обеспечению безопасности. Код проекта распространяется под лицензией BSD...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52341

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +11 +/
Сообщение от leap42 (ok), 09-Фев-20, 10:16 
а почему на Rust? заходим в репо, видим что 57% кода это язык ассемблера. а кроме этих двух ещё есть Shell и Python.
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +6 +/
Сообщение от Аноним (2), 09-Фев-20, 10:21 
Assembly 56.9%
Rust 42.8%
Действительно, почему))
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от коржик (?), 09-Фев-20, 13:24 
Вы построчно считаете? Сколько ассемблерных инструкций в одной строке раста?
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +7 +/
Сообщение от Андрей (??), 09-Фев-20, 15:48 
Интересно, сколько там rust-строк (безопасных), а сколько в unsafe-блоках.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +5 +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 10:48 
Ну и что? На асме (20 файлов) вынесены только платформо-зависимые вещи вроде SSE инструкций, т.е те участки кода, которые критичны ко времени выполнения и должны быть эффективными. Остальные 111 файлов написаны на расте, т.е вся логика кодировщика.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

9. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –5 +/
Сообщение от mommy (?), 09-Фев-20, 11:24 
Тоесть асмный код эффективный а раст это мусор? Ну я так и знал
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +15 +/
Сообщение от Аноним (17), 09-Фев-20, 12:07 
А раст "безопасный". Безопасно вызвать асм код это особое искусство!
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (-), 09-Фев-20, 15:44 
😃 😃 😃
Ответить | Правка | Наверх | Cообщить модератору

66. Скрыто модератором  –6 +/
Сообщение от nelsonemail (??), 09-Фев-20, 17:01 
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

26. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –3 +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 12:30 
Асм эффективнее любого существующего языка. Конечно, в большинстве случаев компилятор сам умеет генерировать эффективный асм, но компилятор не всемогущ и не всегда предсказуем, особенно когда это касается спец-наборов инструкций типа SIMD/SSE/MMX. Их часто пишут вручную.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

39. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от A.Stahl (ok), 09-Фев-20, 14:12 
Дык человек-то ещё менее всемогущ и предсказуем, особенно когда это касается спец-наборов инструкций типа SIMD/SSE/MMX.
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 14:21 
> Дык человек-то ещё менее всемогущ и предсказуем, особенно когда это касается спец-наборов
> инструкций типа SIMD/SSE/MMX.

То есть вы хотите сказать что компилятор абсолютно всегда знает где применять SIMD, при этом не нарушая семантику программы, а программист, который знает с какими данными он работает и что хочет получить в итоге, используя SIMD, нет)? Ну тогда вы изобрели ИИ для компилятора, программисты в таком случае и не нужны (как и сами языки).

Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +7 +/
Сообщение от Анонимиус (??), 09-Фев-20, 19:17 
На самом деле вы недооцениваете компиляторы, и переоцениваете человека. Как правило компиляторы С/С++ при должной квалификации программиста генерируют довольно хороший код, а код, написанный на ассемблере человекм, далеко не всегда работает заметно быстрее сгенерированного
Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 20:05 
> Как правило компиляторы С/С++ при должной квалификации программиста генерируют довольно хороший код

Да, при должной квалификации и знания "потрохов" того компилятора, для которого пишеться код. Понимать, какие конструкции могут быть векторизованы и писать код в соответствующей стилистике. Но есть 2 проблемы: при сборке оптимизацию компилятора можно отключить или же вдруг потребуется сменить компилятор, и тогда карета превратится в тыкву. Надёжнее писать критически важные места на асм, который делает то что необходимо и будет работать вне зависимости от компилятора и его параметров. Вторая проблема как раз в квалификации. Видимо, кому то проще написать асм, чем подстраивать высокоуровневый код под компилятор, который бы хорошо векторизовался.

Ответить | Правка | Наверх | Cообщить модератору

115. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от VEGemail (ok), 10-Фев-20, 11:31 
Вы переоцениваете компиляторы. В любом оптимизированном кодеке будет много ассемблера или интринсиков (которые подставляют нужную инструкцию). Независимо от того, написано оно на C или Rust. Просто потому что компиляторы не могут эффективно применять SSE/AVX самостоятельно в нетривиальных алгоритмах. ИИ ещё не изобрели.
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

104. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от виндотролль (ok), 10-Фев-20, 03:47 
> Ну тогда вы изобрели ИИ для компилятора

Не обязательно ИИ. Обширный набор эвристик, теория отимизации графов и прочие умные штуки (в которых мало кто разбирается) справляются хорошо.

А если перенести компиляцию в финальное представление в рантайм (JIT), где у компилятора есть возможность "почувствовать" данные, то вообще удивительные вещи происходят.

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

116. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от VEGemail (ok), 10-Фев-20, 11:37 
> А если перенести компиляцию в финальное представление в рантайм (JIT), где у
> компилятора есть возможность "почувствовать" данные, то вообще удивительные вещи происходят.

Ага, именно поэтому все самые быстрые кодеки всегда на низкоуровневых C/Rust с кучей ассемблера или интринсиков внутри =)

Риторика "наши C#/Java работает быстрее ваших C/C++" была популярна в нулевых, даже приводились правдоподобные доводы. Только вот эти мечты разбились о суровую реальность. Даже Microsoft (которая активно продвигала эту идею) уже сделала разворот, активно развивает C++ (в нулевых они его активно игнорировали), и засматривается на Rust.

Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от виндотролль (ok), 10-Фев-20, 18:12 
> Риторика "наши C#/Java работает быстрее ваших C/C++" была популярна в нулевых, даже
> приводились правдоподобные доводы. Только вот эти мечты разбились о суровую реальность.
> Даже Microsoft (которая активно продвигала эту идею) уже сделала разворот, активно
> развивает C++ (в нулевых они его активно игнорировали), и засматривается на
> Rust.

От задачи зависит. Теоретически, чем более высокоуровневый язык, тем круче оптимизации возможны в компиляторе. Если делая кодек на расте разработчики вынуждены вставлять вставки на АСМе, это значит лишь то, что таких оптимизаций в *ими используемом* компиляторе раста нету.

Но это не означает, что такие оптимизации невозможны. Хотя, я также не берусь утверждать, что такие оптимизации *в принципе* возможны для раста и для алгоритмов этого кодировщика. Возможно уровень абстракции раста недостаточно высок, чтоб компилятор смог правильно распознавать конструкции, которые можно эффективно транслировать в наиболее оптимальный набор SSE/AVX инструкций. Т.е. можно конечно накидать эвристик в существующий компилятор, но каждая эвристика будет работать лишь с одной конкретной имплементацией конкретного алгоритма =)

В общем это все теоретическая полемика. На практике выражение "ими используемый компилятор" эквивалентно "все доступные компиляторы". Так что прекращаю спорить.

Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +3 +/
Сообщение от Аноним84701 (ok), 09-Фев-20, 14:49 
> Тоесть асмный код эффективный а раст это мусор? Ну я так и знал

Все верно! Здесь - считаем!

Здесь:
https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps;
https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/x86...


memchr.S
memcmp.S
memcpy.S
memcpy_chk.S
memmove.S
memmove_chk.S
mempcpy.S
mempcpy_chk.S
memrchr.S
memset.S
memset_chk.S
...

https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/x86...

memchr-avx2.S
memchr-sse2.S
memchr.c
memcmp-avx2-movbe.S
memcmp-sse2.S
memcmp-sse4.S
memcmp-ssse3.S
memcmp.c
memcpy-ssse3-back.S
memcpy-ssse3.S
...

https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/arm;
https://sourceware.org/git/?p=glibc.git;a=tree;f=sysdeps/i386;
...
Ни-ни! Не считаем!

А вот здесь
https://www.opennet.ru/opennews/art.shtml?num=50605
> Третий выпуск dav1d, декодировщика AV1 от проектов VideoLAN и FFmpeg
> Код проекта написан на языке Си (C99) с ассемблерными вставками

https://github.com/videolan/dav1d
> dav1d is a new AV1 cross-platform decoder, open-source, and focused on speed and correctness.
>  Assembly 57.5%      C 41.5%

вообще рыбу заворачивали!

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

89. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (89), 09-Фев-20, 22:17 
асмный код - это различная реализация одних и тех же процедур для разных платформ.
Отдельные реализации для ARM32, ARM64, x86_64. Соответственно, один бинарник использует только часть кода, который относится только к платформе этого бинарника

Код на Rust - один для всех платформ.

Конечно, если у вас есть 3 версии реализации одного и того же - это у вас будет занимать больше места.

Асмный код по кол-ву строк тоже больше места занимает зачастую, чем аналогичные операции на C/Rust/etc.

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

121. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от Аноним (121), 10-Фев-20, 13:10 
Покажите хотя бы один компилятор, который делает автоматическую оптимизацию в SIMD-инструкции?

(Нет, vector extensions, которые идентичны написанию на асме, не считаются).

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

137. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Иван (??), 11-Фев-20, 00:06 
Пожалуйста:

https://godbolt.org/z/eyj-xb

GCC 9.2

Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (87), 09-Фев-20, 20:34 
> На асме (20 файлов) ... должны быть эффективными. Остальные 111 файлов написаны на расте

Т.е. чтобы вызывать функции из 20-ти файлов на асме, требуется 111 неэффективных файлов на расте?!

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

32. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –4 +/
Сообщение от Аноним (32), 09-Фев-20, 13:31 
>а почему на Rust? заходим в репо, видим что 57% кода это язык ассемблера.

А потому, что Rust он же безопасный и в указатели на нём низзя-низзя, моветон. Поэтому на ассемблере.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

37. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +10 +/
Сообщение от Аноним (37), 09-Фев-20, 14:06 
Забавно то, что в декодере dav1d, написанном на С, аналогичная картина.

Assembly 57.6%
C 41.4%
Other 1.0%

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

48. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –5 +/
Сообщение от нах. (?), 09-Фев-20, 15:01 
он НЕБЕЗОПАСТНЫЙ, как вы не можете этого понять!

Ответить | Правка | Наверх | Cообщить модератору

3. Скрыто модератором  +2 +/
Сообщение от Аноним (3), 09-Фев-20, 10:22 
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +7 +/
Сообщение от Аноним (4), 09-Фев-20, 10:39 
Что плохого в Rust? А то его здесь много критикуют.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от leap42 (ok), 09-Фев-20, 10:41 
в Rust ничего плохого, просто проект в основном на ассемблере написан, а не на грибе (на нём видимо обвязка)
Ответить | Правка | Наверх | Cообщить модератору

7. Скрыто модератором  –4 +/
Сообщение от Аноним (7), 09-Фев-20, 11:17 
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

8. Скрыто модератором  +7 +/
Сообщение от коржик (?), 09-Фев-20, 11:18 
Ответить | Правка | Наверх | Cообщить модератору

10. Скрыто модератором  +2 +/
Сообщение от mommy (?), 09-Фев-20, 11:25 
Ответить | Правка | Наверх | Cообщить модератору

59. Скрыто модератором  +5 +/
Сообщение от emg81 (ok), 09-Фев-20, 16:00 
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

14. Скрыто модератором  +1 +/
Сообщение от Аноним (4), 09-Фев-20, 11:37 
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

11. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +5 +/
Сообщение от segesg (?), 09-Фев-20, 11:27 
Вокруг раста слишком много хайпа, многие не понимают сильных сторон этого языка. Зато понимают что язык сложный (это правда), особенно после питона и джава(скрипта), вот и "критикуют".
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

13. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +3 +/
Сообщение от Аноним (4), 09-Фев-20, 11:36 
Ну вообще, конечно, управление памятью без сборщика мусора всегда было мечтой низкоуровнего программирования. И пусть, конечно, от unsafe не избавиться, но по крайней мере всех скелетов может запереть там
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 12:22 
Ну плюсы тоже сложные, если использовать их правильно.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

74. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +4 +/
Сообщение от Аноним (74), 09-Фев-20, 19:11 
В том, собственно, и смысл. На плюсах просто начать писать, но научиться писать на них нормальный надежный код - задача не одного года обучения. Семантика Rust по сути форсит ряд практик безопасной разработки на C/C++ по умолчанию. В итоге начать хоть что-то писать на Rust сложнее (потому что всякая дичь, которую человек может написать особенно после привычки к GC, просто не будет компилироваться), но вот начать писать на нем вменяемый код легче.
Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 20:22 
Я имел ввиду что некоторые тоже хейтят C++ за свою сложность, но продолжают писать и изучать. В случае раста "неосилил" приравнивается к отказу использовать его, ибо не отправдал надежд, и яростно хейтить за это. Просто многие из мира языков со сборкой мусора (довольно большая часть аудитории, которая инетерсуется растом) не понимают что языки с ручным или полуавтоматическим управлением памятью априори сложны, и новый модный язык не будет проще старомодного.
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 13:04 
в самом rust может и ничего особенно плохого (хотя лично мне идея кажется феерически бездарной), проблема что _все_ существующие языки до него - придуманы теми, кто писал на них что-то, что до того просто не существовало (в том числе - из-за требуемых нечеловеческих усилий по написанию, которые несколько уменьшал очередной язык).

А хруст придуман и впихивается мурзилой и ее адептами ради _переписывания_ _уже_существующего_ кода (начали, понятно, с самой мурзилы. Щастья "почему-то" нет до сих пор.) То есть совершенно пустопорожнего занятия.

Что, собственно, в очередной раз и имеем - еще один бесполезный кодировщик бесполезного формата. Точнее, интерфейсная часть, поскольку сам кодировщик в гораздо большей степени, чем существовавшие до него, написан на ассемблере и в результате получился абсолютно непереносим никуда, кроме единственноверных платформ.

Дорогие хрустеры - когда же вы напишете что-то полезное? А не перепишете в очередной раз то, что уже работает.

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

46. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +6 +/
Сообщение от Илья (??), 09-Фев-20, 14:52 
> ...хруст,  ...мурзилой, ...адептами, ...хрустеры

Человек даже свой жаргон ненависти придумал. Читаю и радуюсь.

Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –4 +/
Сообщение от нах. (?), 09-Фев-20, 15:00 
видимо, более сложные слова разбирать для тебя - задача невыполнимая, альтернативно-одаренный?

Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +3 +/
Сообщение от Аноним (74), 09-Фев-20, 19:15 
> жаргон ненависти

Последствия любого упоминания Rust здесь мне напоминают двухминутку ненависти из 1984.

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

49. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (4), 09-Фев-20, 15:03 
Я, конечно, сам тоже скептик переписывания, но по-вашему никакого нового кода взамен существующего писать не надо, да?

> еще один бесполезный кодировщик бесполезного формата

Для вас бесполезного, а для кого-то может и нет, зачем же так категорично говорить

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

52. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 15:32 
Если никакого _нового_ кода, не взамен существующего, не появилось на значительном отрезке времени - возможно, следует предположить, что что-то тут не так?

> Для вас бесполезного, а для кого-то может и нет, зачем же так категорично говорить

для кого-то живущего в очень отдаленном будущем, где компьютеры быстрее в тысячу-другую раз - он, возможно, оказался бы полезен. Но что-то подсказывает, что к этому времени раст отправится следом за многими другими модными-молодежными поделками, а работающий в этом будущем кодировщик av1 будет на чем-то другом. Или, скорее всего, будет другой стандарт.

А пока все "оптимизированные" поделки обеспечивают время кодирования двадцатиминутного ролика в пару недель и с качеством хуже чем h264 - они не нужны абсолютно никому, кроме организаций, впаривающих фуфло в надежде на новый грант.

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

Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (4), 09-Фев-20, 16:57 
> Если никакого _нового_ кода, не взамен существующего, не появилось на значительном отрезке времени - возможно, следует предположить, что что-то тут не так?

Это не особо хорошо, да.

Хотя если честно, я все равно не пойму такой силы нападок на Rust на opennet'е. Ведь Rust обещает решить заветную проблему программирования - управление памятью без GC! И все эти постоянно вылазающие уязвимости, из-за переполняющихся буферов, разве этого не станет меньше в Rust-мире? Конечно, переписывание всего и вся идея в чем-то сомнительная. Но ведь Rust и обещает многое. Все-таки, мы все люди и все мы ошибаемся, а отлов ошибок в Си с его довольно свободными правилами - дело своеобразное.

> пока все "оптимизированные" поделки обеспечивают время кодирования двадцатиминутного ролика в пару недель и с качеством хуже чем h264

Хм, ну если так, тогда да, вы правы

Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от нах. (?), 09-Фев-20, 17:24 
> Хотя если честно, я все равно не пойму такой силы нападок на
> Rust на opennet'е. Ведь Rust обещает решить заветную проблему программирования -

ну потому что задолбали уже всех белки-истерички, рассказывающие о том, как всем настанет щщастье от переписывания на хруст. А щастья все нет и нет.

> управление памятью без GC! И все эти постоянно вылазающие уязвимости, из-за
> переполняющихся буферов, разве этого не станет меньше в Rust-мире? Конечно, переписывание

Просто заменятся слегка другими (языки с gc это не о переполнениях, это о double free или использовании неинициализированной памяти). Конечно,конечно, со всех сторон утыканными unsafe. Или вон вообще - ой, 60% кода пришлось написать на ассемблере. Его очень-очень безопастно вызывать из rust?

А плохой код так и останется плохим. При этом неудобочитаемым и, вероятно, еще и менее эффективным.

> обещает многое. Все-таки, мы все люди и все мы ошибаемся, а
> отлов ошибок в Си с его довольно свободными правилами - дело

rust никудышная замена C. Он метил в замены C++ - а там, в общем-то, никто не мешает писать правильно.
Но, по-моему, идея была в том, чтобы заменить не язык, а дорогих программистов на нем - дешевыми.

Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +11 +/
Сообщение от Аноним (74), 09-Фев-20, 18:54 
> ну потому что задолбали уже всех белки-истерички, рассказывающие о том, как всем настанет щщастье от переписывания на хруст. А щастья все нет и нет.

Как минимум, на opennet редко кто врывается и что-то рассказывает про Rust. Здесь просто потоки ненависти в сторону Rust и все. Выдумали себе "сектантов" и воюете с ними.

Rust не дает абсолютную безопасность. Я соглашусь, что это во многом маркетинговый лозунг. Но Rust дает семантику, благодаря которой ты думаешь о безопасности только тогда, когда об этом нужно думать  (а это менее 1% времени разработки), а не постоянно. Помимо этого он исправляет гору накопившихся проблем других языков путем внедрения накопившихся достижений функциональных языков (нет null, нет наследования типов, нет эксепшенов, нарушающих поток управления, но есть алгебраические типы, трейты, бесплатные итераторы и т.д.). Плюс к этому вокруг языка складывается современная удобная экосистема (единая система сборки, легкость в создании документации, тесты из коробки, причем тестируются даже примеры кода в доке и т.д).

Никто не заставляет вас писать на Rust. Но хейтеры здесь почему-то выглядят как человек из той шутки: "я догнал вас только чтобы сказать, как вы мне безразличны". Пишут себе люди на Rust и пишут - вам какое дело? Если язык действительно плох, то пропадет и без вашей ненависти.

Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Илья (??), 09-Фев-20, 20:29 
Не кормите троллей
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (4), 09-Фев-20, 19:45 
Как же нам тогда писать софт с меньшим числом досадных багов и уязвимостей? И какова судьба Си?
Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

81. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (74), 09-Фев-20, 19:56 
Я достаточно изучил местную аудиторию, так что наверняка предложенные вам варианты будут такими:

1. Просто пишите на C/C++ правильно, изучайте практики. Следите внимательно за своими "const void *buf, const int buf_len" и все будет хорошо, да и что вообще может пойти не так? Ну там valgrind'ом еще и анализаторами всякими прогоняйте и все будет круто, правда.

2. Начнут вам рассказывать про Zig или на крайняк про D.

Буду рад, если вам предложат что-то новенькое, самому интересно.

Ответить | Правка | Наверх | Cообщить модератору

131. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от коржик (?), 10-Фев-20, 20:10 
> Он метил в замены C++ - а там, в общем-то, никто не мешает писать правильно.

Как я не догадался?

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

Конечно, если разработчик сможет абстрагироваться от мелких, но назойливых проблем, то у него будет больше времени на продукт? Это плохо?

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

139. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –2 +/
Сообщение от нах. (?), 11-Фев-20, 10:32 
у него будет больше времени на тяп-ляп. Это плохо.

Управление памятью не является "мелкой" проблемой. Не надо от него "абстрагироваться" (а потом выяснить, что 64гигабайта мало шибко-абстрактной поделке).

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

Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от коржик (?), 11-Фев-20, 21:45 
> у него будет больше времени на тяп-ляп. Это плохо.

Считать деньги это по вашему тяп ляп?
Биллинг, генерация документов и репортов это плохо по вашему?

Ответить | Правка | Наверх | Cообщить модератору

153. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Obito (ok), 22-Мрт-20, 13:44 
> непригодный ни для кодирования, ни для воспроизведения на обычном железе

Это какое же у вас железо то? У меня вот например воспроизводит 1080р на i5-2520m, 60 кадров тоже воспроизводит, но уже зависит от видео, некоторые не тянет. С процессорами с AVX2 всё ещё лучше.
По кодированию: rav1e с дефолтным пресетом кодирует быстрее чем libvpx-vp9 с самым медленным пресетом и при этом показывает заметно лучше качество. Это по скорости 0.4 - 0.5 фпс на процессоре i3-4150 для 1080р 30 кадров видео. То есть имея много ядер можно вполне нормально кодировать ролики, продолжительностью 10-20 минут. И раз тот же youtube уже кодирует в AV1, значит есть профит.
С h265 его сравнивать нельзя, потому-что h265 не работает в браузерах, он работает только в EDGE и вроде в safari. Поэтому сравнения качества только с h264 и VP9.
Я не спорю что x265 кодирует быстрее и с +- таким же качеством как у rav1e, но AV1 сделан как замена h264 и VP9, сделан для интернета, поэтому h265 тут не учитывается вообще.

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

86. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 20:31 
> ради _переписывания_ _уже_существующего_ кода

Это болезнь любого нового (или не очень) языка. Язык просто ищет применение, а те кто изучает его ищут на чём попрактиковаться, так как коммерческая сторона этим языком либо не заинтересована, либо только в процессе прощупывания. Бывают, конечно, и фанатики которые хотят что всё вокруг было написано на их любимом языке (JS в том числе).
Раст находится где то около процесса прощупывания и уже сейчас можно увидеть в т.ч brand new софт, который пилится гуглом, майкрософтом и некоторыми другими мелкими компаниями или сообществом.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

88. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от нах. (?), 09-Фев-20, 22:16 
нет. Это новоизобретение именно модных-современных язычков.
Повторяю: _все_ что было написано до них - было написано с конкретной целью - решить конкретные задачи, которые БЕЗ этого языка - не решались вообще за доступное человеку время.

Так было с фортраном, так было с Си, так было с C++, так было даже с basic. Отдельная история с js, который был придуман с одной целью, а потом, когда появились разработчики (не "переписыватели", вовсе, вебню не с чего было переписывать) - оказалось, что им можно найти занятия и поинтересней.
Даже с go так было, гуглеидеологи открытым текстом писали, зачем его создали - "мы не хотим платить зарплаты квалифицированным программистам, слишком много жрут, мы заставили тех немногих, которым уже платим, написать компилятор, позволяющий любому птушнику, кое-как умеющему скрипты на питоне, создать сравнительно эффективно работающее пoделие за приемлемый бизнесом срок"

И только поколение миленниалов додумалось до идеи "сперва изобретем нескучный язычок, потом начнем "искать применения", авось найдутся".

Ответить | Правка | Наверх | Cообщить модератору

93. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от proninyaroslavemail (ok), 09-Фев-20, 22:36 
Ну, хоть и раст изначально разрабатывался без определённой прикладной цели, но через 2 года он всё таки попал под крыло мозиллы и применение было сразу найдено - как безопасную замену плюсам с уклоном в функциональное программирование и системой сборки/переиспользования кода из коробки. Думаю, это достаточный повод иметь данный язык, хотя бы как альтернативу монополии плюсов.

Тот же Го изначально разрабатывался в академическом кругу Plan 9 в виде языков Limbo и Newsqueak (причём они более развиты чем их наследник), но потом этот круг попал под крыло к гуглу, что дало шанс этим языкам в виде Го.

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от Аноним (74), 09-Фев-20, 22:47 
Откуда вы это берете? Если это действительно просто троллинг, то прямо слишком толстый. Mozilla вложилась в Rust для конкретной задачи: сделать производительный язык, на котором можно было бы легко производить параллельные вычисления так, чтобы ноги разработчиков оставались присоединенными к телу. Собственно, поставленной задачи добились, разработали Stylo, и на этом не останавливаются. И переписать целый браузер на другой язык - это дело не быстрое даже для большой опытной команды, так что давайте без "а чего ш они весь Firefox на Rust не переписали".

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

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

114. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от нах. (?), 10-Фев-20, 10:49 
дружище, мы эти сказочки про дело-небыстрое слушаем уже лет семь, кажется?

В это время гугель продолжает себе клепать браузер, и что-то не торопится переписать его на свой обожаемый go, а мурзила как была догоняющей, так и осталась, со своим 1%.

Возможно, если бы "делом небыстрым" вообще не занимались, а просто уволили профнепригодных с их "параллельными" затеями, из-за которых поделка больше неработоспособна на системах меньше чем с 64 ядрами - на освободившиеся деньги можно было бы нанять кого-то, кто хотя бы поддержку vaa в видео (а не в ненужном рендеринге страниц) сделал бы еще лет пять назад.

> Вот люди и исследуют эту сферу, в том числе переписывая устоявшиеся инструменты на Rust,

Но почему-то - только переписывая. Ничего общественно полезного, изначально написанного на rust - почему-то так и не написалось. Почему бы это? Может, люди слишком альтернативно-одаренные, и просто не могут ни одного проекта придумать сами?

Право, не знаю.

Ответить | Правка | Наверх | Cообщить модератору

117. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (117), 10-Фев-20, 12:40 
> В это время гугель продолжает себе клепать браузер

У гугла подход простой:

1. Перекупить ключевых разрабов у других компаний (напомню, что Chrome был создан перекупленными разработчиками Firefox).

2. Бросить на любую проблему столько тел, сколько влезет - просто задавить проблему деньгами и телами.

Это точно не тот подход, с которого стоит брать пример, как минимум просто потому, что мало кто может себе его позволить. Мало кто вообще себе разработку на C++ позволить может.

> и что-то не торопится переписать его на свой обожаемый go

Потому что Go для этого не подходит. GC, простенькая система типов, молодой компилятор и т.д. - все это запирает Go в нише для всяких утилит и микросервисов.

> Ничего общественно полезного, изначально написанного на rust

Что вы вообще подразумеваете под "общественной полезностью"? Множество проектов пилится разными людьми, в том числе крупными команиями, на Rust с нуля.

Или вы ждете что-то уровня браузеров, графических редакторов, операционных систем и т.д.? На это я могу вам сказать: вы находитесь здесь.

Про Mozilla ничего говорить не буду, я и сам от них не в восторге, однако Rust уже как проект практически отделился от Mozilla, что хорошо.

Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от нах. (?), 10-Фев-20, 13:04 
> Перекупить ключевых разрабов у других компаний (напомню, что Chrome был создан перекупленными
> разработчиками Firefox).

почему нет-то? Они не хотели работать затак. Они хотели работать за мало бабла (гугль фееричеки жаден, хуже только фейсбук. Даже амазон лучше, если речь не о работниках склада) - они это получили. А чтоб они по вечерам не работали на конкурента (гугль тогда _официально_ это разрешал не то что по вечерам, а прямо и днем, "30%" оплачиваемого времени) - такого уговора не было, но им самим нифига не хотелось. Им _нравилось_ писать хром - никак иначе это не объяснить.

Ну и да - весь смысл нескучных язычков - сэкономить бабло на разработчиках. Хорошие стоят дорого, а на нескучном язычке - как бы и годятся посредственные. А что результат тоже посредственный, как с мазилой - ну так менеджерам не каплет.

> однако Rust уже как проект практически отделился от Mozilla, что хорошо.

напомни, чей  проект мы в этом чятике обсуждаем? ;-)

от firefox - да, отделился. Но тому - что-то не лучшает.

> Или вы ждете что-то уровня браузеров, графических редакторов, операционных систем и т.д.?

ну, да. Потому что со всеми остальными было именно так - они решали возникшую задачу, затыкая явную дырку в технологиях.

> На это я могу вам сказать: вы находитесь здесь.

сколько лет еще подождать?

Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (117), 10-Фев-20, 14:07 
> Ну и да - весь смысл нескучных язычков - сэкономить бабло на разработчиках. Хорошие стоят дорого, а на нескучном язычке - как бы и годятся посредственные.

почему нет-то? (c)

> А что результат тоже посредственный

Спорно. Проекты на Rust нередко обходят по производительности все аналоги на других языках. Даже для хорошего опытного разработчика тот факт, что язык сильно разгружает его голову там, где нагружать не должен - это благо.

> сколько лет еще подождать?

А сколько уже ждете? Напомню таймлайн: до 2015-го года стабильной версии языка не было и на нем нельзя было ничего писать, кроме экспериментов. До 2018-го года писать на Rust было заметно сложнее (borrow checker был проще и часто ругался на в целом корректный код, лайфтаймы нужно было аннотировать всегда, нельзя было пробрасывать ошибки при помощи оператора ? и т.д.) и язык сильно отпугивал новичков, тем более что не было никакой экосистемы. Соответственно, пытаться писать что-то большое на Rust еще пару лет назад было слишком серьезным испытанием. С ростом экосистемы и развитием языка вещи экспоненциально становятся лучше и легче.

Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (4), 10-Фев-20, 04:52 
> так было с Си

А вот и нет, Юникс был в начале на асме написан. А уж потом придумали Си и переписали на Си, и оказалось эффективнее и надежнее

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

108. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 10-Фев-20, 07:14 
> А вот и нет, Юникс был в начале на асме написан.

то что было написано на асме- было примитивным монитором, с тремя командами ls/cd/ld и работало на машине, не превосходящей программируемый калькулятор начала 2000х.
Если бы его было достаточно для работы - никому бы и в голову не пришло переписывать.

Нет, не эффективнее (в те времена пацанам на слово не верили, и делали замеры накладных расходов - как и следовало ожидать, минимум их оказался у rt11/fb, максимум у юниксов) и не "надежнее" (опять см rsx11 тех же времен и на том же железе). Но его написали три страдающих от скуки инженера, запертые в умирающие проекты, и у них получилось за очень небольшое время. В отличие от той же rsx.
А потом еще и ухитрились приспособить к полезному делу, так что всю компанию даже и не уволили.


Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (4), 10-Фев-20, 04:54 
> И только поколение миленниалов додумалось до идеи "сперва изобретем нескучный язычок, потом начнем "искать применения", авось найдутся".

Как будто это просто очередной язычок, а про компайл-тайм гарантии безопасности вы забываете.

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

98. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от имя (ok), 10-Фев-20, 00:20 
> _все_ существующие языки до него - придуманы теми, кто писал на них что-то, что до того просто не существовало

Ага, особенно Страуструп, писавший инновационную и нанотехнологичную… научную работу? Я уж молчу про домашнюю страницу Расмуса Лердорфа.

> А хруст придуман и впихивается мурзилой и ее адептами ради _переписывания_ _уже_существующего_ кода
> То есть совершенно пустопорожнего занятия.

Ну а тот факт, что из этого сишно-плюсового кода продолжают выгребать тоннами use after free и прочие сорта переполнения — конечно, пустяк, недостаточный повод для переписывания, у нас же кругом внимательные и безошибочные гении программирования, другие попросту не рождаются.

> Дорогие хрустеры - когда же вы напишете что-то полезное? А не перепишете в очередной раз то, что уже работает.

Работает, ага. Открываешь тикеты той поры и видишь всякие #955913 Heap-buffer-overflow in mozilla::css::Declaration::GetCustomPropertyNameAt вперемешку с жалобами на тормоза. Зря они обработку CSS на Rust затеяли, ой зря. К чему нужно было всё это ускорение кода и закрытие постоянно всплывающих багов? У нас с тобою ж всё работало.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

109. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от нах. (?), 10-Фев-20, 07:29 
> Ага, особенно Страуструп, писавший инновационную и нанотехнологичную… научную
> работу? Я уж молчу про домашнюю страницу Расмуса Лердорфа.

afair, cfront использовался для какой-то вполне осмысленной деятельности, пусть и околонаучной (в смысле, на нем не написали юникс, а то что написали - было одноразовым, но к автору за новыми версиями бегали)

опять же на нем ничего не переписывали. На нем писали отсутствовавший в те годы софт. Ну разьве что borland с ее синим интерфейсом "переписала", с паскаля, но ей деваться было некуда - враппер в паскаль был бы больше самой библиотеки.

> Ну а тот факт, что из этого сишно-плюсового кода продолжают выгребать тоннами
> use after free и прочие сорта переполнения — конечно, пустяк, недостаточный

чтобы считать что от замены на хруст хоть что-то улучшилось, именно.

> Зря они обработку CSS на Rust затеяли, ой зря. К чему

абсолютно. Хромог и йож обходятся без хруста, и тормозят меньше. А количество cve каждый месяц почему-то по прежнему не меняется.
Может не переписывать надо, а шлюх поменять? На тех кто будут заниматься нормальным написанием кода с нормальным его review, а не то изобретать нескучные компиляторы, то героически побеждать xul, в десятый раз переделывая адресную строку, то еще какой хренью заниматься вместо работы?

> нужно было всё это ускорение кода и закрытие постоянно всплывающих багов?
> У нас с тобою ж всё работало.

у меня безусловно гораздо лучше и быстрее работала версия 3. А единственное нужное мне "ускорение" - видео, на gpu - обеспечивала (сишная) поделка от adobe. Видимо, что-то мешает сделать его на хрусте (у хромога-то - есть, на c++).
Современными версиями пользоваться невозможно в принципе.

А сказки - оставь детям.

Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +4 +/
Сообщение от имя (ok), 10-Фев-20, 13:25 
> чтобы считать что от замены на хруст хоть что-то улучшилось, именно.
> А количество cve каждый месяц почему-то по прежнему не меняется.

https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=firefox+css

За два года всего два разрыва, и те не use-after-free, как раньше пачками находили, а логические ошибки. Но ты продолжай верить, что это всё было зря.

> Хромог и йож обходятся без хруста, и тормозят меньше.

Смешно пошутил! Спасибо, нет, даже за вычетом прожорливости по памяти до сих пор у blink-браузеров с этим полный провал. Но у меня и вкладок поболе пятидесяти будет.

> то еще какой хренью заниматься вместо работы?

Вот тут соглашусь, впрочем: больно смотреть на все эти бесполезные коммиты про WebVR, WebAR, WebGPU и прочие GamepadAPI.

Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –3 +/
Сообщение от нах. (?), 10-Фев-20, 13:49 
> За два года всего два разрыва,

А остальные не отнесли к css.

Я просто смотрю на release notes шерстяного с очередным "а эти двадцатьпятьштук - нас не
касаются//исправлены два года назад". Хватило одного программиста вместо сорока смузихлебов.

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

А новая-модная мурзила на этом "старье" просто не работает. Никак.

Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от Аноним (12), 09-Фев-20, 11:30 
Истина всегда где-то рядом. Важен лишь продуктивный симбиоз для решения конкретной задачи, а не крайности. Слесарный молоток - отличный инструмент, но мясо лучше отбивать кухонным. Таков путь!
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 12:00 
Я тут недавно выяснил, что для h264 минимальный битрейт порядка 10000kbps на 1080p, иначе получается сплошное мыло. Можно уменьшить, но на практике это так. Т.е все эти файлы — ­сплошной мусор. Стандартно рекомендуют что-то вроде 1080p : 4Mbps to 6Mbps, но это ни о чём, 6000 хватит разве что h265. Если ~2000 нужно только для 360p, эти значения очень занижены.

Впрочем, можно проще, crf выставить в 17 (для h264, дефолт 23), 18 примерно минимальным для хоть какого-то качества. Для h265 crf минимум 21 (дефолт 27). Иначе на файлы можно смотреть только с расстояния в 10 метров.

Это всё, кстати, подтверждается разного рода исследованиями в сети. Есть ли такие сравнения для сабжа? Кто-нибудь уже догадался прогнать файлы под каким-нибудь vmaf? Сравнить с h265, наконец?

Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (17), 09-Фев-20, 12:10 
Кто уже догадался что в качестве разных кодировщиков нет никакой разницы и не стал ничего проводить.
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (15), 09-Фев-20, 12:18 
Я могу сказать, что на 360p h265 битрейт ~300kbps равен ~1000kbps h264. И h265~400kbps соотносится с h264~1500kbps (что-то в районе). Т.е. разница есть, и она очень велика и заметна невооружённым глазом.

пс. Чтобы получить достаточное качество на h265~300kbps ещё и придётся потвикать параметры, какие, я конечно же не скажу.

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 13:06 
> пс. Чтобы получить достаточное качество на h265~300kbps ещё и придётся потвикать параметры

а заниматься тем же самым для h264 тебе было не с руки, поэтому и получили что получили.

Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 13:17 
>> пс. Чтобы получить достаточное качество на h265~300kbps ещё и придётся потвикать параметры
> а заниматься тем же самым для h264 тебе было не с руки,
> поэтому и получили что получили.

Визуально качество очень сильно отличается. Я твикал на предмет удобоваримой скорости кодирования и отсутствия специфических артефактов-глитчей, они особенно проявляются на низком битрейте. У h264 сразу лезут артефакты картинки без всяких глитчей. Визуальная разница между самыми медленными пресетами опять же есть и без всяких твиков.

Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от нах. (?), 09-Фев-20, 13:34 
разница вполне может быть вызвана тем, что "самый медленный пресет" все равно твикнут на предмет "удобоваримой скорости кодирования" - и удобоваримым во времена когда рисовали slow preset для h264 (десять лет назад) считалось нечто совершенно другое.

С тем же успехом можно считать 265 таким ultra-slow preset.

Визуальная разница, кстати, зависит еще и от плейера. Внезапно, любые mpeg-видео нуждаются в постобработке при декодировании. Возможно в твоем до 265 еще не добрались.

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

P.S. отдельный вопрос - а где ты берешь несжатые исходники, на которых можно оценить какое-то там качество?

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 14:06 
Да не, x265 уделывает x264 целиком и полностью. Особенно, на низком битрейте.

>в постобработке при декодировании

бри обмазывании постобработкой артефакты особенно лезут, и у h265 их меньше при в 3 раза меньшем битрейте (поскольку я не могу использовать самый медленный профиль на которых в том числе артефакты, проявляющиеся при постобработке, куда-то исчезают, пришлось подбирать параметры).

>когда рисовали slow preset для h264 (десять лет назад)

Ну это вряд ли, развитие не прекращалось, и заботятся они скорее о качестве всё же. А у x265 даже нет в пресетах тех настроек качества, которые можно натвикать (сложность кодирования при этом вырастает на порядок, и разница на результате таки очевидна на низком битрейте). Визуально сравнивать смысла не очень много конечно и зависит от данных.

Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от нах. (?), 09-Фев-20, 15:39 
>>когда рисовали slow preset для h264 (десять лет назад)
> Ну это вряд ли, развитие не прекращалось, и заботятся они скорее о

пресеты не особо менялись первые лет десять. А дальше я перестал следить - полагаю, их вообще никто с тех пор не менял.

> качестве всё же.

заботились - но в пределах же разумного. У тех, у кого с разумом было туго - получился av1.

> порядок, и разница на результате таки очевидна на низком битрейте). Визуально
> сравнивать смысла не очень много конечно и зависит от данных.

ну блин. И за что тогда боролись?

По факту сейчас имеем - непрофессиональные источники (включая и дорогущую полупрофессиональную аппаратуру) производят mp4, часто еще и с так себе качеством, и бороться имеет смысл скорее за не-перекодирование при монтаже вообще, чем за волшебный формат с минимумом артефактов - они уже в материале.

Все профессиональные источники - производят программу дом2, или еще что-то столь же нужное, и в общем похрен чем их кодировать.

Остается для экспериментов только всякое ретро, существующее в несжатых/слабо сжатых форматах, а у него свои причуды с кодированием.

Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 09-Фев-20, 19:33 
> Все профессиональные источники - производят программу дом2, или еще что-то столь же нужное, и в общем похрен чем их кодировать

Годнота попадается иногда.

> Остается для экспериментов только всякое ретро

Сканы с шумной кинопленки?

Имхо, будущее за 50p/60p. И были эти форматы еще со времен динозавров (интерлейса).

Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 22:26 
>> Остается для экспериментов только всякое ретро
> Сканы с шумной кинопленки?

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

Но есть еще уцелевшие видео-пленки, где либо аналоговый формат, либо mjpeg и его не шибко продвинутые разновидности. Но там свои фокусы, очень плохо ложащиеся на универсальные кодеки.

> Имхо, будущее за 50p/60p. И были эти форматы еще со времен динозавров (интерлейса).

какое ж будущее? Прошлое. gopro6 - 14й, вроде, год? Линза от дверного глазка, матрица от камеры наблюдения или что это было такое, дешевое и всем доступное? Искажения уберем софтом, такие - легко убираются.
Нате вам 60p, тогда fhd, сейчас - 4k и выше. Формат - mp4, естественно.
Весь мир хавает и просит добавки - так, что каждый китаец в каждом подвале выпускает по три такие же камеры в десять, сто и двести раз дешевле.

Вот это - массовый формат.

Ответить | Правка | Наверх | Cообщить модератору

141. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Thony (?), 11-Фев-20, 11:10 
> P.S. отдельный вопрос - а где ты берешь несжатые исходники, на которых можно оценить какое-то там качество?

Кстати, на счет этого -- для Canon существует такой твик фирмвари Magic Latern, который позволяет записывать RAW Video, каждый отдельный кадр в сыром виде как он снят с матрицы. Чистота получающегося видео просто обалденная.

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

51. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 09-Фев-20, 15:29 
> Это всё, кстати, подтверждается разного рода исследованиями в сети.

Можно ссылочки? Мне очень методики сравнения интересны, я не понимаю как это можно делать, и было бы круто узнать.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

61. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (15), 09-Фев-20, 16:27 
Есть метрики навроде VMAF и PSNR, гуглится на раз. Насчёт информации на русском языке не уверен.
Ответить | Правка | Наверх | Cообщить модератору

68. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от нах. (?), 09-Фев-20, 17:17 
> Есть метрики навроде VMAF и PSNR, гуглится на раз. Насчёт информации на
> русском языке не уверен.

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


Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 18:42 
Сравнивать визуальные артефакты различных кодеков равноценно нельзя, но степень отличия от оригинала оценить вполне можно. Чем сложнее сцена и чем больше отличий, тем больше результат "плывёт". А глазу заметна даже небольшая разница. С PSNR, насколько я помню, проблема в том, что он артефакты считает за "детали", потеря этих самых "деталей" иногда более предпочтительна. В целом, вывод, который можно сделать, это чем дороже процесс кодирования, тем больше деталей сохраняется. Но эти детали могут оказаться артефактами, что особенно кусается при повторном транскоде. Для сохранения деталей (вроде эффекта плёнки) есть всякие psy-rd/psy-rdoq, но при транскоде сразу лезут артефакты в стиле x264 (как называется грязная кромка, запамятовал? вот они), и на низком битрейте такие "улучшения" попросту разъедают глаза.
Ответить | Правка | Наверх | Cообщить модератору

91. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от нах. (?), 09-Фев-20, 22:29 
> Сравнивать визуальные артефакты различных кодеков равноценно нельзя, но степень отличия от
> оригинала оценить вполне можно.

дык а кому она нужна, степень эта?
Если мы их глазом либо не видим, либо видим совсем не то что этот метод считает важным.

> С PSNR, насколько я помню, проблема в том, что он артефакты считает за "детали", потеря этих
> самых "деталей" иногда более предпочтительна.

о том и речь.

А продираться через детали математики - еще одна жизнь нужна :-(

Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 23:19 
Ну поэтому я просто проверяю скриптом битрейт и параметры у файлов из интернета. Битрейт ниже теоретических пределов однозначно указывает на мусорность файла, по возрастающей. Если там me=dia или subme=3, можно спокойно и с уверенностью утверждать, что файл уг. Также, когда параметров кодека нет, это почти наверняка указывает на мусорность. Глазками конечно проще точнее оценить, но глазками утомительно и больше времени необходимо. Руководствуюсь отношением битрейт/параметры, если они соответствуют моим представлениям и файл не был множественно перекодирован, результат (обычно) соответствует ожидаемому. Качество источника вносит свои коррективы конечно.

Это самый полезный на свете скрипт, почему я не написал его раньше? Времени на его написание ушло не более получаса. Менее 500 строк копипасты.

Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от artenox (?), 10-Фев-20, 00:02 
> Также, когда параметров кодека нет, это почти наверняка указывает на мусорность

Коммерческие кодеры (Mainconcept) не пишут параметры кодирования.
YouTube еще вырезает, хотя, наверняка использует crf в x264 с ограниченным maxrate (на воде особенно заметно).

Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 00:26 
Да, просто пока что мне ещё не попадались хорошие файлы с удалённой инфой в интернете. Аппаратные кодеры тоже сливают софтовым. Я попытался считать скор, но видимо это логику нужно ещё доработать. Например, выдавать несколько раздельных оценок. А если параметров кодирования нет, можно смотреть только на битрейт — это крайне подозрительно само по себе.
Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 00:41 
> если параметров кодирования нет, можно смотреть только на битрейт

CABAC, Ref MediaInfo показывает. В Avidemux можно посмотреть сколько B кадров и длину GOP (а также узнать применялся ли детектор сцен). В Bitrate Viewer график битрейта посмотреть (на CBR ли).

Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 00:56 
Точно. Я дополню, спасибо. Случайно взятый файл показал cabac/ref=1 maxbitrate=16k и жутко размытую картинку. ffprobe сказал has_b_frames=0, видимо их и нет. Насчёт GOP и детектора сцен не уверен, наверно было бы неплохо это знать. ffprobe может сообщить не сканируя весь файл?
Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 02:56 
> ffprobe может сообщить не сканируя весь файл?

Не знаю насчет ffprobe.
В Avidemux клавиши Up/Down переход по ключевым (I) кадрам. Left/Right по обычным кадрам.
Внизу пишется тип кадра. Обычно идут IPPPBBB. Если нет B кадров - это указывает на плохие настройки кодирования.
I кадры по идее должны начинаться, когда в кадре меняется изображение (новая сцена), но не чаще 250 кадров (10 секунд). Если они встречаются чаще (раз в 12 кадров или раз в 25 кадров, т.е. раз в 1 сек), это свидетельствует, что keyframe интервал захардкоден и битрейт тратится впустую (на лишние I кадры) = хуже качество. То бишь энкодер не применял детектор сцен. Иногда бывает, что и при коротком GOP интервале детектор сцен работал (в MPEG2, обычно). Если новая сцена начинается с P или B кадра, это не очень хорошо. GOP - это разница между двумя I.

Там же можно посмотреть длительность каждого кадра = разница времени между двумя кадрами. И по ее значениям вычислить реальную частоту видео. А она иногда бывает переменная (обычно со смартфонов), даже если MediaInfo показывает Constant. Например, первый кадр 00:00:03.520, стрелка Right, второй кадр 00:00:03.560.
560-520=40 мс
1/40*1000=25 fps
Иными словами
1/25=0.04 сек * 1000 = 40мс
Как я уже говорил, в пределах файла длительность может быть переменной (Variable Frame Rate).

Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 04:15 
> YouTube наверняка использует crf в x264 с ограниченным maxrate

Причем, вместе с maxrate задается bufsize - это величина, на которую битрейт может превышать значение maxrate в течении небольшого промежутка времени. На сложных сценах можно видеть так называемые биения битрейта - периодические проседания битрейта/качества* (где-то раз в секунду). В моменты проседания буфер опустошается и дабы компенсировать предыдущее повышение битрейта, он понижается, а сложность сцены то не меняется и все повторяется. Так забавно наблюдать как буфер колбасит.
* к примеру, чистый шум камеры периодически превращается в грязь.

Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 10-Фев-20, 10:22 
чорт, даже интересно стало - что это такое ты смотришь, что можно не смотреть если битрейт не угодил. И зачем тогда это смотреть вообще?

Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

126. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 14:53 
Вопрос, скорее, про хранение. Затем, что лучше не было, стриминговые сайты гонят лажу. Потом файлы транскодируются или поставляются как есть, в первом случае хранить убитые раздутые файлы нет совершенно никакого резона, во втором придётся принять за данность.

Но это универсально. Всякие nvenc и особенно quicksync (ладно бы в hevc 10битный кодировали, так нет же, самый днизенский avc, древними картами которые и кодировать нормально не умели) можно удалять совершенно спокойно. Чёртов handbrake опять же, напихали этой дряни в хомячковый софт… Или не удалять, а уменьшить разрешение в 4 раза и битрейт (а значит и размер файла) в 10+ раз и ничего не потерять, но такие файлы всё равно дутые получаются. Эти самые невидимые "кромки" присутствуют, даже если их не видно. Зато хотя бы "волосатые" края сминаются и становятся чёткими.

Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 20:42 
А ffmpeg тоже чертов? Ведь в нем по умолчанию crf 28.
Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 20:43 
И много кто не меняет эти умолчания, если форумы почитать.
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 10-Фев-20, 21:47 
Абсолютли. Надо же было додуматься до такого, 23 уже обращает всё в тыкву. Я могу ещё понять 19 (тыква) или 18 (не могу понять как можно на серьёзных щах утверждать будто <18 не нужно) по умолщанию, но 28 это совсем какое-то дно.

Но ипичный сферический пользователь не станет ffmpeg пользоваться. Как и голым x264. Отсюда и все беды — пользователь думает, что всё уже готово и настроено.

Ответить | Правка | К родителю #132 | Наверх | Cообщить модератору

135. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 22:00 
> Но ипичный сферический пользователь не станет ffmpeg пользоваться

Может скопипастить команду из форумов.

Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 09-Фев-20, 19:28 
>> Есть метрики навроде VMAF и PSNR, гуглится на раз. Насчёт информации на
>> русском языке не уверен.
> отдельный вопрос, каково их отношение к видимому глазом качеству.

По ссылке[1] с википедии[2], которая заодно третья ссылка в ddg при поиске по запросу "VMAF":

> VMAF was specifically formulated by Netflix to correlate
> strongly with subjective MOS scores. Using machine learning
> techniques, a large sample of MOS scores were used as ground
> truth to train a quality estimation model. It is a full-reference,
> perceptual video quality metric that aims to approximate human
> perception of video quality.

Если по русски, то это ML наученный предсказывать человеческие оценки качества.

И дальше там результат сравнения работы VMAF с субъективным восприятием, который в конечном итоге сводится к:

> a) The results exhibit a strong correlation between subjective Mean Opinion Score and the computed objective VMAF score with a correlation of 0.948. This compares well with the Netflix results of 0.963 and 0.939 for the NFLX-TEST and VQEGHD3 datasets, respectively. Even though the original VMAF was trained on 1080p data we demonstrate its applicability to 4K video.
> b) While VMAF is a strong predictor of subjective opinion of a collection of viewers on the quality of video content, with a RMSE of 12.7, our results show that the computed value more often (85 percent of the time) over-estimates the subjective quality.
> c) The results indicate that if a video service operator were to encode video to achieve a VMAF score of about 93 then they would be confident of optimally serving the vast majority of their audience with content that is either indistinguishable from original or with noticeable but not annoying distortion.

0.95 корреляции -- это очень неплохо, но VMAF всё же часто переоценивает качество.

Подход ясен, моё любопытство удовлетворено. Но все эти числа и выводы не стоит рассматривать как истину в последней инстанции: там выборка 18 человек всего (для оттачивания методики измерения надо бы несколько десятков, хотя бы), плюс не написано что это за выборка, каким образом она создавалась. Дети до пяти лет с близорукостью высокой степени? Студенты второго курса на дизайнерских специальностях? Раз не описана выборка, значит скорее всего репрезентативности выборки не уделялось должного внимания, а это значит что результат может кардинально отличаться от реальности. То есть, я бы на месте video service operator ещё бы подумал, стоит ли обращать внимание на рекомендацию в пункте (c).

С другой стороны -- это второстепенное исследование, которое пытается оценить применимость VMAF для оценивания 4K видео (VMAF был заточен под 1K, согласно статье). В википедии есть ссылки на статьи 2012/13 годов, с которых всё начиналось, так что лучше туда идти за подробностями в отношении надёжности этой метрики.

[1] https://www.realnetworks.com/sites/default/files/vmaf_reprod...
[2] https://en.wikipedia.org/wiki/Video_Multimethod_Assessment_F...

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

92. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 22:31 
> То есть, я бы на месте video service operator ещё бы подумал, стоит ли обращать внимание на
> рекомендацию в пункте (c).

ну вот, еще до одного дошло, что верить никому нельзя.

imho, чем тратить недели на чтение первоисточников и разбирательства деталей, проще потратить (недели же) на пробные кодирования и ручной просмотр - если мы не нетфликс, и для себя это делаем, нас интересует не его выборка, а наша собственная.

Ответить | Правка | Наверх | Cообщить модератору

110. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 10-Фев-20, 09:44 
> imho, чем тратить недели на чтение первоисточников и разбирательства деталей, проще потратить (недели же) на пробные кодирования и ручной просмотр

Хахаха, лол. Заменить выборку из 18 человек на выборку из 1 человека, это офигенно добавит к достоверности исследования, да. Если ты хочешь лучше, то тебе надо набрать своих человек 15, повторить исследование и сравнить результаты с тем, что указано в статье. В случае существенного расхождения набрать ещё человек тридцать и наковырять ещё данных.

И, я отмечу, чтение первоисточников -- это несколько часов. А вот провести исследование -- это уже действительно недели. Я бы рассчитывал на месяц минимум, и заранее морально готовился бы к тому, что это может растянутся и на два-три месяца. Особенно если нет опыта проведения исследования на людях.

> если мы не нетфликс, и для себя это делаем, нас интересует не его выборка, а наша собственная.

Ты читать умеешь? Совет ориентирован на video service provider. Если ты раздаёшь видео себе, то тебе вообще никакие советы не нужны, бери и стримь. Если не понравится, потом подтюнишь.

Ответить | Правка | Наверх | Cообщить модератору

112. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 10-Фев-20, 10:17 
> Хахаха, лол. Заменить выборку из 18 человек на выборку из 1 человека, это офигенно добавит к
> достоверности исследования, да.

естественно. Мы же для этого человека делаем, а не для тех восемнадцати.

Иначе можно вообще ничего не проверять, а просто запустить премьер с дефолтным экспорт-пресетом, для "широкой публики" все за тебя уже поисследовали, она схавает, инфа 100%.

> И, я отмечу, чтение первоисточников -- это несколько часов.

то что ты сделал - это не чтение первоисточников, это ты прошелся по верхам.
А разбираться в деталях - это уже недели и будут.

> Ты читать умеешь? Совет ориентирован на video service provider.

ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.

> Если ты раздаёшь видео себе, то тебе вообще никакие советы не нужны, бери и стримь. Если не
> понравится, потом подтюнишь.

вот разным анонимам - не нравится. А что и как тюнить - готовых идей нет, особенно когда кодеков минимум четыре, за вычетом бесполезных, и каждый эксперимент - несколько десятков часов. А в умных статьях - какая-то явная фигня написана.
(А потом еще как-то посмотреть надо, сравнивая качество - а не просто истекающими кровью глазами. На что и уходит основное время.)


Ответить | Правка | Наверх | Cообщить модератору

136. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 10-Фев-20, 22:21 
> то что ты сделал - это не чтение первоисточников, это ты прошелся по верхам.

Да, но и потратил я на это не несколько часов, а несколько минут.

> ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.

Ему нужен компромисс между качеством и дешевизной.

Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 11-Фев-20, 10:25 
>> ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.
> Ему нужен компромисс между качеством и дешевизной.

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

Ответить | Правка | Наверх | Cообщить модератору

146. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Ordu (ok), 11-Фев-20, 15:25 
>>> ему этот совет вообще был без надобности, там не надо качество, ему надо дешево и сердито.
>> Ему нужен компромисс между качеством и дешевизной.
> ему нужно денег, и желательно - побольше. Если пипл хавает дерьмо с
> лопаты - то дерьма ему и навалят.
> Если какие-то мерссские конкурентишки выложили качество получше - надо подумать, нельзя
> ли им устроить какую-нибудь пакость, а вовсе не улучшать свой сервис.
> Рыночек, знаешь ли, решает.

Тебе удалось уловить самые азы экономики. Умница.

Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от ksa242 (?), 10-Фев-20, 18:52 
Scene rules * для 1080p рекомендуют минимум 8000 kbps, максимум 14000 kbps.

* http://web.archive.org/web/20141227121239/http://scenerules....

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

151. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 14-Фев-20, 21:36 
Это больше похоже на правду, спасибо. То стриминговые стандарты, которых все придерживаются. Тот же гугл рекомендует что-то там двух/трёхкратный запас битрейта, ему ещё транскодировать в vp9. Проблема ещё и в том, что на 6-7.5 mbps можно получить вполне достойное качество, если не экономить на параметрах кодирования (и даже me=umh сойдёт, если он subme=10 вместо 3), но все экономят. У некоторых просто нет возможности делать медленный энкод, но на практике это ведь жадные торгаши, считающие каждую копейку за электричество и максимизирующие прибыль ценой катастрофического падения качества.

Ремукс Паразитов на пиратбее fullhd@~30mbps (его не было, когда я в прошлый раз хотел посмотреть этот фильм), выглядит вполне ничего для h264.

Ответить | Правка | Наверх | Cообщить модератору

145. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от Аноним (145), 11-Фев-20, 12:00 
> Я тут недавно выяснил, что для h264 минимальный битрейт порядка 10000kbps на 1080p, иначе получается сплошное мыло.

Ну, это очень сильно зависит от исходника и что там в нём написано, его частоты кадров и тысячи опций енкодера.
Например:
Если у вас есть компьютерная двумерная анимация в формате FILM с возможностью сделать telecine для показа по обычному ТВ (YUV 4:2:0, 1920 на 1080 с прогрессивной разверткой и частотой кадров 24000/1001=23.976) и вы хотите сжать её енкодером x264, то выбирая профиль High@L4 и c положенными по профилю 4 референсными фреймами, 5 B-фреймами, всяким анимационным тюнингом (встроенный деблок 1:1, вариативное адаптивное квантование с силой 0,6 psy-rd 0,4 без применения квантования по Треллису для психовизуальных оптимизаций) то в случае применения оценки компенсации движения с вычислением rate distortion на всех фреймах, то вы можете смело отличное качество с битрейтом в районе 2000-4000 kbps. Но для этого должен выполняться ряд условий:
1. Гарантированная расстановка ключкадров не реже чем раз в 2 секунды и не чаще чем раз в секундду при закрытом GOP
2. Режим CRF, то есть однопроходовое константное качество при неопределенном битрейте со значением 24-25. Свиду цифра страшная, но это компенсируется ограничением в п.1
3. Ваш исходник не просто в превосходном качестве, вы его еще и поверх отфильтровали для того чтобы подготовить к кодированию (скорее архивации) с таким параметрами.

Тут есть пара фишек, которые не понимают люди, у которых Handbrake вместо мозгов и иже с ним. Например:
1. Константный битрейт нужен только стримерам, спутниковому вещанию, и тем людям которые хотят получить точный размер файла, например для записи да диск. В остальных случаях ABR - это дань времён XviD. Не используйте его, пусть энкодер сам решит какой битрейт для какой сцены нужен. Возможность это воспроизвести на оборудовании отличным от плеера VLC появляется от ограничений уровня/профиля и тех параметров, который он диктует.
2. Однопроходовый ABR это что-то для риалтайма, не используйте его, если не стримите в реальном времени.
3. Треды, мать его, треды!!! Если вы решили кодировать в двухпроходовым ABR, то во имя Аллаха делайте это в один поток. Да-да-да, с одним занятым ядром CPU. В противном случае у вас будет артефактный ужас несмотря на высокий битрейт. Я сто раз такое видел, сделают Open GOP, поставят 8 тредов и выставят битрейт 4000, а потом почему-то качество Г. Покадровая многопоточность негативно влияет на качество из-за тех ограничений которые она вводит на анализ компенсации движения. Многопоточность нормально работает на константном качестве (CRF) при закрытом GOP, там хоть все свои 24 ядра задействуйте одновременно, снижение качество будет, но сложно отличимое на глаз без покадровой проглядки
4. Ваш источник должен быть очищен от шума. Точка. Видео с камер-то, с ним всё понятно, но если у вас источник это всякий блюрей DVD или вообще не дай Бог что-то аналоговое... Чистить. Столько раз видел людей, которые не знают, что частота кадров на этих источниках не оригинальная и адаптирована по телевидение и зернистости туда добавили фильтрами, чтобы почётче выглядело на телевизоре. Но нет, они его так... Мыльность, кстати, это неумение сделать денойзинг самостоятельно для своего видео.

HEVC - не имеет никаких преимуществ перед AVC на высоких битрейтах. Если вы видите разницу между CRF 21 у AVC и HEVC - вы не правильно выставили остальные параметры энкодера или ваш источник грязный и шумный настолько, что его и в оригинале смотреть не возможно.

И еще, если мы говорим обо всяких DCT-алгоритмах, то иногда имеет смысл сделать перекодирование 2 раза подряд. Отключая всякий деблокинг и постпроцессинг на первом проходе с crf, скажем 8-10 и потом во второй раз уже с высоким фактором. Понимаете почему результирующее качество может оказаться визуально лучше несмотря на двойное кодирование с потерями?

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

149. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (149), 11-Фев-20, 22:51 
Анон, откуда такие познания в предмете? Что и кого почитать чтобы стать таким же как ты?
Ответить | Правка | Наверх | Cообщить модератору

152. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 14-Фев-20, 22:18 
>Треды

У x265 есть pmode (его, вероятно, стоит выбрать вместо pme). Проблема в том, что нельзя кодировать БЫСТРОЕЩЁБЫСТРЕЕ и экономить, иначе будем иметь артефакты и глитчи. Например, rd. x265 может утилизировать много ядер, а сжатие будет немного лучше, но ценой значительного замедления. Думается мне, что-нибудь вроде pmode=1:rect=1:amp=1 позволит нагрузить много ядер и получить приемлемую картинку, даже без упражнений с GOP... Параметр aq-mode также влияет на результат (4 заметно лучше 2). А Open GOP вполне может работать, во всяком случае с x265, я вроде пришёл к такому выводу. Отказ от него ощущается какие-то костылём.

Спасибо за информацию, я, вероятно, воспользуюсь ей, когда продолжу эксперименты с x264. Если продолжц, поскольку x265 меня устраивает целиком и полностью.

>разницу между CRF 21 у AVC и HEVC

Я пока видел, что даже у h265 это мыло мыльное, про h264 и говорить нечего. Но возможно какие то параметры и улучшат картинку.

Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

27. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от vz_2 (?), 09-Фев-20, 12:44 
Какой тут безопасный и оптимизирующий компилятор, если половина кода ассемблера, хотя последний трудно назвать языком. Бедные растаманы.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от nelsonemail (??), 09-Фев-20, 13:44 
>> Кодировщик написан на языке Rust и отличается от эталонного кодировщика libaom значительным увеличением скорости кодирования

на реализацию которого по сути забили - https://github.com/mozilla/aom
rav1e 0.3 наполовину на асме, но увеличение производительности произошло волшебным образом при реализации логики на растишке, ага
пиар растишки - это что-то за гранью. растишка к реализации видеокодеков имеет примерно такое же отношение как околомагазинный бухарик к самой растишке. для того, чтобы этот AV1 стал пригоден к использованию, необходима банальная аппаратная реализация наиболее ресурсоёмких частей алгоритма кодирования. ЯП реализации логики здесь вообще вторичен
всё это уже проходили во времена то первых, то ли вторых пней, когда на мат. платах распаивали микросхемы кодеков по причине того, что пеньки не тянули кодировку-раскодировку видео

Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 15:48 
> на реализацию которого по сути забили - https://github.com/mozilla/aom

а чего реализовывать-то еще? Уже все реализовано, эталон ненужно создан.

> rav1e 0.3 наполовину на асме, но увеличение производительности произошло волшебным образом
> при реализации логики на растишке, ага

интересно, в ее компиляторе хотя бы те же оптимизации что всеми скопипащены у icc - есть, или там любую подобную хрень надо писать на ассемблере?

> того, чтобы этот AV1 стал пригоден к использованию, необходима банальная аппаратная
> реализация наиболее ресурсоёмких частей алгоритма кодирования. ЯП реализации логики здесь

она бесполезна. Ты не хочешь за нее платить.

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

нет, по причине того, что не было нормальных кодеков. Как только появился divX - волшебным образом те же "пеньки" стали пригодны для кодирования без всяких волшебных микросхем.

Именно по этой причине никакой av1 не взлетит, да и 265 тоже маловероятно (ну там еще прибавилась человеческая тyпость и жадность, конечно - впрочем, av1 это они же в профиль) - уже существуют и используются кодеки, позволяющие обойтись без специализированных плат в массовом сегменте, и будет крайне трудно заставить людей заплатить за то, что им не нужно.

А немассовый не окупит специализированные чипы и тем более.

При этом закон Мура действовать перестал, производительность процессоров больше не удваивается за пару лет, поэтому шансов на светлое будущее тоже не предвидится.


Ответить | Правка | Наверх | Cообщить модератору

118. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от крок (?), 10-Фев-20, 12:47 
Кодеки были просто дорого, но вот аппаратные ускрители мпег2 стали ненужны в п2 тк там уже был ммх и все работало програмно
Ответить | Правка | Наверх | Cообщить модератору

119. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 10-Фев-20, 12:57 
да нет, в том и прикол что mpeg2 отправился на свалку истории _раньше_ "аппаратных ускорителей". divx все испортил.

Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от artenox (?), 10-Фев-20, 14:04 
MPEG2 и по сей день лучше DivX/XviD'ов. По крайней мере, на битрейтах, на которых их обычно используют.
Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (147), 11-Фев-20, 19:12 
Вам кажется. Не в последнюю очередь потому, что в MPEG-4 ASP пережимали в т.ч. и из MPEG-2, т.е. качество могло только упасть.
Ответить | Правка | Наверх | Cообщить модератору

102. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (147), 10-Фев-20, 01:06 
> на реализацию которого по сути забили - https://github.com/mozilla/aom

Если что, это старое зеркало Мозиллы. Работа ведется здесь: https://aomedia.googlesource.com/aom

Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

35. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от Аноним (35), 09-Фев-20, 13:52 
- AV1 - требует слишком больших затрат на вычисления, а результат? Надо сравнивать конечный итог - это отношение различия изображений исходного и перекодированного к размеру выходного файла. Если выяснится что различие, составляет 1-2% в пользу AV1, а скорость в 1000 раз в пользу H264 то смысла в AV1 нет.
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 14:09 
Ты не понял, h264 это вообще мусор. Нужен бесплатный конкурент h265, и они пытаются его сделать. Сегодня в вебе vp9 и это адок ещё тот — он хуже h264 (который при этом лучше конкурентов своего времени).
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от Аноним (42), 09-Фев-20, 14:23 
Это ты не понял. Всё незапатентованное можно запатентовать задним числом. Всё не под монополией можно подогнать под монополию. Всё общественное можно приватизировать и передать организациям связанным с гнилобергами. На любой товар и даже не на товар можно ввести налог в пользу всяких мигалкиных. Любую деятельность можно внести в перечень лицензированных.

Думать что какой-то AV1, уступающий другим кодекам, и поэтому дотпоры до времени оказавшийся не нужным, иммунен против всего вышеперечисленного, просто наивно.

Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (15), 09-Фев-20, 14:31 
Для AV1 передали свой патентный пул различные различные заинтересованные лица. Нельзя использовать алгоритмы mpeg, всё остальное можно. Всем заинтересованным в неуплате отчислений, вступившим в сговор, использование патентов участников лицензировано на "свободной" основе. Надо уже придумать что-то своё, а не пользоваться алгоритмами 100 летней давности.
Ответить | Правка | Наверх | Cообщить модератору

80. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (80), 09-Фев-20, 19:46 
> различие, составляет 1-2% в пользу AV1

При кодировании с использованием libaom выигрыш по объёму относительно x264 получается весьма значительным, порядка 50%. Вдобавок, не вполне корректно сравнивать голые цифры PSNR и SSIM: подобно тому, как визуальное качество H.264 на голову опередило H.263 за счёт применения деблокинга на стороне декодера, AV1 ещё на одну голову выше за счёт сглаживания линий (CDEF), что позволяет даже на низких битрейтах не портить надписи и прочие контуры, чем страдают все кодеки предыдущих поколений.

Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

143. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (143), 11-Фев-20, 11:17 
C H26x проблема - оно покрыто лицензионными ограничениями вдоль и поперёк.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

40. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (42), 09-Фев-20, 14:15 
>заметно опережает H.264

А что с h.265 и h.266 (патентасты идут лесом, в большинстве государств алгоритмы непатентуемы, а США и Япония - ССЗБ)?

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (15), 09-Фев-20, 14:24 
Все норм железки делают в Японии. Сга — основной рынок, в том числе для Китая. Пол мира сотрудничает с Сга во всём. Куда деваться?

Если h266 будет принципиально и фактически превосходить av1 (пытающегося конкурировать с h265), то av1 окажется в роли сегодняшнего vp8.

Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 15:52 
> Все норм железки делают в Японии.

даже жаль, что их никто не покупает, да?

> Если h266 будет принципиально и фактически превосходить av1 (пытающегося конкурировать
> с h265), то av1 окажется в роли сегодняшнего vp8.

не окажется. Сегодняшний vp8 (в отличие от бесполезного 9, как раз "нашего ответа h265") - бытовой кодек. Доступен каждому васяну без дополнительных затрат, и будет воспроизводиться у любого другого васяна - тоже без дополнительных затрат.

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  –1 +/
Сообщение от Аноним (15), 09-Фев-20, 16:17 
"Бытовой" подразумевает в первую очередь бытовое применение. Т.е. h265 на сегодня _самый_ лучший и _самый_ бытовой на свете, а vp8/9 получили распространение только и исключительно от нежелания гугла платить роялти и способности того влиять на веб стандарты. И если предыдущая история mpeg по сей день нас чему-то учит, h266 ждёт такой же тотальный успех.

>никто не покупает

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

Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от нах. (?), 09-Фев-20, 17:15 
> "Бытовой" подразумевает в первую очередь бытовое применение.

берем любую "бытовую" видео-камеру - там-тадам - h264 либо в .mov, либо в .mp4
Без вариантов.

Берем не совсем бытовую не совсем видео, где, казалось бы, могут уже не экономить копеек: https://www.dpreview.com/reviews/panasonic-lumix-dc-s1h-review ($4k - такая вот бытовая техника) - опять h264 и очень опционально - 265 - и это модель которая только-только до прилавков добралась (хз кто ЭТО покупает), выберешь на год старше - будет только 264.
Потому что a) стандартные алгоритмы в стандартных корпусах b) а в общем-то и не надо никому ничего другого, и у всех уже есть софт для работы с h264.

Перспективы av1, непригодного ни для просмотра ни для монтажа без спецускорителей, которых еще и нет в природе - на этом фоне выглядят не то что туманно, а вообще никак.

> Вообще-то покупают, вон и память приличная до недавнего времени только заводами в Японии
> производилась, т.е. компоненты.

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

Ну и как-то между делом постепенно выясняется, что и компоненты незачем возить из Японии, их китайцы из песка и сами способны гнать потоком. Качеством, как обычно, похуже, ценой на рупь дешевле, потребители довольны до усеру.

Ответить | Правка | Наверх | Cообщить модератору

154. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Obito (ok), 22-Мрт-20, 13:58 
> Перспективы av1, непригодного ни для просмотра ни для монтажа без спецускорителей

Да что у вас за железо то? У меня спокойно работает 1080р 30 фпс на проце i5-2520m, 60 фпс уже не все видосы работают. С процом, поддерживающим AVX2, скорость декодирования на 50% больше. Плюс уже есть мобильные процы с аппаратным ускорением AV1, поддерживающие минимум 4к 30 кадров.
А зачем его использовать для монтажа вообще не понятно, экспортировать видео можно в любой другой формат. AV1 сделан для интернета, а не для того чтобы какой-то Вася свои ролики в него пережимал и выкладывал на ютуб или в соц сети. То есть av1 должен использоваться соц сетями и всеми, кто пережимает видео и youtube уже использует av1, нетфликс тоже говорит про av1.
Ни в каких камерах и фотоаппаратах av1 не нужен вообще, в камерах то h265 нормально не работает, а h264 заметно хуже чем можно получить с x264. У меня 2 телефона с разным железом, и у них с h265 хуже качество чем с h264 и это при одинаковом битрейте, не получается нормально реализовать h265 на таком железе.
Так что av1 - это узко специализированный кодек и нужен он только тем, кто имеет свои сайты с видео, другим он не нужен!

Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (63), 09-Фев-20, 16:55 
Че там, в огнелисе теперь будет нормальное гпу ускорение?
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +2 +/
Сообщение от нах. (?), 09-Фев-20, 17:27 
> Че там, в огнелисе теперь будет нормальное гпу ускорение?

конечно нет. все деньги потрачены на чудо-кодек.

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +1 +/
Сообщение от Аноним (87), 09-Фев-20, 17:35 
шутишь? они же на безопасный раст переписывают.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

85. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (42), 09-Фев-20, 20:31 
Да, будет GPU-ускорение. Ненормальное, небезопасное, но если хотите пользоваться сайтами, то придётся им дать доступ к GPU.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

97. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Имя (?), 10-Фев-20, 00:06 
Будет, пилят vaapi на wayland. Все новости проспал?
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

111. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (87), 10-Фев-20, 09:49 
т.е. можно ещё лет 10 поспать, а потом они начнут останки FF на dust переписывать, изобретая AV100500, который в миллион раз медленнее x264, но жмёт на 0.001% сильнее.
Ответить | Правка | Наверх | Cообщить модератору

129. Скрыто модератором  +/
Сообщение от an (??), 10-Фев-20, 18:35 
Ответить | Правка | Наверх | Cообщить модератору

142. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (143), 11-Фев-20, 11:16 
Две строчки обвязки вокруг мнемоник ассемблера - но зато ОНОЖЕНАХРУСТЕ!!!111
Ответить | Правка | Наверх | Cообщить модератору

144. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Гугляки... (?), 11-Фев-20, 11:42 
Хруст - Это Артхаус.
Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск rav1e 0.3, кодировщика AV1 на языке Rust "  +/
Сообщение от Аноним (150), 11-Фев-20, 22:54 
Rust же ради безопасности, стоило ли так заморачиваться, что написать другу половину кода на самом небезопасном языке
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру