Legend:

MPEG videos use various macroblock types, depending on whether they are intra- or inter-predicted and what specific prediction type or partitioning is used. In order to show them, you need to specify the `-debug vis_mb_type` option. For example:

Note that the decoding of macroblock types is MPEG-specific, so this option will not work for VP8 video, for example.

30

If none matches, the macroblock will be rendered as grey. Note that the decoding of macroblock types is MPEG-specific, so this option will not work for VP8 video, for example.

31

32

== Analyzing QP Values ==

33

34

The QP (quantization parameter) of a macroblock is a main factor in controlling the quality. Lower QPs result in higher quality and are tinted greener using this filter. Use the `-vis_qp` option to show the macroblock QPs:

35

36

{{{

37

ffplay -debug vis_qp input.mp4

38

ffmpeg -debug vis_qp -i input.mp4 output.mp4

39

}}}

40

41

For example:

42

43

[[Image(visqp.png)]]

31

44

32

45

== Analyzing Motion Vectors ==

33

46

34

The `-vismv` option can be used to show motion vectors as small arrows for each macroblock. It takes one parameter, which specifies the type of motion vector to be drawn:

47

The [http://ffmpeg.org/ffmpeg-all.html#codecview `codecview` filter] can be used to show motion vectors as small arrows for each macroblock. It takes one option called `mv`, which specifies the type of motion vector to be drawn: