diff options
| author | Julian Scheel <julian@jusst.de> | 2009-01-15 19:26:55 +0000 |
|---|---|---|
| committer | Julian Scheel <julian@jusst.de> | 2009-01-15 19:26:55 +0000 |
| commit | 4203256b53c19121243ef38d679471703b4433ac (patch) | |
| tree | b44cf583acee340b3c478d9519915f8429aa53b5 /src/libvdpau/nal.h | |
| parent | 1553b462393d3e20ed838d4326c9d62ca5317b1a (diff) | |
| download | xine-lib-4203256b53c19121243ef38d679471703b4433ac.tar.gz xine-lib-4203256b53c19121243ef38d679471703b4433ac.tar.bz2 | |
Properly parse scaling_lists (zigzag order, defaults)...
This fixed wrong colors/artefacts for several mkv samples.
Diffstat (limited to 'src/libvdpau/nal.h')
| -rw-r--r-- | src/libvdpau/nal.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/libvdpau/nal.h b/src/libvdpau/nal.h index ee5a4bb05..f892e1a3a 100644 --- a/src/libvdpau/nal.h +++ b/src/libvdpau/nal.h @@ -87,6 +87,32 @@ enum aspect_ratio ASPECT_EXTENDED_SAR=255 }; +static const uint8_t zigzag_4x4[16] = { + 0+0*4, 1+0*4, 0+1*4, 0+2*4, + 1+1*4, 2+0*4, 3+0*4, 2+1*4, + 1+2*4, 0+3*4, 1+3*4, 2+2*4, + 3+1*4, 3+2*4, 2+3*4, 3+3*4, +}; + +static const uint8_t zigzag_8x8[64] = { + 0+0*8, 1+0*8, 0+1*8, 0+2*8, + 1+1*8, 2+0*8, 3+0*8, 2+1*8, + 1+2*8, 0+3*8, 0+4*8, 1+3*8, + 2+2*8, 3+1*8, 4+0*8, 5+0*8, + 4+1*8, 3+2*8, 2+3*8, 1+4*8, + 0+5*8, 0+6*8, 1+5*8, 2+4*8, + 3+3*8, 4+2*8, 5+1*8, 6+0*8, + 7+0*8, 6+1*8, 5+2*8, 4+3*8, + 3+4*8, 2+5*8, 1+6*8, 0+7*8, + 1+7*8, 2+6*8, 3+5*8, 4+4*8, + 5+3*8, 6+2*8, 7+1*8, 7+2*8, + 6+3*8, 5+4*8, 4+5*8, 3+6*8, + 2+7*8, 3+7*8, 4+6*8, 5+5*8, + 6+4*8, 7+3*8, 7+4*8, 6+5*8, + 5+6*8, 4+7*8, 5+7*8, 6+6*8, + 7+5*8, 7+6*8, 6+7*8, 7+7*8, +}; + static inline uint32_t slice_type(uint32_t slice_type) { return (slice_type < 10 ? slice_type % 5 : slice_type); |
