Video decoding hardware generation for each chipset:
| NV04 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NV04 | ||||||
| NV05 | ||||||
| NV10 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NV10 | ||||||
| NV11 | ||||||
| NV15 | ||||||
| NV17 | YES (v1) | |||||
| NV18 | YES (v1) | |||||
| NV1A | ||||||
| NV1F | YES (v1) | |||||
| NV20 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NV20 | ||||||
| NV25 | ||||||
| NV28 | ||||||
| NV2A | ||||||
| NV30 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NV30 | YES (v1) | |||||
| NV31 | YES (v2.0) | |||||
| NV34 | YES (v2.0) | |||||
| NV35 | YES (v1) | |||||
| NV36 | YES (v2.0) | |||||
| NV40 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NV40 | YES (v2.1) | |||||
| NV41 | YES (v2.1) | YES (VP1.0) | ||||
| NV42 | YES (v2.1) | YES (VP1.0) | ||||
| NV43 | YES (v2.1) | YES (VP1.0) | ||||
| NV44 | YES (v2.2) | YES (VP1.1) | ||||
| NV46 | YES (v2.2) | YES (VP1.1) | ||||
| NV47 | YES (v2.2) | YES (VP1.1) | ||||
| NV49 | YES (v2.2) | YES (VP1.1) | ||||
| NV4A | YES (v2.2) | YES (VP1.1) | ||||
| NV4B | YES (v2.2) | YES (VP1.1) | ||||
| NV4C | YES (v2.2) | YES (VP1.1) | ||||
| NV4E | YES (v2.2) | YES (VP1.1) | ||||
| NV63 | ||||||
| NV67 | ? | ? | ||||
| NV68 | ? | ? | ||||
| NV50 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NV50 | YES (v2.3) | YES (VP1.2) | ||||
| NV84 | YES (v2.3) | YES | ||||
| NV86 | YES (v2.3) | YES | ||||
| NV92 | YES (v2.3) | YES | ||||
| NV94 | YES (v2.3) | YES | ||||
| NV96 | YES (v2.3) | YES | ||||
| NV98 | YES (VP3) | |||||
| NVA0 | YES (v2.3) | YES | ||||
| NVA3 | YES (VP4.0) | |||||
| NVA5 | YES (VP4.0) | |||||
| NVA8 | YES (VP4.0) | |||||
| NVAA | YES (VP3) | |||||
| NVAC | YES (VP3) | |||||
| NVAF | YES (VP4.1) | |||||
| NVC0 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NVC0 | YES (VP4.2) | |||||
| NVC1 | YES (VP4.2) | |||||
| NVC3 | YES (VP4.2) | |||||
| NVC4 | YES (VP4.2) | |||||
| NVC8 | YES (VP4.2) | |||||
| NVCE | YES (VP4.2) | |||||
| NVCF | YES (VP4.2) | |||||
| NVD9 | YES (VP5) | |||||
| NVD7 | YES (VP5) | |||||
| NVE4 | VPE | VP1 | VP2 | VP3/VP4/VP5 | ||
| NVE4 | YES (VP5) | |||||
| NVE7 | YES (VP5) | |||||
| NVE6 | YES (VP5) | |||||
| NVF0 | YES (VP5) | |||||
Features supported by each hardware generation:
| hardware | MPEG1 | MPEG2 Main Profile | H.264 High Profile | VC-1 (all profiles) | MPEG 4 Advanced Simple Profile without GMC | other | |
|---|---|---|---|---|---|---|---|
| VPE v1 | MC, MC+IDCT [custom data format] | MC, MC+IDCT, MC+IDCT+IQ [custom data format] | none | ||||
| VPE v2 | MC, MC+IDCT [DXVA format] | none | |||||
| VP1 | MC+? | fully programmable vector processor | |||||
| VP2 | MC, MC+IDCT, MC+IDCT+IQ [DXVA format] | MC+IDCT+IQ [DXVA format], deblock [DXVA format], full bitstream decode | MC, MC+IDCT, MC+IDCT+IQ [DXVA format] | fully programmable vector processor | |||
| VP3 | full bitstream decode | MC+IDCT+IQ [custom data format] | none | ||||
| VP4 | full bitstream decode | none | |||||
| VP5 | full bitstream decode | none | |||||
The minor versions signify hardware changes not introducing any actual new functionality, like redesigning the memory access interface to match the rest of the GPU, etc.
And now status:
- VPE v1: already REd, not yet supported
- VPE v2: REd and supported by nouveau, though not on all possible cards yet
- VP1: early RE work in progress - watch it unfold on the RE blog. Microcode in an unknown ISA involved.
- VP2 H.264 bitstream engine: advanced RE work in progress, about 3/4 done. Microcode in 2 different ISAs involved.
- VP2 video processing engine: advanced RE work in progress, aboult half done. Microcode in 3 different ISAs is involved, 1 of them still unknown.
- VP3: RE work in progress, about half done. Microcode in 3 different ISAs involved, 1 of them semi-unknown
- VP4: is just VP3 with MPEG4 support, same status
- VP5: RE work not started. Seems to be the same design as VP3/VP4, but with the major video processor part replaced by something new