vismv options
Não há números a serem passados para -vismv como argumentos. Apenas estes são suportados:
-
pf- MVs de previsão antecipada de frames P -
bf- MVs de previsão antecipada de quadros B -
bb- MVs atrasados de quadros B
Suponho que, se você usar inteiros, eles serão mapeados para 1, 2 e 3, respectivamente.
vis_mb_type
Analisei o código e encontrei a parte correspondente em mpegvideo.c , a partir da linha 2029. Ela converte os valores COLOR(theta, r) em valores U e V em um Espaço de cor YUV usando a seguinte função:
#define COLOR(theta, r) \
u = (int)(128 + r * cos(theta * 3.141592 / 180)); \
v = (int)(128 + r * sin(theta * 3.141592 / 180));
Aqui estão os valores das cores por tipo de macrobloco, incluindo seus valores UV e a cor RGB correspondente em Y = 128 .
-

COLOR(120,48),UV(104,169.57),RGB(184,107,86)
Condição:IS_PCM(==MB_TYPE_INTRA_PCM)
COLOR(30, 48), UV(169.57, 152), RGB(160, 97, 200)
Condição:IS_INTRA && IS_ACPRED) || IS_INTRA16x16-

COLOR(90,48),UV(128,176),RGB(193,94,128)
Condição:IS_INTRA4x4
COLOR(150, 48), UV(86.43, 152), RGB(160, 125, 55)
Condição:IS_DIRECT-

COLOR(170,48),UV(80.73,136.34),RGB(139,138,46)
Condição:IS_GMC&&IS_SKIP
COLOR(190, 48), UV(80.73, 119.66), RGB(116, 149, 46)
Condição:IS_GMC-

COLOR(240,48),UV(104,86.43),RGB(71,165,86)
Condição:!USES_LIST(mb_type,1))
COLOR(0, 48), UV(176, 128), RGB(128, 111, 211)
Condição:!USES_LIST(mb_type, 0))-

COLOR(300,48),UV(152,86.43),RGB(71,148,169)
Condição:USES_LIST(mb_type,0)&&USES_LIST(mb_type,1))-esteéumassert,portantopodeounãoabortaraexecuçãodoprogramaquandoaasserçãofalhar.
Eunãotesteiisso,masparececertoparamim.InformaçõessobreoscomutadoresdedepuraçãoecoresdomacroblocotambémsãoexplicadasnowikidoFFmpeg.