Подписывайтесь на списки рассылки (линки были), спрашивайте непосредственно авторов, либо там, либо персонально по емылу.
Они, в общем-то, адекватно реагируют и на вопросы отвечают.
Еще Вам понадобится знание алгоритмов кодирования видео в MPEG. Хотя бы для того, чтобы предметно вопросы задавать.
Я совсем недавно наткнулся на внятное описание, да еще и на русском языке, основ DVB, тfм про кодирование тоже есть.
Дарю:
http://dil.livejournal.com/tag/dvbТам же можно найти где скачать текст стандарта ISO 13818 и его продолжения.
Еще есть книга "Video Demystified"
Где-то я скачивал книжку "Efficient Algorithms for MPEG video comression".
В серии "Мир цифровой обработки" вышел перевод книги Я. Ричардсона "Видеокодирование H264 и MPEG-4 - стандарты нового поколения".
Последнюю можно купить, а можно найти сосканированную в сети.
Пользователь решил продолжить мысль 18 Сентября 2009, 12:52:50:
А я вообще не представляю где эту инфу искать.
Скачиваем исходники и роемся там.
avcodec.h:
/**\
* mbskip_table[mb]>=1 if MB didn't change\
* stride= mb_width = (width+15)>>4\
* - encoding: unused\
* - decoding: Set by libavcodec.\
*/\
uint8_t *mbskip_table;\
\
/**\
* motion vector table\
* @code\
* example:\
* int mv_sample_log2= 4 - motion_subsample_log2;\
* int mb_width= (width+15)>>4;\
* int mv_stride= (mb_width << mv_sample_log2) + 1;\
* motion_val[direction][x + y*mv_stride][0->mv_x, 1->mv_y];\
* @endcode\
* - encoding: Set by user.\
* - decoding: Set by libavcodec.\
*/\
int16_t (*motion_val[2])[2];\
\
/**\
* macroblock type table\
* mb_type_base + mb_width + 2\
* - encoding: Set by user.\
* - decoding: Set by libavcodec.\
*/\
uint32_t *mb_type;\
\
/**\
* log2 of the size of the block which a single vector in motion_val represents: \
* (4->16x16, 3->8x8, 2-> 4x4, 1-> 2x2)\
* - encoding: unused\
* - decoding: Set by libavcodec.\
*/\
uint8_t motion_subsample_log2;\
Да, с AVFrame авторы что-то погорячились... Вынесли собственно тело структуры в отдельный #define, в результате DoxyGen повыкидывал все комментарии.