Как стать автором
Обновить
11
0

Пользователь

Отправить сообщение

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

Пока не вижу смысла - на kinesis и так уже нет F ряда. А что касается самого корпуса - вот в нем и заключается половина удобства - запястья удобно ложатся, плюс есть 3 установки угла.

Кстати, если нет возможности купить кинесис, то очень рано сбрасывать со счетов Microsoft Sculpt Ergonomic. Я купил такую как временную пока ждал кинесис - и был приятно удивлен удобством, особенно с доп подставкой.

Где-то пару лет назад начало беспокоить правое запястье и неметь большой палец. После недолгих раздумий решил сразу купить kinesis 360 и вертикальную мышку. Через полгода все симптомы прошли, клавиатуру перестал замечать, единственное неудобство - таскать с собой из дома в офис все это непотребство.

Про кресло и стол - очень помогает подставка под ноги и возможность регулировки стола по высоте. Я купил ручной подъемный из Икеи, он там стоит в районе 200 евро и по конструкции выглядит наиболее надежно. Один раз выставил и больше не менял. Пробовал работать стоя, но оказалось что проще чаще делать перерывы и больше двигаться. Наверное с электроприводом эксперимент был бы более удачным :)

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

Это переводная статья? Поправьте, пожалуйста, там в статье (нет правда доступа, но по опыту и по аннотации понятно) не задача отслеживания мотоцикла (sic!), а моделирование кинематики и диманики автомобиля при помощи bicycle model. Это упрощенная модель, часто используется при создании систем управления.
Hi! I'm glad you liked my article!

The code has some important parts missing — i.e. proper resource clean-up and etc (please refer to links provided, they have all comprehensive documentation to fill missing pieces)

For a/v decoding we already have QtMultimedia which has QML bindings. Unfortunately it works well not on all platforms, and in my case it was easier to use GStreamer directly, rather than debug QtMultimedia and add support for my use case (Renesas R-Car). So the goal of this article was to show how to integrate custom decoding pipeline and Qt/QML and get decent performance.
А можете раскрыть — по какой причине требуется рендеринг в произвольный OpenGL контекст? То есть в контекст, отличный от контекста окна?
А не подскажете версию Qt c которой пробовали? Я недавно игрался с QML VideoOutput (как раз после того как надо было перенести OpenGL код с QOpenGLWidget на десктоп и стало понятно что еще раз изобретать велосипед желания нет) и вполне удалось завести код который одинаково работает на Nvidia/intel/PowerVR с оптимизацией dmabuf при необходимости.

Update:
Ну и возможно стоило попробовать пересобрать Qt с поддержкой gles?
Знаете, по этой логике все люди умирают от остановки сердца, а остальное — сопутствующие заболевания.
Welcome :)
Прикрутить GStreamer не было конечной целью, я его использовал как пример стороннего API — продьюсера видео фреймов, который нужно интегрировать в QML. Более реальный пример, из-за которого я за это взялся, я не могу показать потому что API не публичный и никто не смог бы у себя это воспроизвести.
В v4l2h264dec есть опция «capture-io-mode», по-умолчанию стоит в «0 (auto)». Если поставить «4» то это будет DMABUF. Далее вам надо проверить что память в буффере и правда dma при помощи gst_is_dmabuf_memory() ну и далее извлечь файловые дескрипторы и страйд/оффсет для каждого плейна (см. документацию на GstVideoMeta).

По поводу того, что не нужны несколько отдельных eglImage на каждую plane не соглашусь. Ведь тогда невозможно будет написать шейдер, особенно с NV12. Как?


При создании eglImage в аттрибуты можно добавить до трех плейнов, читайте спецификацию расширения EXT_image_dma_buf_import
Используйте другой target для текстуры — GL_TEXTURE_EXTERNAL_OES вместо GL_TEXTURE_2D и аппаратный семплер samplerExternalOES в пиксельном шейдере.
Чтобы достичь zero-copy вам в первую очередь надо отказаться от плагинов videoconvert и decodebin.
На Rpi4 должен быть доступен omxh264dec, а он уже умеет сразу отдавать dmabuf, если выставить соответствующие параметры. Эту память уже можно сразу маппить на EGLImage.
Делать новый eglImage на каждый плейн не надо — как правило платформа поддерживает NV12, который отдается декодером.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность