Comprimir quadros dentro de um vídeo AVI

Eu construí uma classe Windows Phone para converter alguns WriteableBitmap em um quadro completo AVI (descompactado). Vídeos são realmente enormes. Existe uma implementação de codec simples existente, como um codec que apenas zipar imagens, ou algo que está fazendo um XOR seguinte / anterior, em seguida, zip-lo em jpeg?

O Windows Phone não permite nenhum código não seguro e a maioria das DLL não pode ser empacotada em uma biblioteca C # WP. Então é por isso que estou codificando algo do zero. Note que sou mais eficiente em codificar a partir do zero do que em estudar fontes C ++ existentes (não sou um codificador C ++), então o que estou procurando é infos sobre um formato AVI compactado que pode ser obtido sem escrever 100.000 linhas. Eu usei o AVI porque as especificações são simples.

[EDITAR]

Eu encontrei algo muito interessanteAqui no codeproject, de um artigo de 2004. É uma fonte 100% C # para converter quadros em mpeg-1. Infelizmente, isso é i frame, e não p frame, portanto, os arquivos são 3 vezes maiores do que um tamanho de arquivo médio mpeg-1 esperado.

[EDITAR]

Para descrever mais meu projeto, o que farei é aplicar alguns efeitos em um filme capturado. Este filme será então carregado no Youtube ou em outros sites. Assim, o usuário espera a resolução exata usada no telefone, pelo menos 25 frames / s, uma qualidade decente e um curto tempo de upload. Então eu não posso parar com um Mpeg-1 I-Frames. Eu precisarei estudar sobre predição no mpeg-1.

questionAnswers(1)

yourAnswerToTheQuestion