MTK Firmware
FAQ
de Desenvolvimento
|
[Índice
do Site] [Portal DVD/DivX]
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 720x576)?
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).
|