LINUX.ORG.RU

Сообщения sotlef

 

Gentoo: сборка пакета с отладочными символами

Форум — Development

Как собрать пакет из репозитория с отладочными символами И чтобы после установки его исходники не были удалены? (с целью анализа коредампа другого приложения, которое падает в этом пакете)

sotlef
()

Подскажите библиотеку для работы со звуком

Форум — General

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

Заранее признателен за любые дельные советы :-)

sotlef
()

ffmpeg vs -qscale

Форум — Development

Тема на самом деле не об утилите ffmpeg, а о библиотеке libavcodec:

В стандарте mpeg4 практически не разбираюсь - поэтому в основном опираюсь на исходники ffmpeg.c. Вроде знаю это программу довольно неплохо - но вот досада, пытаюсь реализовать функциональность ffmpeg -qscale N в своей программе, и не выходит

Как делаю: в параметр контекста кодировщика и в кодируемый поток устанавливаю:
AVCodecContext * enc = ...
AVStream *st = ...

enc->global_quality = st->quality = FF_QP2LAMBDA * qscale;
enc->flags |= CODEC_FLAG_QSCALE;

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

Encoder: mpeg4

sotlef
()

Scintilla и русские буквы

Форум — General

Gentoo, Gnome, Scintilla. Если в редакторе, неважно каком на scintilla, вводить русские буквы, а потом удалить одну или парочку, то вводить их снова не получиться, нужно либо переключиться в английскую а потом снова русскую раскладку, либо ввести некириллический символ, пробел например. причем этот баг вижу не только у себя. Чувствую, что проблема с неправильной работой редактора с utf8. Кто-нибудь победил это?

sotlef
()

ПО для прогноза погоды

Форум — General

Кто-нибудь знает, каким ПО пользуются к примеру Gismeteo для расчета прогноза погоды, есть ли опенсоурсные)) Ну и вообще что можно почитать для того чтобы можно было разработать такое ПО (речь не идет о технических возможностях)

sotlef
()

Gentoo: Messages for

Форум — General

После того как emerge установил пакет, часто он выводит о нем дополнительное сообщение, к примеру:
* Messages for package gnome-base/gnome-2.26.3:

* The main file alteration monitoring functionality is
* provided by >=glib-2.16. Note that on a modern Linux system
* you do not need the USE=fam flag on it if you have inotify
* support in your linux kernel ( >=2.6.13 ) enabled.
* USE=fam on glib is however useful for other situations,
* such as Gentoo/FreeBSD systems. A global USE=fam can also
* be useful for other packages that do not use the new file
* monitoring API yet that the new glib provides.

Как можно вывести такое сообщение для пакета позже, не лазая самому в директорию /usr/portage?

sotlef
()

http://www.vniins.ru vs GNU GPL v.N

Форум — General

Зашел на сайт http://www.vniins.ru и читаю список их продуктов: ПС «Текст» - немного переделанный OpenOffice Writer ПС «Клиент ГОД-2» - Firefox ПС «Демо» - OpenOffice Презентации ПС «Графика» - GIMP и проч. Ссылок на скачивание исходников этих программ нет Они что, продают эти программы как свои собственные разработки?

sotlef
()

Какой программой можно проверить качество связи между двумя компьютерами в интернете?

Форум — Admin

Всем привет, пробую ffmpeg отправлять по rtp поток видео, ffplay пишет о ошибках в I кадрах, по локалке ошибок нет. Порылся в инете в исходниках, ничего не получилось исправить. Сейчас хочу проверить все ли udp пакеты приходит от отправителя неповрежденными. Как это можно сделать существующими программами (в крайнем случае наваяю свою если нет)

sotlef
()

Маленький торрент-сервер)

Форум — General

Интересно, можно где-нибудь купить файл-сервер небольшого размера с любой операционкой (желательно с линуксом), чтоб не гудела и немного потребляла, просто коробочка с RJ45 и сетевым кабелем, чтоб на стенку прикрутить, поставить туда торрент, чтоб на раздаче висел и никому не мешал, ну и помере надобности добавлять ему жевать торрент файлы на скачку?

sotlef
()

ffmpeg & mt (ffmpeg-mt?)

Форум — Development

Вопрос: какие функции из библиотек ffmpeg нельзя вызывать одновременно в разных потоках? avcodec_open/avcodec_close - это видно невооруженным глазом. В xuggle есть заметка, что нельзя одновременно декодировать/кодировать (медиа) потоки в разных потоках (процесса) для одного файла. Но в моей программе в разных потоках одновременно идет работа с несколькими разными файлами. Причем когда начинаю читать фреймы из одного файла, приложение падает в вызове декодирования фрейма из другого файла (хотя я пока не совсем разобрался, возможно первый поток тоже уже начинает декодировать кадр параллельно с другим потоком) И собственно, почему ffmpeg не хочет сделать нормальной поддержки многопоточности обработки ведь есть проект ffmpeg-mt в которой пытаются решить эту загвостку? Я имею ввиду не ответы - "не нравиться - не пользуйся" или там "самый умный чтоли - мужики уже несколько лет либу пишут, все еще не сделали многопоточность - значит нельзя", "посмотри diffы из ffmpeg-mt и догадайся", а ответы типа "ffmpeg использует глобальную таблицу/структуру, которую если копировать то наступит пипец компу" или там с "таймингом проблемы возникают" и т.д.

sotlef
()

Помогите «смонтировать» два физических блока памяти в один виртуальный:-)

Форум — Development

Граблю кадры с v4l2 камеры mmapом. Микрозадача: нужно прикрутить в конец аппаратного буфера камеры свой маленький буфер, в который нужно сохранять свою инфу, ну или прикрутить свой буфер перед аппаратным. Т.е. чтобы в виртуальном пространстве получилось |мой буфер|аппаратный буфер| или |аппаратный буфер|мой буфер|, чтобы я смог этот составной буфер писать через write(fd, buf, size) за один вызов ну и вообще оперировать только одним указателем. Копировать аппаратный буфер в другой нельзя - софтинка крутиться на ARMе, там это очень замедляет работу, pwrite тоже нельзя использовать - т.к. кадр дальше передается другой библиотеке (libavformat), которая имеет только интерфейс write. Как пробовал - после mmapа аппаратного буфера создавал разделяемую память и ммапил ее в конец буфера кадра (тут код без проверок после вызовов):

v4l2_buffer buf;
...
ioctl(fd_cam, VIDIOC_QUERYBUF, &buf);
data = mmap(NULL, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, fd_cam, 0);
m_pFrameList[index].m_desc = shm_open("desc", O_RDWR | O_CREAT, 0777));
p_void field = mmap(p_void(ptrdiff_t(data) + buf.length), sizeof(float64), PROT_READ | PROT_WRITE, MAP_SHARED | MAP_FIXED, m_pFrameList[index].m_desc, 0);
Log::echo("Mapping result: must be: %p, actually: %p\n", ptrdiff_t(data) + buf.length, field);


Вроде все клево, но когда я запрашиваю кадр:
ioctl(fd_cam, VIDIOC_DQBUF, ...) приложение валится с ошибкой "Ошибка шины". в чем собака может быть зарыта?

sotlef
()

Поиск файла по его содержимому

Форум — General

Млин, давно уже работаю в линуксе, а досих пор не научился искать файлы по его содержимому. я имею ввиду неиспользуя mc, различных gui программ.. просто люблю в консоли работать, и иногда хочеться быстро найти файл не дергая мышку или commander. как вы это обычно делаете?

sotlef
()

Конструктор копирования в gcc

Форум — Development

Хотелось бы разобраться со следующим вопросом:
есть вот такой вот пример:
struct INT
{ };

struct LP
{
LP(const INT &p);
LP& operator=(const INT &p);
};

struct P
{
operator INT ();
};

int main()
{
P pi1;
LP lpi2(pi1); // OK
LP lpi2_ = pi1; // FAILS!
lpi2 = pi1; // OK
}

в строке // FAILS! компилятор выдает ошибку "error: conversion from 'P' to non-scalar type 'LP' requested". Т.е. такая конструкция для g++ похоже имеет другой от (LP lp2(pi1)) смысл. Подскажите плз, в чем здесь проблема? И как то можно ее решить, чтобы эта строка была съедобной для g++?

sotlef
()

explicit specialization in non-namespace scope мать его! :-(

Форум — Development

Млин, стоит задача переписать софт с виндовса в linux. Понятно дело, в коде куча расширений от мелкософтоского компилятора с++, одно из них - объявление внутри класса шаблонного класса с последующей специализацией этого класса внутри объявления внешнего класса. gcc не проглатывает это, не по стандарту это. Млин, но если подумать, вполне удобное расширение. Читаю в инете, какие приемы используют разработчики, чтобы это обойти, а другие их ругают, типа такое расширение противоречит всей концепции шаблонов, типа это надругательство. Чем он противоричит? Чем он плох в с++?

sotlef
()

Что лучше: 1 poll для всех дескрипторов, или несколько poll'ов в разных потоках

Форум — Development

В общем если подробнее, имеется большая программа, которая соединяется со множеством клиентов по сети, через именованные каналы, и проч. В общем около 50 открытых дескрипторов одновременно есть всегда. Программа работает с ними асинхронно, имеет кучу потоков, и сейчас нужно ее оптимизировать. Какая реализация будет эффективнее с точки зрения работы вызова poll: 1 вызов poll, который прерывается при необходимости добавить новый дескриптор в массив pollfd, или несколько вызовов poll в разных потоках?

sotlef
()

effective priority

Форум — General

Всем привет!
В общем читаю книжку "The Linux Programmers Toolbox" и дохожу про
планировщик в линукс. Тема там заходит про динамический приоритет
процессов, и чтобы воочию увидеть его, предлагается запустить
скрипты, которые покажут изменение приоритетов процессов.
Собственно, вот они: 

#!/bin/sh
#niceguy
while true; do
  sleep .1
done

#!/bin/sh
#cruncher
while true; do
  true
done

#!/bin/sh
./cruncher &
./niceguy &
trap 'echo stopping; kill %1 %2; break;' SIGINT
while true; do
  ps -C niceguy -C cruncher -o etime,pid,pri,cmd
  sleep .5
done

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

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

>>>

sotlef
()

Поиск имени файла шрифта по его названию

Форум — General

Блин, на одном компе стоит шрифт "Fixed", а на другом его нет :) А он мне жутко нравиться, как определить, в каком файле(ах) он храниться? Еще хочеться его чуть подредактировать в fontforge, да там тоже нужно имя файла указывать...

>>>

sotlef
()

Конструктор копирования в gcc

Форум — Development

Написал свои классы матриц и векторов. Написал для них конструкторы
копирования, все как обычно, методы должны для возврата результатов
использовать конструктор копирования. Например, сигнатура оператора
умножения матриц:
 Matrix operator*(Matrix &).

Все работает вроде нормально, но когда я добавил матрицам имена
(например, Matrix a(3,3, "a")) и начал следить за временем жизни
объектов (добавив в конструкторы, деструкторы и операторы вывод
сообщений о выполняемых действиях) заметил что временные объекты ведут
себя не так как я ожидал. Например, в операторе сложения (без
проверок):
  Matrix Matrix::operator+(Matrix &m) {
     cout << mName << "::operator+(" << m.mName << ")" << endl;
     Matrix t(mRow, mCols, "temp" /* имя генерируется случайной
последовательностью латинских символов */);
     t += m;
     return t;
  }

Теперь к примеру для следующего кода:
  Matrix a(3,3, "a"), b(3,3, "b"), c(3,3, "c");
  c = a + b;

будет выведены сообщения:
  Matrix "a" created
  Matrix "b" created
  Matrix "c" created
  a::operator+(b)
  Matrix "kdjlkj" created
  c::operator=(kdjlkj)
  Matrix "kdjlkj" destroyed
  Matrix "c" destroyed
  Matrix "b" destroyed
  Matrix "a" destroyed

Т.е. получается после того как оператор+ создал временный объект в
стеке, он его не уничтожил при выходе. При возврате из метода не был
вызван конструктор копирования (в нем также есть вывод сообщений),
т.е. что получается? Аргументом оператора= был объект из стека,
который должен быть по идее уже переписан данными при вызове
присваивания? Что вообще происходит?

>>>

sotlef
()

Медленно создаются окна

Форум — Desktop

Это нестолько проблема, сколько неудобство. Когда создается иксовое окно, клиент обращается к днс-серверу для поиска икс-сервера. Когда сеть недоступна и прописан удаленный днс, то окно появляется секунд через 5 после запуска приложения. Приходится либо ждать либо менять днс на localhost. Можно ли как-то настроить весь этот процесс так, чтобы этого гемора не было и вообще он не пытался без необходимости обращаться к днс? У меня gentoo, в других системах я такой весчи не наблюдал.. Есть какие-то идеи?

>>>

sotlef
()

Проблемы при установке поддержки SATA-винтов в ядре

Форум — Linux-install

Пытаюсь скомпилировать ванильное ядро 2.6.23 для gentoo 2007.0 для ноута Toshiba Satellite M100-150, в котором стоит SATA винт (он может работать как SATA так и как PATA(ATA-7)). Чипсет 945PM, ICH7. У меня не получается добиться от ядра определять винт как SATA. Если не ошибаюсь, то оно вообще загружается в PIO. Подскажите что сделать. Ниже привожу часть dmesg от этого ядра, а следующее - dmesg от knoppix 5.x - в принципе то, чего я хочу добиться.

[dmesg-gentoo]:
...
SCSI subsystem initialized
libata version 2.21 loaded.
...
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
Clocksource tsc unstable (delta = -303218356 ns)
hda: Hitachi HTS541612J9SA00, ATA DISK drive
Probing IDE interface ide1...
hdc: HL-DT-ST DVDRAM GMA-4082N, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 512KiB
hda: Host Protected Area detected.
current capacity is 234050985 sectors (119834 MB)
native capacity is 234441648 sectors (120034 MB)
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
ide: failed opcode was: 0x37
hda: 234050985 sectors (119834 MB) w/7516KiB Cache, CHS=16383/255/63
hda: cache flushes supported
hda: hda1 hda2 hda3 hda4
hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache
Uniform CD-ROM driver Revision: 3.20
3ware Storage Controller device driver for Linux v1.26.02.002.
ata_piix 0000:00:1f.2: version 2.12
ata_piix 0000:00:1f.2: MAP [ P0 P2 IDE IDE ]
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 19
PCI: Unable to reserve I/O region #1:8@1f0 for device 0000:00:1f.2
ata_piix 0000:00:1f.2: failed to request/iomap BARs for port 0 (errno=-16)
PCI: Unable to reserve I/O region #3:8@170 for device 0000:00:1f.2
ata_piix 0000:00:1f.2: failed to request/iomap BARs for port 1 (errno=-16)
ata_piix 0000:00:1f.2: no available native port

[dmesg-knoppix]:
...
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide0: I/O resource 0x1F0-0x1F7 not free.
ide0: ports already in use, skipping probe
Probing IDE interface ide1...
hdc: HL-DT-ST DVDRAM GMA-4082N, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hdc: ATAPI 63X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache
Uniform CD-ROM driver Revision: 3.20
Loading iSCSI transport class v2.0-724.<7>ata_piix 0000:00:1f.2: version 2.00ac6
ata_piix 0000:00:1f.2: MAP [ P0 P2 IDE IDE ]
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 18
ata: 0x170 IDE port busy
ata: conflict with ide1
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18B0 irq 14
ata2: DUMMY
scsi0 : ata_piix
ata1.00: ATA-7, max UDMA/100, 234050985 sectors: LBA48 NCQ (depth 0/32)
ata1.00: ata1: dev 0 multi count 16
ata1.00: configured for UDMA/100
scsi1 : ata_piix
scsi 0:0:0:0: Direct-Access ATA Hitachi HTS54161 SBDO PQ: 0 ANSI: 5
SCSI device sda: 234050985 512-byte hdwr sectors (119834 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
SCSI device sda: 234050985 512-byte hdwr sectors (119834 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: drive cache: write back
sda: sda1 sda2 sda3 sda4
sd 0:0:0:0: Attached scsi disk sda
...

мой .config
<Device drivers --->>:
<*> ATA/ATAPI/MFM/RLL support --->
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
[ ] Support for SATA (deprecated; ...)
<*> Include IDE/ATA-2 DISK support
[*] Use multi-mode by default
<*> Include IDE/ATAPI CDROM support
...
<*> Intel PIIXn chipsets
<*> Serial ATA and PATA -->
<*> AHCI SATA support
<*> Intel ESB, ICH, PIIX3, PIIX4, PATA/SATA support

Подскажите плз, что не так?

>>>

sotlef
()

RSS подписка на новые темы