Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

о багах

Потрясающий баг в Хроме (браузере):

https://bugs.chromium.org/p/chromium/issues/detail?id=1116922&q=agoode

Перескажу в двух словах. Есть популярный формат, в котором вебкамеры пересылают видео в компьютер: MJPEG, это по сути каждый кадр отдельная картинка JPEG (для видео высокого разрешения он не используется, если я верно понял). В этом формате яркость пикселей обычно передается значением от 0 до 255, но есть "ограниченный профиль", в котором используется диапазон 16-235 (почему???). Для передачи по USB вроде бы надо использовать этот ограниченный профиль, но оказывается, что многие вебкамеры этого не делают и посылают полный профиль. А программы (включая Хром) ожидают увидеть 16-235, и "расширяют" диапазон значений, которые видят. Не все программы, несколько работают правильно, но многие. Хотя с другой стороны, поди пойми, вроде Хром как раз работает правильно, а вебкамеры посылают неправильно. Короче, в итоге видео чуть хуже качества выходит, особенно в очень темных или очень ярких местах. И это уже много лет продолжается, разработчики не замечали, потому что вебкамеры и так не ахти качество, хотя пользователи жалуются время от времени.

Это все такая рукалицо, когда читаешь, просто не знаю, как еще прокомментировать. А почему не сделать информацию о диапазоне частью метаданных формата, у кого руки отсохли???

... На днях попалось где-то описание программирования, кажется в Твиттере, потерял ссылку. Представьте себе, что вы находитесь в виртуальной реальности, внутри большого красивого дома, со вкусом обставленного, вы заходите в спальню, на столике, покрытом кружевной скатертью, стоит красивая ваза. Вы замечаете, что под вазой скатерть немного подмялась, и осторожно поднимаете край вазы, чтобы разгладить скатерть. Дом вокруг вас рассыпается в обломки камня и труху. Вот так устроено программирование.
Tags: программирование
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 100 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →