Текущее время: 18 апр 2024, 22:27 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Beholder M6

Начать новую темуОтветить на тему Страница 3 из 4 [ Сообщений: 57 ] На страницу   Пред.  1, 2, 3, 4  След.
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 17 сен 2007, 12:01. Заголовок сообщения: 
Зарегистрирован:
    05 авг 2007, 01:59
Сообщения: 5
Мне, например, не удалось найти в интернете нормальный даташит по saa7135 (с описаниями регистров и процесса инициализации). Если есть возможность выслать или указать где взять - будем рады.

В линуксе иногда приходит некий поток (не mpeg ts) от mpeg encoder-а. Проверил регистры энкодера - режим encoding, но в регистре 12h установлен бит 1:

SAA6752HS continues encoding but outputs audio ES packets only; SAA6752HS will resynchronize if video input is recommenced; notes 2 to 4.

Notes:
2. This error flag detects mismatches between the input video format (525 or 625) and SAA6752HS video setting (525 or 625). Video syncs out of range are also detected.
3. A loss of video sync is flagged if 10 consecutive syncs are not detected.
4. For stream types which include video mode transitions to encode or idle/stop will not be finished, if no video is present. A pending mode transition can be stopped by forced reconfigure.

Возможно не выведен видеосигнал с SAA7135? Не могли бы представители компании описать последовательность включения цифрового видеопорта?

По поводу параметров энкодера - мы пока что хотим именно те параметры, которые сейчас зашиты в указанный исходник saa6752hs.c )
---
Xen, Debian etch, OpenSolaris Xen build66.
2.6.23-rc6
Профиль 
Сообщение Добавлено: 07 окт 2007, 07:51. Заголовок сообщения: 
Зарегистрирован:
    05 авг 2007, 01:59
Сообщения: 5
Можгут ли представители компании ответить на мой вопрос из предыдущего поста?
---
Xen, Debian etch, OpenSolaris Xen build66.
2.6.23-rc6
Профиль 
Сообщение Добавлено: 08 окт 2007, 11:30. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    13 июл 2004, 13:23
Сообщения: 1089
Вы скооперировались с igk72?
У вас есть какой-то полуфабрикат для работы с Empress?
Профиль 
Сообщение Добавлено: 08 окт 2007, 11:50. Заголовок сообщения: 
Зарегистрирован:
    05 авг 2007, 01:59
Сообщения: 5
Нет, я пока что работаю независимо от него, но собрать вместе результаты будет очень легко.

Он видимо пока что не занимался энкодером.

У меня есть только стандартные линуксовские saa7134-empress.c & saa7134-core.c & saa7134-video.c
---
Xen, Debian etch, OpenSolaris Xen build66.
2.6.23-rc6
Последний раз редактировалось a5b 10 окт 2007, 18:26, всего редактировалось 2 раз(а).
Профиль 
Сообщение Добавлено: 08 окт 2007, 12:22. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    13 июл 2004, 13:23
Сообщения: 1089
Давайте тогда сейчас скоординируем работу.
igk72, у вас есть какая-то рабочая заготовка?
Профиль 
Сообщение Добавлено: 09 окт 2007, 01:49. Заголовок сообщения: 
Эксперт
Зарегистрирован:
    09 апр 2007, 12:50
Сообщения: 135
Скооперироваться готов всегда.

Дело идет туговато. Получил почти такие же данные как у A2b.
Энкодер в состоянии ошибки.

У меня тоже только стандартный линуксовский saa7134-empress.c & saa7134-core.c - думаю что в этот код надо добавлять поддержку М6.

Даташиты нашел вот такие только
http://www.igk.ru/linux/files/v4l/SAA6752HS_3.pdf
http://www.igk.ru/linux/files/v4l/SAA7134HL_4.pdf


Кстати!
Продолжил работу над общим патчем - развитие поддержки сторонних пультов в серии 60х и М6. теперь в модуле можно указать от какого пульта принимается нажатия. По-умолчанию только от родного. Это необходимо для разграничения сторонних пультов, так как реагирует на пульты от Sven, BBK и т.д.
Обновления выложу на днях.
Beholder M6 и H6, Linux Debian/Ubuntu
Профиль ICQ 
Сообщение Добавлено: 30 окт 2007, 00:51. Заголовок сообщения: 
Зарегистрирован:
    30 окт 2007, 00:42
Сообщения: 21
Есть движение с encoder'ом в M6 ?

v4l для 2.6.18 я собрал, спасибо за патчи.. всё работает (M6 Extra).

Теперь бы понять как побороться с энкодером...

Без кодирования в mpeg не очень хорошо работает пауза во время просмотра передач в mythtv. Надо делать ;)
Профиль 
Сообщение Добавлено: 08 ноя 2007, 12:50. Заголовок сообщения: 
Зарегистрирован:
    30 окт 2007, 00:42
Сообщения: 21
Просьба спецам из Beholder глянуть на этот кусок инициализации saa6752hs:

---------------------------------
/* Set video format - must be done first as it resets other settings */
buf[0] = 0x41;
buf[1] = h->video_format;
i2c_master_send(client, buf, 2);

/* Set number of lines in input signal */
buf[0] = 0x40;
buf[1] = 0x00;
if (h->standard & V4L2_STD_525_60)
buf[1] = 0x01;
i2c_master_send(client, buf, 2);

/* set bitrate */
saa6752hs_set_bitrate(client, &h->params);

/* Set GOP structure {3, 13} */
buf[0] = 0x72;
buf[1] = 0x03;
buf[2] = 0x0D;
i2c_master_send(client,buf,3);

/* Set minimum Q-scale {4} */
buf[0] = 0x82;
buf[1] = 0x04;
i2c_master_send(client,buf,2);

/* Set maximum Q-scale {12} */
buf[0] = 0x83;
buf[1] = 0x0C;
i2c_master_send(client,buf,2);

/* Set Output Protocol */
buf[0] = 0xD0;
buf[1] = 0x81;
i2c_master_send(client,buf,2);

/* Set video output stream format {TS} */
buf[0] = 0xB0;
buf[1] = 0x05;
i2c_master_send(client,buf,2);

/* compute PAT */
memcpy(localPAT, PAT, sizeof(PAT));
localPAT[17] = 0xe0 | ((h->params.ts_pid_pmt >> 8) & 0x0f);
localPAT[18] = h->params.ts_pid_pmt & 0xff;
crc = crc32_be(~0, &localPAT[7], sizeof(PAT) - 7 - 4);
localPAT[sizeof(PAT) - 4] = (crc >> 24) & 0xFF;
localPAT[sizeof(PAT) - 3] = (crc >> 16) & 0xFF;
localPAT[sizeof(PAT) - 2] = (crc >> 8) & 0xFF;
localPAT[sizeof(PAT) - 1] = crc & 0xFF;

/* compute PMT */
memcpy(localPMT, PMT, sizeof(PMT));
localPMT[3] = 0x40 | ((h->params.ts_pid_pmt >> 8) & 0x0f);
localPMT[4] = h->params.ts_pid_pmt & 0xff;
localPMT[15] = 0xE0 | ((h->params.ts_pid_pcr >> 8) & 0x0F);
localPMT[16] = h->params.ts_pid_pcr & 0xFF;
localPMT[20] = 0xE0 | ((h->params.ts_pid_video >> 8) & 0x0F);
localPMT[21] = h->params.ts_pid_video & 0xFF;
localPMT[25] = 0xE0 | ((h->params.ts_pid_audio >> 8) & 0x0F);
localPMT[26] = h->params.ts_pid_audio & 0xFF;
crc = crc32_be(~0, &localPMT[7], sizeof(PMT) - 7 - 4);
localPMT[sizeof(PMT) - 4] = (crc >> 24) & 0xFF;
localPMT[sizeof(PMT) - 3] = (crc >> 16) & 0xFF;
localPMT[sizeof(PMT) - 2] = (crc >> 8) & 0xFF;
localPMT[sizeof(PMT) - 1] = crc & 0xFF;

/* Set Audio PID */
buf[0] = 0xC1;
buf[1] = (h->params.ts_pid_audio >> 8) & 0xFF;
buf[2] = h->params.ts_pid_audio & 0xFF;
i2c_master_send(client,buf,3);

/* Set Video PID */
buf[0] = 0xC0;
buf[1] = (h->params.ts_pid_video >> 8) & 0xFF;
buf[2] = h->params.ts_pid_video & 0xFF;
i2c_master_send(client,buf,3);

/* Set PCR PID */
buf[0] = 0xC4;
buf[1] = (h->params.ts_pid_pcr >> 8) & 0xFF;
buf[2] = h->params.ts_pid_pcr & 0xFF;
i2c_master_send(client,buf,3);

/* Send SI tables */
i2c_master_send(client,localPAT,sizeof(PAT));
i2c_master_send(client,localPMT,sizeof(PMT));

/* mute then unmute audio. This removes buzzing artefacts */
buf[0] = 0xa4;
buf[1] = 1;
i2c_master_send(client, buf, 2);
buf[1] = 0;
i2c_master_send(client, buf, 2);

/* start it going */
saa6752hs_chip_command(client, SAA6752HS_COMMAND_START);

/* readout current state */
buf[0] = 0xE1;
buf[1] = 0xA7;
buf[2] = 0xFE;
buf[3] = 0x82;
buf[4] = 0xB0;
i2c_master_send(client, buf, 5);
i2c_master_recv(client, buf2, 4);
/* change aspect ratio */
buf[0] = 0xE0;
buf[1] = 0xA7;
buf[2] = 0xFE;
buf[3] = 0x82;
buf[4] = 0xB0;
buf[5] = buf2[0];
switch(h->params.vi_aspect) {
case V4L2_MPEG_VIDEO_ASPECT_16x9:
buf[6] = buf2[1] | 0x40;
break;
case V4L2_MPEG_VIDEO_ASPECT_4x3:
default:
buf[6] = buf2[1] & 0xBF;
break;
break;
}
buf[7] = buf2[2];
buf[8] = buf2[3];
i2c_master_send(client, buf, 9);

----------------------------

Что-то здесь не так. Например - я не могу найти описание команд для смены aspect ratio, хотя в этом коде применяется последовательность, начинающаясь с 0xE0

saa6752hl выдаёт на выходе видео в таком формате:
VIDEO: [DVSD] 720x480 24bpp 29,970 fps
Профиль 
Сообщение Добавлено: 09 ноя 2007, 12:44. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    13 июл 2004, 13:23
Сообщения: 1089
писал(а):
Что-то здесь не так. Например - я не могу найти описание команд для смены aspect ratio, хотя в этом коде применяется последовательность, начинающаясь с 0xE0

Это недокументированный 4-байтовый регистр. Он корректен.
Профиль 
Сообщение Добавлено: 09 ноя 2007, 22:20. Заголовок сообщения: 
Зарегистрирован:
    30 окт 2007, 00:42
Сообщения: 21
Спасибо.

А корректна ли следующая инициализация вывода на энкодер с saa713x:

static int video_out[][9] = {
[CCIR656] = { 0x00, 0xb1, 0x00, 0xa1, 0x00, 0x04, 0x06, 0x00, 0x00 },
};

/* enable video output */
int vo = saa7134_boards[dev->board].video_out;
int video_reg;
unsigned int vid_port_opts = saa7134_boards[dev->board].vid_port_opts;
saa_writeb(SAA7134_VIDEO_PORT_CTRL0, video_out[vo][0]);
video_reg = video_out[vo][1];
if (vid_port_opts & SET_T_CODE_POLARITY_NON_INVERTED)
video_reg &= ~VP_T_CODE_P_INVERTED;
saa_writeb(SAA7134_VIDEO_PORT_CTRL1, video_reg);
saa_writeb(SAA7134_VIDEO_PORT_CTRL2, video_out[vo][2]);
saa_writeb(SAA7134_VIDEO_PORT_CTRL3, video_out[vo][3]);
saa_writeb(SAA7134_VIDEO_PORT_CTRL4, video_out[vo][4]);
video_reg = video_out[vo][5];
if (vid_port_opts & SET_CLOCK_NOT_DELAYED)
video_reg &= ~VP_CLK_CTRL2_DELAYED;
if (vid_port_opts & SET_CLOCK_INVERTED)
video_reg |= VP_CLK_CTRL1_INVERTED;
saa_writeb(SAA7134_VIDEO_PORT_CTRL5, video_reg);
video_reg = video_out[vo][6];
if (vid_port_opts & SET_VSYNC_OFF) {
video_reg &= ~VP_VS_TYPE_MASK;
video_reg |= VP_VS_TYPE_OFF;
}
saa_writeb(SAA7134_VIDEO_PORT_CTRL6, video_reg);
saa_writeb(SAA7134_VIDEO_PORT_CTRL7, video_out[vo][7]);
saa_writeb(SAA7134_VIDEO_PORT_CTRL8, video_out[vo][8]);
Профиль 
Сообщение Добавлено: 09 ноя 2007, 22:51. Заголовок сообщения: 
Зарегистрирован:
    30 окт 2007, 00:42
Сообщения: 21
Дополнительно есть ещё код инициализации TS. Вопрос - нужна ли для beholder M6 extra инициализация CCIR656 через Video port control или достаточно только Transport stream input interface ?

Код инициализации Transport stream такой:
/* init TS hw */
saa_writeb(SAA7134_TS_SERIAL1, 0x00); /* deactivate TS softreset */
saa_writeb(SAA7134_TS_PARALLEL, 0xec); /* TSSOP high active, TSVAL high active, TSLOCK ignored */
saa_writeb(SAA7134_TS_PARALLEL_SERIAL, (TS_PACKET_SIZE-1));
saa_writeb(SAA7134_TS_DMA0, ((dev->ts.nr_packets-1)&0xff));
saa_writeb(SAA7134_TS_DMA1, (((dev->ts.nr_packets-1)>>8)&0xff));
saa_writeb(SAA7134_TS_DMA2, ((((dev->ts.nr_packets-1)>>16)&0x3f) | 0x00)); /* TSNOPIT=0, TSCOLAP=0 */

Плюс ещё есть зависимость на размер пакетов TS:
#define TS_PACKET_SIZE 188 /* TS packets 188 bytes */

И размер буфера, который задаётся в количестве ts пакетов. Плюс можно задавать количество буферов от 2 до 32-х.

Расскажите пожалуйтса про эти параметры для Beholder M6 extra.
Профиль 
Сообщение Добавлено: 09 ноя 2007, 22:55. Заголовок сообщения: 
Зарегистрирован:
    30 окт 2007, 00:42
Сообщения: 21
Вообще конечно куски исходников от ваших драйверов здорово помогли бы. Я готов как персонально подписать NDA, так и от юр. лица, занимающегося разработкой решений на Linux (у меня всё ещё не потеряна надежда использовать Beholder в одном из наших решений).

Второй вариант - поднапрячь ваших программистов на исправление saa7134 в Linux'е. Но т.к. это пока не сделано, то видимо это малорелаьно.
Профиль 
Сообщение Добавлено: 16 ноя 2007, 19:30. Заголовок сообщения: 
Зарегистрирован:
    30 окт 2007, 00:42
Сообщения: 21
Кто-то из Beholder может мне ответить ?

Или всё-таки придётся менять тюнер ?
Профиль 
Сообщение Добавлено: 19 ноя 2007, 13:51. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    13 июл 2004, 13:23
Сообщения: 1089
Мы с вами спишемся в личке.
Профиль 
Сообщение Добавлено: 17 фев 2009, 00:07. Заголовок сообщения: 
Зарегистрирован:
    16 фев 2009, 23:45
Сообщения: 4
писал(а):
Только для тюнеров Beholder серий 60x и M6,
http://www.igk.ru/linux/files/v4l/v4l2- ... x-m6.patch

Только для тюнеров Beholder серии M6
http://www.igk.ru/linux/files/v4l/v4l2- ... r-m6.patch

Указанные линки отдают 404 вместо патчей. Гугление дает ссылки на этот же сайт. Может кто-нибудь поделиться патчем для 60x?

P.S.Behold TV 609 FM на Fedora 10 (2.6.27.12-170.2.5.fc10.x86_64), определилось все, кроме IR. i2c scan пишет в логах:
Код:
kernel: saa7133[0]: i2c scan: found device @ 0x5a  [remote control]

но как input оно не появляется.

P.P.S. Проблемы со звуком решаются следующим образом и без sox:
Код:
options tda9887 qss=1
Профиль 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 3 из 4  [ Сообщений: 57 ]  На страницу   Пред.  1, 2, 3, 4  След.
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 8
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: