Firmware MT13x9

MTK Firmware : FAQ de Desenvolvimento

publicado em 12/08/2007

Como regra geral, tenha em mente que Engenharia Reversa é algo muito complicado e não sou especialista nisso (não sou especialista em PN). Eu preciso me basear em documentação e/ou exemplos pré-existentes. Se já não existe um aparelho que faça o que você quer, existem boas chances de que eu não possa fazer. Não é exatamente assim, porque eu conheço aparelhos e firmwares que muitos de vocês não conhecem, mas usem isso como regra geral.

E mesmo que exista um aparelho que faz, isso pode ter sido conseguido com o auxílio do código-fonte (e não por Engenharia Reversa), podendo ser extremamente complicado de duplicar.

A maioria das questões abordadas neste FAQ tem resposta “não” e “talvez”, porque o que tem resposta “SIM” já foi implantado ou está devidamente documentado em algum lugar no meu blog ou no meu fórum.

Este FAQ não se aplica apenas ao Proview DVP-858.

Dá para corrigir o problema do Packet Bitstream em XviD?
Dá para dar suporte a multisessão em mídia -R/+R?

Muito complicado. Ainda não existe um modo de resolver isso que não seja usando partes do firmware de outro aparelho. Além de ser naturalmente complicado emendar partes do firmware de aparelhos diferentes, quando funciona geralmente provoca efeitos colaterais. Eu só pretendo dar atenção a esses assuntos quando tiver notícia de que algum hacker conseguiu resolver o problema modificando diretamente o código.

É possível fazer um ZOOM mais “fluido”?
É possível dar ZOOM Out a um aparelho que não tem a função?

Não existe nenhuma documentação sobre como funciona o ZOOM, nem tenho qualquer notícia de alguém que tenha conseguido isso por Engenharia Reversa.

É possível dar suporte a tags ID3 a um aparelho que não tem?

Talvez. Existe documentação sobre isso e já analisei o problema no Proview DVP-858, mas dá muito trabalho. Envolve implantar muito código, descobrir muitos endereços livres (ou pelo menos “usáveis”) de memória, requer bastante espaço sobrando no banco certo do firmware, etc. E não temos nem mesmo a certeza de que todo o trabalho vai dar resultado, por isso não é uma tarefa que qualquer um vá abraçar à toa.

É possível fazer a seleção de legendas com nome diferente do filme, direto por escolha no browser?

Talvez. Mas não existe documentação nem qualquer precendente.

É possível fazer com que o aparelho suporte a carga de legendas em mídia diferente da do filme, como ocorre no Philips DVP642?

Em primeiro lugar, é bom ter em mente que o DVP642 provavelmente consegue fazer isso por acaso. É um “efeito colateral” da forma como foi programado. Uma programação mais cuidadosa certamente apagaria a memória toda vez que a mídia fosse trocada. E como o programador do DVP642 não teve esse cuidado o usuário acabou ganhando esse recurso extra.

Tendo isso em mente, talvez seja possível implantar isso em um firmware Mediatek. Mas antes disso é necessário conseguir fazer com que as legendas sejam selecionáveis no browser, como no DVP642. Depois se certificar de que a mudança de mídia não apague as regiões de memória que contém a legenda ou apontam para ela. E desligar a carga de arquivos de legenda com mesmo nome que o filme. Não existe documentação sobre como isso pode ser feito, mas é algo que parece viável. Porém tudo isso é feito no código ARM, com o qual eu ainda tenho familiaridade ZERO.

Dá para ter suporte a outros codecs?

Primeiro, vamos usar a terminologia correta: não existem codecs em um DivX player. O que existe é um decodificador. Tendo estabelecido isso: do ponto de vista eletrônico, não é razoável crer que o decodificador seja atualizável por firmware. Acredita-se que toda decodificação esteja fisicamente implantada no chip.

É possível dar suporte a outros containers, como o Matroska?

Talvez. Porém ainda não se sabe como funciona a extração dos streams de audio e video de um container no firmware (é toda feita no código ARM) por isso não há nenhuma indicação clara de que o suporte a um novo container seja possível. Ainda assim, continuará sendo obrigatório que os streams de áudio e vídeo dentro do container sejam suportados.

Dá para quebrar a proteção (HDCP, Macrovision, etc)?

Não existe documentação sobre isso e mesmo que houvesse colocaria o meu trabalho em terreno perigoso. Não pretendo trabalhar com nada disso.

Tem como fazer o aparelho ser compatível com DivX HD (qualquer coisa maior que 720×576)?

Não. Isso requer processadores mais poderosos e mais memória.

A legenda em DivX está boa, mas a dos DVDs é diferente!

Ao contrário da legenda externa DivX, cuja aparência é determinada pelo aparelho, a aparência das legendas de um DVD-Video é deteminada pela produtora do filme e não pode ser alterada por nenhum hack no aparelho.

Eu estou com o problema X, que mesmo tendo instalado a versão Y do firmware Z não foi resolvido!

Era para ser? Está na lista de melhorias divulgada pelo desenvolvedor do firmware?

A versão X do firmware alternativo possui a característica Y?

Se essa é uma característica ausente no firmware oficial no qual o autor do firmware se baseou e este autor não colocou-a na lista de novidades, não. Se você não sabe o que o firmware oficial faz ou não, instale, teste e compare.

Dá para você portar a modificação que você fez no aparelho X para o aparelho Y?

Se eu tenho o aparelho Y, vai depender do meu tempo e das condições oferecidas pelo firmware do aparelho para suportar as mudanças. Se eu não tenho o aparelho Y, esqueça. Já é suficientemente complicado e demorado desenvolver modificações tendo o aparelho para testá-las.

Quando…?
Você tem previsão…?

Deixe para fazer esse tipo de pergunta a quem você estiver pagando. Quem trabalha de graça não gosta de ouvir essas questões (eu fico indignado com elas).

(copyright 2007 – Jefferson Ryan)

Esta página foi visualizada vezes desde desde 12/08/07

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>