snow.txt File Reference

Functions

any process which generates a stream compliant to the syntactical and semantic requirements and which is decodable by the process described in this spec shall be considered a conformant Snow encoder but not strictly required ilog2 (x) is the rounded down logarithm of x with basis 2 ilog2(0)=0Type definitions
 
 if (!keyframe)
 
plane< 2;plane++){quant_table[plane][0][0] s header_state for(level=0;level< spatial_decomposition_count;level++){quant_table[plane][level][1]s header_state quant_table[plane][level][3]s header_state}}reset_contexts *_state[*]=MID_STATEprediction:for(y=0;y< block_count_vertical;y++) for(x=0;x< block_count_horizontal;x++) block(0) block(level):mvx_diff=mvy_diff=y_diff=cb_diff=cr_diff=0 if(keyframe){intra=1}else{if(level!=max_block_depth){s_context=2 *left-> level *top level topleft level topright level leaf b block_state[4+s_context] if (level==max_block_depth||leaf)
 

Variables

 though
 
any process which generates a stream compliant to the syntactical and semantic requirements and which is decodable by the process described in this spec shall be considered a conformant Snow encoder Definitions
 
spatial_decomposition_type s header_state qlog s header_state mv_scale s header_state qbias s header_state block_max_depth s header_state qlogs
 
 else
 
 state_transition_table [old_state]
 
FIXME Range Coding of integers
 
FIXME Range Coding of cb
 
FIXME Range Coding of cr are level
 
FIXME Range Coding of cr are ref
 
FIXME Range Coding of cr are mx and my are Motion Vector Prediction
 
FIXME Range Coding of cr are mx and my are Motion Vector top and top right vectors is used as motion vector prediction the used motion vector is the sum of the predictor and(mvx_diff, mvy_diff)*mv_scale Intra DC Predicton block[y][xdc [1] = block[y][x-1].dc[1] + cb_diff
 
Motion Compensation
 
vertical halfpel samples are found by H2 [y][x]
 
vertical horizontal halfpel samples are found by H3 [y][x]
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 Filter
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H0
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 L1
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H1
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 L2
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 L3
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 note
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 this can end with a L or a H
 
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 this can end with a L or a the number of elements shall be w s[-1] shall be considered equivalent to s[1] s[w] shall be considered equivalent to s[w-2] perform the lifting steps in order as described below Integer filter
 
for all even i< w2.s[i]+=(s[i-1]+s[i+1])>
 
for all odd i< w\|/|\|/|\|/|\|/|\|/|\|/|\|/|\|/|+|+|+|+|-1/4/|\|/|\|/|\|/|\|/|\|/|\|/|\|/|\|/|+|+|+|++1/2Snow's 9/7 Integer filter:1.s[i]-=(3 *(s[i-1]+s[i+1])+4)>
 
for all even i< w2.s[i]-=s[i-1]+s[i+1];for all oddi< w3.s[i]+=(s[i-1]+s[i+1]+4 *s[i]+8)> >
 
for all even i< w4.s[i]+=(3 *(s[i-1]+s[i+1]))>
 

Function Documentation

if ( keyframe)

Definition at line 59 of file snow.txt.

plane<2; plane++){ quant_table[plane][0][0] s header_state for(level=0; level < spatial_decomposition_count; level++){ quant_table[plane][level][1]s header_state quant_table[plane][level][3]s header_state } }reset_contexts *_state[*]= MID_STATEprediction: for(y=0; y<block_count_vertical; y++) for(x=0; x<block_count_horizontal; x++) block(0)block(level): mvx_diff=mvy_diff=y_diff=cb_diff=cr_diff=0 if(keyframe){ intra=1 }else{ if(level!=max_block_depth){ s_context= 2*left-> level* top level topleft level topright level leaf b block_state [4 + s_context] if ( level  = =max_block_depth || leaf)

Definition at line 108 of file snow.txt.

any process which generates a stream compliant to the syntactical and semantic requirements and which is decodable by the process described in this spec shall be considered a conformant Snow encoder but not strictly required ilog2 ( x  )
pure virtual

Definition at line 23 of file snow.txt.

Referenced by if().

Variable Documentation

Motion Compensation

Definition at line 410 of file snow.txt.

any process which generates a stream compliant to the syntactical and semantic requirements and which is decodable by the process described in this spec shall be considered a conformant Snow encoder Definitions

Definition at line 1 of file snow.txt.

else

Definition at line 123 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 Filter

Definition at line 546 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 this can end with a L or a the number of elements shall be w s [-1] shall be considered equivalent to s [1 ] s [w ] shall be considered equivalent to s [w-2] perform the lifting steps in order as described below Integer filter

Definition at line 546 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 this can end with a L or a H

Definition at line 546 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H0

Definition at line 546 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H1

Definition at line 546 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H2
Initial value:
= hcoeff[0]*(F[y ][x] + F[y+1][x])
+ hcoeff[1]*(F[y-1][x] + F[y+2][x])
+ ...
h2[y][x] = (H2[y][x] + 32)>>6
vertical halfpel samples are found by H2[y][x]
Definition: snow.txt:413
Discrete Time axis x
#define F
Definition: af_aformat.c:50
function y
Definition: D.m:1

Definition at line 413 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H3
Initial value:
= hcoeff[0]*(H2[y][x ] + H2[y][x+1])
+ hcoeff[1]*(H2[y][x-1] + H2[y][x+2])
+ ...
H3[y][x] = hcoeff[0]*(H1[y ][x] + H1[y+1][x])
+ hcoeff[1]*(H1[y+1][x] + H1[y+2][x])
+ ...
h3[y][x] = (H3[y][x] + 2048)>>12
vertical halfpel samples are found by H2[y][x]
Definition: snow.txt:413
vertical horizontal halfpel samples are found by H3[y][x]
Definition: snow.txt:419
Discrete Time axis x
function y
Definition: D.m:1
F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2^^^F-------F-------F-> H1<-F-------F-------F|||||||||F H1 F|||||||||F H1 Funavailable fullpel samples(outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically, horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v\/v\/v O O O O O O O|/|\|q q q q q|/|\|O O O O O O O^/\^/\^h2--> O q O<--h3-> O q O<--h2 v\/v\/v O O O O O O O|\|/|q q q q q|\|/|O O O O O O O^/\^/\^F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0.To reverse this prediction in the decoder apply the following.for(y=0;y< height;y++){for(x=0;x< width;x++){sample[y][x]+=median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]);}}sample[-1][*]=sample[*][-1]=0;width, height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT(inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one.------------------------------------------------------------|LL0|HL0|||||||||||||---+---|HL1||L0|H0|HL1||LL1|HL1|||||LH0|HH0|||||||||||||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 H1
Definition: snow.txt:546

Definition at line 419 of file snow.txt.

for all even i< w2.s[i]+=(s[i-1]+s[i+1])>

Definition at line 555 of file snow.txt.

for all even i< w2.s[i]-=s[i-1]+s[i+1];for all oddi< w3.s[i]+=(s[i-1]+s[i+1]+4 *s[i]+8)> >

Definition at line 568 of file snow.txt.

for all even i< w4.s[i]+=(3 *(s[i-1]+s[i+1]))>

Definition at line 569 of file snow.txt.

for all odd i< w\|/|\|/|\|/|\|/|\|/|\|/|\|/|\|/|+|+|+|+|-1/4/|\|/|\|/|\|/|\|/|\|/|\|/|\|/|\|/|+|+|+|++1/2Snow's 9/7 Integer filter:1.s[i]-=(3 *(s[i-1]+s[i+1])+4)>

Definition at line 566 of file snow.txt.

FIXME Range Coding of integers

Definition at line 367 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 L1

Definition at line 546 of file snow.txt.

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 L2

Definition at line 546 of file snow.txt.

Referenced by wv_unpack_stereo().

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 L3

Definition at line 546 of file snow.txt.

FIXME Range Coding of cr are level

Definition at line 367 of file snow.txt.

Referenced by adpcm_decode_frame(), ass_log(), av_log_set_level(), av_pkt_dump2(), bit8x8_c(), calculate_visual_weight(), clip_coeffs(), dct_quantize(), dct_quantize_refine(), dct_quantize_trellis_c(), dct_single_coeff_elimination(), dct_unquantize_h263_altivec(), dct_unquantize_h263_inter_c(), dct_unquantize_h263_intra_armv5te(), dct_unquantize_h263_intra_c(), dct_unquantize_mpeg1_inter_c(), dct_unquantize_mpeg1_intra_c(), dct_unquantize_mpeg2_inter_c(), dct_unquantize_mpeg2_intra_bitexact(), dct_unquantize_mpeg2_intra_c(), decide_ac_pred(), decode_ac_coeffs(), decode_block(), decode_block_intra(), decode_block_progressive(), decode_coeffs(), decode_frame(), decode_gain_control(), decode_i_block(), decode_q_branch(), decode_qlogs(), decode_residual(), decode_residual_block(), denoise_dct_c(), dnxhd_10bit_dct_quantize(), dnxhd_calc_ac_bits(), dnxhd_decode_dct_block(), dnxhd_init_vlc(), dnxhd_unquantize_c(), dump_enc_cfg(), dv_decode_ac(), dv_init_enc_block(), ebml_level_end(), ebml_read_master(), encode_ac_coeffs(), encode_acs(), encode_block(), encode_frame(), encode_q_branch(), encode_q_branch2(), encode_qlogs(), estimate_acs(), eval_expr(), ff_dct_quantize_c(), ff_dvvideo_init(), ff_h263_encode_mb(), ff_init_rl(), ff_init_vlc_rl(), ff_mpeg4_pred_dc(), ff_msmpeg4_decode_block(), ff_msmpeg4_encode_block(), ff_msmpeg4_encode_init(), ff_snow_common_end(), ff_snow_common_init_after_header(), ff_snow_reset_contexts(), ff_spatial_dwt(), ff_spatial_idwt_buffered_init(), ff_spatial_idwt_buffered_slice(), ff_spatial_idwt_init(), ff_spatial_idwt_init2(), ff_spatial_idwt_slice(), ff_spatial_idwt_slice2(), ff_wma_run_level_decode(), find_best_tables(), flac_encode_init(), get_block_rate(), get_size_of_code(), guess_palette(), h261_decode_block(), h261_encode_block(), h263_decode_block(), h263_encode_block(), handle_invoke_error(), imc_decode_level_coefficients(), init_2d_vlc_rl(), init_coef_vlc(), init_h263_dc_for_msmpeg4(), init_quantized_coeffs_elem0(), init_uni_ac_vlc(), init_uni_dc_tab(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), intlist_read(), main(), matroska_parse_seekhead_entry(), mdec_decode_block_intra(), mov_write_dvc1_structs(), mpeg1_decode_block_inter(), mpeg1_decode_block_intra(), mpeg1_encode_block(), mpeg1_fast_decode_block_inter(), mpeg2_decode_block_intra(), mpeg2_decode_block_non_intra(), mpeg2_fast_decode_block_intra(), mpeg2_fast_decode_block_non_intra(), mpeg4_decode_block(), mpeg4_decode_dc(), mpeg4_encode_block(), mpeg4_encode_dc(), mpeg4_get_block_length(), msmpeg4_decode_dc(), msmpeg4_encode_dc(), opt_loglevel(), process_subpacket_9(), put_bits_left(), qdm2_fft_generate_tone(), qdm2_fft_tone_synthesizer(), ratecontrol_1pass(), rd8x8_c(), rtmp_open(), spatial_compose_daub97i_dy(), spatial_compose_dd137i_dy(), spatial_compose_dd97i_dy(), spatial_compose_dirac53i_dy(), spatial_compose_fidelity(), spatial_compose_haari_dy(), svq1_decode_block_intra(), svq1_decode_block_non_intra(), svq1_encode_plane(), tgq_dconly(), udp_set_multicast_sources(), vc1_decode_ac_coeff(), w_c(), and x8_decode_intra_mb().

F H1 F F H1 F F F F H1<-F-------F-------F v v v H2 H3 H2 ^ ^ ^ F-------F-------F-> H1<-F-------F-------F | | | | | | | | | F H1 F | | | | | | | | | F H1 Funavailable fullpel samples (outside the picture for example) shall be equalto the closest available fullpel sampleSmaller pel interpolation:--------------------------if diag_mc is set then points which lie on a line between 2 vertically,horiziontally or diagonally adjacent halfpel points shall be interpolatedlinearls with rounding to nearest and halfway values rounded up.points which lie on 2 diagonals at the same time should only use the onediagonal not containing the fullpel point F--> O q O<--h1-> O q O<--F v \ / v \ / v O O O O O O O | / | \ | q q q q q | / | \ | O O O O O O O ^ / \ ^ / \ ^ h2--> O q O<--h3-> O q O<--h2 v \ / v \ / v O O O O O O O | \ | / | q q q q q | \ | / | O O O O O O O ^ / \ ^ / \ ^ F--> O q O<--h1-> O q O<--Fthe remaining points shall be bilinearly interpolated from theup to 4 surrounding halfpel and fullpel points, again rounding should be tonearest and halfway values rounded upcompliant Snow decoders MUST support 1-1/8 pel luma and 1/2-1/16 pel chromainterpolation at leastOverlapped block motion compensation:-------------------------------------FIXMELL band prediction:===================Each sample in the LL0 subband is predicted by the median of the left, top andleft+top-topleft samples, samples outside the subband shall be considered tobe 0. To reverse this prediction in the decoder apply the following.for(y=0; y<height; y++){ for(x=0; x<width; x++){ sample[y][x] += median(sample[y-1][x], sample[y][x-1], sample[y-1][x]+sample[y][x-1]-sample[y-1][x-1]); }}sample[-1][*]=sample[*][-1]= 0;width,height here are the width and height of the LL0 subband not of the finalvideoDequantizaton:==============FIXMEWavelet Transform:==================Snow supports 2 wavelet transforms, the symmetric biorthogonal 5/3 integertransform and a integer approximation of the symmetric biorthogonal 9/7daubechies wavelet.2D IDWT (inverse discrete wavelet transform)--------------------------------------------The 2D IDWT applies a 2D filter recursively, each time combining the4 lowest frequency subbands into a single subband until only 1 subbandremains.The 2D filter is done by first applying a 1D filter in the vertical directionand then applying it in the horizontal one. --------------- --------------- --------------- ---------------|LL0|HL0| | | | | | | | | | | ||---+---| HL1 | | L0|H0 | HL1 | | LL1 | HL1 | | | ||LH0|HH0| | | | | | | | | | | ||-------+-------|-> L1 H1 LH1 HH1 LH1 HH1 LH1 HH1 note

Definition at line 546 of file snow.txt.

FIXME Range Coding of cr are mx and my are Motion Vector Prediction

Definition at line 367 of file snow.txt.

spatial_decomposition_type s header_state qlog s header_state mv_scale s header_state qbias s header_state block_max_depth s header_state qlogs

Definition at line 83 of file snow.txt.

Referenced by if(), and ilog2().

state_transition_table
Initial value:
= {
0, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 190, 191, 192, 194, 194,
195, 196, 197, 198, 199, 200, 201, 202, 202, 204, 205, 206, 207, 208, 209, 209,
210, 211, 212, 213, 215, 215, 216, 217, 218, 219, 220, 220, 222, 223, 224, 225,
226, 227, 227, 229, 229, 230, 231, 232, 234, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 248, 0, 0, 0, 0, 0, 0, 0}

Definition at line 326 of file snow.txt.

though

Definition at line 1 of file snow.txt.