O conversor de vídeo baseado em EM2860 captura quadros corrompidos (como depurar?)

1

Eu projetei meu próprio vídeo analógico para o conversor USB. Este conversor é baseado no TI TVP5150AM e no Empia EM2860. Logo, o conversor funciona como mostrado no diagrama abaixo.

         +---------+ ITU-R  +--------+
Analog   |         | BT.656 |        |
Video +--+ TVP5150 +--------+ EM2860 +---+  USB
         |         |        |        |
         +---------+        +--------+

Como estou usando o Linux mint com a versão 4.4 do kernel, os drivers para ambos os chips já estão incluídos. O bom é que o hardware é reconhecido e eu sou capaz de obter dados dele. No entanto, os dados não são os esperados.

Eu coloco uma imagem de teste analógica. Os quadros que eu sou capaz de capturar se parecem com isso: quadro bruto capturado .

O comando que eu uso para capturar esses quadros brutos é:

$ ffmpeg -y -i /dev/video0 -frames:v:0 100 -c:v:0 ppm frame%03d.ppm

(note que recebo o mesmo tipo de quadros apenas abrindo o dispositivo com mplayer . Este comando é apenas para capturar os quadros separados)

A questão é que eu realmente não sei como depurar esse problema. Parece que os dados estão chegando, mas estão corrompidos de alguma forma.

As seguintes coisas eu já descobri:

  • O hardware parece funcionar bem. O TVP5150 é configurado pelo driver conforme o esperado. A interface ITU-R BT.656 está tendo sinais legais. Em uma revisão de hardware anterior, tive problemas com reflexões nessa interface. Naquela época, nenhum quadro foi capturado.
  • mplayer cai muitos frames. ffmpeg indica muitos quadros duplicados. Ambos estão aproximadamente na mesma proporção (4/5 dos quadros são descartados ou indicados como duplicados)

Alguém poderia me indicar uma direção para depurar esse problema?

EDIT1:

Parece que as configurações do TVP5150 não estão corretas. Eu encontrei uma configuração de registro que me permitiu obter cores: quadro capturado cru com cor

EDIT2:

Eu tive que configurar o driver explicitamente para o NTSC e usar uma resolução muito estranha (640x320), mas os frames são capturados da maneira correta agora.

    
por Pasquale van Heumen 22.02.2017 / 14:41

0 respostas