Bueno, en baseline no tenemos ni CABAC ni bframes. Esas son básicamente las diferencias. En la wiki tienes una tablita básica, no ilustra todo, pero te haces una idea:
http://en.wikipedia.org/wiki/H264
a medio camino están las diferencias más importantes de los perfiles. Pero es una pena muy grande... tan solo con poder usar CABAC, tendríamos una reducción de tamaño de hasta un 30%!! esto es una burrada, haz cálculos... en vez de 100Mb, serían 66mb. Normalmente este dato se pasa por alto, pq la gente dice: Pues a mi me ocupa lo mismo... claro, no te jode, si el bitrate pones el mismo, será el mismo... pero con más calidad
Y el otro gran invento son los b frames... es uan pena q no podamos usarlos. Los bframes son los frames q más se pueden comprimir. Una peli normal, un trailer de apple y demas suele tener esta estructura:
IPBPBP...IPBPB...
un poquito de frames: (siempre hablando en h264, aunq la mayoría de todos los conceptos son aplicables a cualquier codec de video)
Un frame es una imagen. Pero un codificador competente jamás guardará uan imaen en un frame! sería de tontos... 25 imagenes/sec 25 imagenes en jpg solo para un segundo... se me ponen los pelos de punta... verdad? Hay codec q usan este sistema, por ejemplo muchas cámaras de fotos q hace videos... resultado? video patético en tamaños astronómicos.
Q se hace? pues se diferencia diferentes tipos de frames:
I= Iframe -> Imágenes completas. Un iframe es una imagen pura y dura, son las q más ocupan, pero son necesarios. PQ?
a) Sin I frames no sería posible el posicionamiento de un video por ejemplo. Tu abres un video (o un DVD) y puedes irte a la parte q quieras. El iframe no requiere decodificar ningún frame anteriormente, luego es posible situarse en un video a cualquier sitio... siempre q haya en ese sitio un iframe. Esto se hace de manera automática por supuesto. Tu mueves el deslizador a una parte del video, y el reproductor y el codec escogen el iframe más próximo
b) Tb se suelen usan Iframes cuando se corta una escena. Una acción policial y de pronto cambia el plano y se ve un dormitorio. Pues ese Dormitorio, el primer frame, será casi seguro un Iframe
c) Tb se suelen usar en escenas muy complejas, dnd el uso de Pframes o bframes las hacen inviable por la calidad. Escenas muy rápidas, parpadeos extraños...
Se llama GOP precisamente al numero de frames q hay entre iframe e iframe en condiciones normales. Un DVD suele tener un GOP de 12fps. Es decir, cada 12frames MAXIMO se planta siempre un iframe. Pueden plantarse más por supuesto si fueran necesario. Con un GOP de 12fps, tendríamos un iframe cada medio segundo más o menos, por eso podemos ir a cualquier parte del dvd con una precisión de medio segundo . Problema? mas espacio en disco es requerido.
Para conversiones de video caseras? megui? se tiene por defecto un gop de 250, es decir un iframe cada 10 segundos. Para las pelis, ipod y demas está bien. Ahora, si queremos editar video y hacer un MASTER, 250 no sería idoneo. un GOP de 250 al darle a play en cualquier parte del video, nos tardara unos segundos siempre en estabilizar la imagen. No significa q luego no podamos ir a cualquier parte de la peli (depende del codec)
P = Pframes -> Frames predictivos, ocupan bastante menos q los Iframes. Pueden ser una imagen en sí misma o contener tan solo vectores de movimientos. Es decir, en los P frames l oq se guardan son (por asi decirlo) las nuevas coordenadas de dnd estarán los píxeles de la imagen anterior. Como de una imagen a otra hay muy poca diferencia, es más economico en vez de guardar toda la imagen guardar el destino de los píxeles q varían. Así q en realidad no hay imagen!! tan solo vectores q aplicados a la imagen anterior (o varias imágenes anteriores) crea la nueva imagen. Evidentemente, los pframes requieren de algún frame anteriormente decodificado, ya sea un iframe, pframe e incluso un bframe en H264.
B = B frames -> Frames bidireccionales o bipredictivos. PUes son iguales q los Pframes, pero bidireccionales. Osea, hemos dicho q los pframes en ralidad son vectores de desplazamiento de los píxeles (tb puede ser la imagen en sí) de una imagen anterior. Pues bien, los Bframes almacenan tb lo mismo, imagen en sí o vectores de desplazamiento, pero esta vez no solo de frames pasados, sino de frames futuros. Es decir, los vectores de predicción ahora no solo se basan en los frames pasados para establecer el frame actual, sino q tb se mira el frame q viene despues. Esto se traduce en q un bframe ocupa muy muy muy poco!! y en h264 ademas tb se pueden usar bframes para usarlos de referencia de otros bframes: Codifico un Iframe, despues n pframe basado en el iframe, despues un bframe basado en el pframe y en el pframe q hay dentro de dos frames más, despues otro bframe basado en el bframe anterior y en l bframe siguiente... Vamos, q se puede liar bien la cosa XD
----------------------------
Pues bueno, por desgracia, no podemos usar bframes . Es una pena, pq en escenas dnd hay mucho contenido estático, la compresión es muchísimo mayor. Por ejemplo anime!! en anime tan solo suele moverse el primer plano... en anime es facil ver cadenas de hasta 5 bframes consecutivos! por eso, una peli anime puede ocupar a lo mejor la mitad q una normal.
---------------------
Si, supongo q te refieres q con otros codec al maximizar a ventana se pixela mucho y esto no pasa con h264. Normalmente esto es gracias al debloking q tiene de serie h264 q es maravilloso. Puedes ver pelis a 320*240 a pantalla completa y lo verás bien.
----------------------------------
uff, HE-AAC... tengo q serte sincero y no lo he probado, pero no lo descartaría a la ligera. Seguramente aceptarlos los acepta y los reproduce, otra cosa es q la calidad del audio mejore. HE-AAC es util tan solo en bitrates bajos, para bitrates a partir de 96 la calidad de LC-AAC es mejor y gasta menos procesado = menos bateria. Supongo q sería complciado comprobar si el ipod touch es capaz de no slo reproducirlos, sino q realmente está haciendo uso de HE-AAC.
-------------------------
Las pruebas de compresión dejaron de ser útiles, sinceramente. En h264 te costumbrarás a hacer pequeños test, con lo q es muy util saber manejar avisynth y en especial el comando TRIM. Para analizar archivos de video hay muchas. La más famosa seguramente y gratuita es gspot. Si quieres algo un poco mejor te recomiendo avinaptic, una buena aplicacion libre q escapaz de darte infformación muy sabrosa, claro q la interfaz es tan solo regular:
http://fsinapsi.altervista.org/code/avi ... index.html
Y si puedes permitirte gastarte un pastizal, siempre puedes obtener StreamEye, de Elecard, muy buena app dnd las halla.