LINUX.ORG.RU

Избранные сообщения deep-purple

Тестирование сетевых программ - имитация плохого соединения

 , ,

Есть некая программа, которая отправляет UDP пакеты. Мне необходимо в целях тестирования иногда не отправлять ее UDP пакеты, а иногда их дублировать (вместо одного пакета отправим два таких же UDP пакета), или отправлять не в том порядке. И чтобы с входящими UDP пакетами тоже можно было что-то такое делать, т.е. надо имитировать всякие такие проблемы с сетью. Какие для этого существуют опенсорсные решения для Linux?

SZT
()

Нужен альтернативный аллокатор для контейнеров

 

Есть несколько STL контейнеров, которые в некоторый момент хранят в себе огромное количество мелких объектов съедая большое количество памяти. Потом все данные этих контейнеров освобождаются. Но из-за фрагментации данных в куче стандартный аллокатор не отдает ОС память.

Есть ли какие-нибудь готовые аллокаторы для таких случаев? Или надо писать свой велосипед?

pathfinder
()

Коллективный онлайн перевод файла *.ts

Доброго утра, уважаемые коллеги.

Возникло желание разместить перевод файла строк qt-шной программы mindforger в каком нибудь сервисе переводов, который позволяет коллективно переводить, чтобы коммунити могло помочь с корректным переводом. Есть такие?

Наблюдаю у себя полыхающие проблемы с переводом даже таких слов, как notebook , edit tag(s), edit note(s), min(s) etc...

AVL2
()

Техническое моделирование в Blender (CAD/CAM/CAE)

 , , ,

В этой теме собираем и обсуждаем методы и приёмы работы в Blender при выполнении технического моделирования (конструирования).

Ресурсы для Blender 2.78:

Ресурсы для Blender 2.49:

Специальные сборки (форки):

Если знаете где есть материалы по данной теме — давайте ссылки для наполнения шапки топика!

atsym
()

Вопрос для математиков про 2D деформации.

 , упороться,

Есть некая «правильная» сетка ограниченного размера из двумерных точек с координатами x1,у1 равномерно рапределённых в некоем прямоугольнике.

И есть «неправильная», «деформированная», «искажённая» сетка с теми же самыми точками, но с координатами x2,y2.

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

Эта деформация постоянна и не изменяется. Задача состит в том, чтобы имея эти 2 набора данных найти некую функцию (набор функций) которая позволит из произвольных «искажённых» координат x2,y2 в этом прямоугольнике получать «правильные» координаты x1,y1. Т.е. надо найти математическое выражение этой деформации.

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

Собственно вопрос в том, как эта задача в общем виде называется у математиков. Желательно по-английски. Всякое deconvolution как-то выносит в основном на что-то типа этого http://www.vassg.hu/pdf/vass_gg_2003_lo.pdf заточенное на заведомо известную модель искажений. Если модель заранее известна, то решение и так понятно как найти. А вот совсем общее решение, аналогичное какой-нибудь 1D/2D polynomial regression для произвольного набора экспериментальных данных что-то никак не находится.

Сейчас я, например, беру каждую точку и её соседей и апроксимирую тем или иным образом искажение для каждой точки. Для произвольной точки x2,y2 нахожу ближайшую из калибровочного набора и использую вычисленную для неё апроксимацию чтобы получить искомые «недеформированные» x1,x2. Может быть это можно делать как-то оптом для всего набора точек сразу?.

Stanson
()

Можно ли сделать в opengl такое?

 

Привет. У меня есть софтовый рендерер. Могу ли я отгрузить на видюху часть работы таким образом с помощью OpenGL? Не знаю про OpenGL практически ничего, так что перед тем как его учить хочу понять, а есть ли смысл.

Суть в следующем:

1) На CPU для каждого пикселя на экране я считаю массив из точек в пространстве (три флоата).

2) Отгружаю массив на GPU. Там считаю цвет пикселя c = f(a,v), где a — некий параметр, v — точка из массива

3) Раскрашиваю экран значениями c.

Есть в OpenGL для этого средства?

deadplace
()

Минимальный размер TCP буфера

 ,

Почему размер буфера для чтения минимум устанавливается как 2304 (Ubuntu 16. 18 проверял)? Можно ли его сделать менее чем 2304?

Попробовал установить лимиты:

$ sudo sysctl -w net.core.wmem_max=65536 # менее не пускает
net.core.wmem_max = 65536

$ sudo sysctl -w net.core.rmem_max=65536 # менее не пускает
net.core.rmem_max = 65536

$ sudo sysctl -w net.ipv4.tcp_rmem="2 4 8"
net.ipv4.tcp_rmem = 2 4 8

$ sudo sysctl -w net.ipv4.tcp_wmem="2 4 8"
net.ipv4.tcp_wmem = 2 4 8

Далее создать сокет и повлиять на размер буфера для чтения

my_socket = socket.socket( socket.AF_INET,socket.SOCK_STREAM)
my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 8)

При этом размер реально установленного буфера всегда не превышает 2304 (больше можно сделать):

 
print(my_socket.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF))
# печатает 2304

peterbukerov
()

Посоветуйте программу зачитывалку текста.

 

Посоветуйте есть ли качественные зачитывалки текста на русском из текстового формата. Для Ubuntu.

victor79
()

Сгенерировать скелет doxygen документации

 

Хочется из shell скрипта уметь сгенерировать заготовку doxygen комментариев к каждой сущности в заданном файле.

onhydro
()

как из спектра цветов сформировать массив?

 

у меня вопрос без кода поэтому буду благодарен даже за теоретический ответ

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

у меня задача написать функцию, которая принимала бы значение по оси(одно из 200000), а возвращала бы код цвета. этот код может быть в формате rgb, rgbA, hex или в любом другом, понятном браузеру формате

пользоваться буду html/css/js

ps: админы, смотрю, у вас в автокомплите есть тег 'javasript'. без 'c'

prozaik
()

Отобразить файлы и номера строк в ffmpeg, при запуске через valgrind.

 , , , ,

Доброго времени суток!

Есть новый фильтр, написан, как и всё остальное на C, добавлен в MakeFile и allfilters. Зависимости внесены, собирается, запускается, отрабатывает корректно. Но проблема в том, что после своего завершения он консоль пишет, что наступает seg fault. valgrind говрит, что где-то что-то не так, но у него в выводе вместо файлов только ffmpeg и всё, вместо функций - ???.

valgrind --dsymutil=yes --track-origins=yes ./ffmpeg ...

Запускаю так, как удалось найти в гугле - всё равно нет именования функций, на которых происходит что-то не то. Написано ещё, что нужно собирать с флагом -g, добавил его в --extra-cflags='-g' - ноль результата.

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

PearlyDragon
()

Потеря цвета при перекодировании видео

 , ,

Пытаюсь сжать качественый мультик размером 17 Гб до размера около 4-6Гб с минимальными потерями. Исходник:

Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Использую ffmpeg и энкодеры libx264 и h264_omx, но независимо от использованных настроек полученая картинка заметно тусклее. Если со смазыванием и/или квадратами всё понятно, то изменение яркости или цветового баланса не понятно. Единственное предположение, которое я смог найти по поисковикам - неверное определение цветового диапазона (опции -x264-params intut-range=:range= ). Проверка всех 4-х возможных вариантов tv/pc дала одинаковую потерю цветов, так что у меня кончились предположения, что может быть виновато.

Решение: опция -x264opts colorprim=bt709:transfer=bt709:colormatrix=bt709 энкодеру. Хз почему, ведь в исходном файле было явно указано Color primaries: BT.709, но энкодер этого не определил. Если указать опцию то цвет передаётся правильно, а как бонус - заметно меньше квадратов при перекодировании.

kirill_rrr
()

ffmpeg конвертирование

 ,

Я использую ffmpeg для преобразования своего видео, но когда я устанавливаю определенную конфигурацию для конвертирования, звук после преобразования воспроизводится с задержкой. Моя команда: «ffmpeg.exe -i inputFile.mp4 -target film-dv outputFile.mp4 » В документации указано просто установить только некоторую комбинацию для команды «-target» и другие параметры установяться автоматически. Что я делаю не так?

hotabich91
()

Посоветуте оптимальный алгоритм поиска медианы

 , median,

есть stm32 c ацп, к которому хочется привернуть фильтр шума. Обычно советуют медианный.

Ну ок, допустим мне надо искать медиану для 5-9 отсчетов (uint16_t). Как это сделать наиболее быстрым образом? В идеале - просто ссылка на годную библиотеку, ну и какие-то бенчмарки минимальные, желательно для ARM Cortex M0-M3.

PS Вики и stackoverflow в общих чертах смотрел.

Vit
()

Пишу «принципиально новый» (:D) 3D графический движок

 , , , ,

Что из себя будет представлять: библиотека на C++ для работы с real-time 3D графикой. Часть будущего игрового движка, который пока только в мечтах (вероятнее всего будет состоять из 3D графического движка, движка позиционного звука, движка физики, движка скриптов и фасада над этим всем).

Основная архитектурная задумка: есть parent-child дерево объектов, состояние которых не зависит от используемого api рендеринга (OpenGL 3.3 Core, OpenGL 4.5+ Core, Vulkan, DirectX, ...) или операционной системы. Узел 'A' является дочерним по отношению к узлу 'B', если без узла 'B' узел 'A' не имеет смысла (например инстанс меша без сцены). Некоторые типы узлов могут менять своё состояние в зависимости от родительских или дочерних узлов, которые при могут не быть непосредственными parent/child конкретного узла. По этому дереву «модели» строятся деревья «контроллеров» — в основном рендеры, но можно и что-нибудь ещё туда прикрутить (мутаторы от пользовательского ввода, например).

Уже есть: «основа» движка — меши; шейдеры; (квази)статичные 2д текстуры (aka картинки, меняться могут, но редко); 2д текстуры, в которые выполняется внеэкранный рендеринг; OpenGL 4.5+ Core (требует ARB_bindless_texture) рендер; плагин со статичной геометрией; плагин для загрузки сцен с помощью библиотеки libassimp.

Запланировано: поддержка арматуры/скелетной анимации; модели освещения; Vulkan рендер.

Ядро движка: https://gitlab.com/KawaiiGraphics/Kawaii3D

OpenGL рендер: https://gitlab.com/KawaiiGraphics/Misaka3D

Assimp плагин: https://gitlab.com/KawaiiGraphics/KawaiiAssimp

Плагин со статичной геометрией: https://gitlab.com/KawaiiGraphics/KawaiiFigures3D

Сэмплы: https://gitlab.com/KawaiiGraphics/Kawaii3D-Samples

Скриптики для простой компиляции и запуска самлов, без необходимости ставить что-либо из моего софта в систему: https://gitlab.com/KawaiiGraphics/KawaiiEnvironment

Зависимости: Qt5, glm, libassimp (только для плагина KawaiiAssimp, https://github.com/assimp/assimp), sib_utils (https://gitlab.com/VadikLeshy/sib_utils).

Гну/Линукс при том, что это, вероятно, единственная ОС, где сие поделие работает как надо. В дальнейшем я добавлю полноценную поддержку, и форточек, и бздей, но сейчас хотя бы под линухом завезти всё, что запланировано.

upd: Сделал рефакторинг — теперь связи с родительскими (возможно не нпрямую) узлами, влияющими на поведение вычисляются в самом движке, а не в рендерах. Запустил одну из демок на Raven Ridge (вторая всё так же вызывает на нём GPU hang из-за фреймбуффера).

Скриншоты: AMD Raven Ridge: 1, 2.

AMD Radeon R7 M440: 1, 2, 3.

upd2: Решены некоторые проблемы со сборкой при использовании скриптов из репозитория KawaiiEnvironment.

robus
()

Книга «Software-Defined Radio for Engineers» опубликована в свободный доступ

 , , , ,

Книга «Software-Defined Radio for Engineers» опубликована в свободный доступ
Группа Документация

«Software-Defined Radio for Engineers» (2018) — это книга-учебник на английском языке о программно-определяемых радиосистемах (англ. сокр. SDR).

Software-Defined Radio for Engineers, by Travis F. Collins,
Robin Getz, Di Pu, and Alexander M. Wyglinski, 2018,
ISBN-13: 978-1-63081-457-1.
Данная книга опубликована в свободном доступе на сайте Analog Devices, Inc., откуда её можно скачать одним файлом или же разделы по отдельности. Также можно приобрести печатную версию книги.

( СОДЕРЖАНИЕ КНИГИ... )

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

>>> Официальный сайт

>>> Скачать книгу (PDF)

>>> Скачать образовательные материалы (GitHub)

>>> Обсуждение на HN

>>> Подробности (analog.com)

atsym
()

Ищу специфическую реализацию фильтра размытия по Гауссу

 , ,

Нужен фильтр асимметричного (для каждой оси свой коэффициент) размытия по Гауссу с поддержкой linearRGB. Именно такое чудо-юдо требует спека SVG.

Насколько я знаю, только Inkscape и Chrome умеют это. Возможно уже и лиса научилась, не проверял. Инфа тут.

Проблема в том, что мало того, что для этого нужен fixed-point arithmetic, так ещё и примеров/манов для простых смертных я найти не смог.

Есть реализация Inkscape, но она под GPL.

Поэтому вопроса ровно два:

  1. Есть ли у кого-то готовая реализация на любом языке и под удобной лицензией?
  2. Считается ли нарушением GPL если я портирую код на другой язык?
RazrFalcon
()

Какой есть фильм(хф,рисованный, любой) с наикрутейшим логическим замесом?

 , ,

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

Siado
()

Рабочее место курильщика

 ,

Blender 2.79.

Калькулятор слева — IBM 5100.

GPU: GTX 1050 Ti. Рендерилось 37 минут на 256 семплах (с шумоподавлением) в разрешении 3840x2160.

При чем тут Linux? Смотри на монитор.

PNG ужат до 256 цветов.

UPD (3840x2160, Несжато, стул убрал)

Без материалов (1920x1080)

Сетка (1920x1080)

LeshaInc
()

h264 rtsp streaming

 , ,

На VLC можно так сделать RTSP h264 Source для ZoneMinder:

//с usb веб-камеры:
cvlc v4l2:///dev/video0 --sout '#transcode{vcodec=h264,acodec=none}:rtp{sdp=rtsp://:8554/}'

//с камеры андроида через приложение ivideon: 
cvlc http://10.42.0.78:8080/video --sout '#transcode{vcodec=h264,acodec=none}:rtp{sdp=rtsp://:8555/}'
Можно ли еще на чем-то так же просто сделать то же самое? Просьба пример однострочник с тем же функционалом в качестве пруфца, если кто знает

af5
()