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.