FFmpeg
|
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][x] | dc [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
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 | ) |
Variable Documentation
FIXME Range Coding of cb |
Definition at line 367 of file snow.txt.
Referenced by av_lockmgr_register(), blend_subrect(), codebook_trellis_rate(), config_output(), create_vorbis_context(), decode_frame(), decode_lsp(), decode_q_branch(), dvbsub_parse_clut_segment(), encode_q_branch(), encode_window_bands_info(), escape130_decode_frame(), fill_gv_table(), fill_table(), filter_frame(), find_best_vect(), find_min_book(), idct_put(), parse_palette_segment(), pgmyuv_save(), quantize_and_encode_band_cost_template(), ready_residue(), search_for_quantizers_anmr(), search_for_quantizers_twoloop(), set_blocks(), snow_set_blocks(), unpack_codebook(), vcr1_decode_frame(), vorbis_parse_setup_hdr_codebooks(), and yuv_a_to_rgba().
Definition at line 392 of file snow.txt.
Referenced by data_close(), data_open(), data_read(), dct_quantize_bfin(), dct_quantize_refine(), dct_quantize_trellis_c(), decode_dct(), draw_basis(), dv_decode_video_segment(), encode_block(), encode_dcs(), encode_thread(), estimate_dcs(), ff_er_frame_end(), ff_h264_idct8_dc_add(), ff_h264_idct_dc_add(), ff_metadata_conv(), filter(), filter181(), get_block(), h264_idct_dc_add_internal(), interpol(), ljpeg_decode_rgb_scan(), ljpeg_decode_yuv_scan(), mcdc(), mpeg1_decode_block_intra(), mpeg1_encode_block(), mpeg2_decode_block_intra(), mpeg2_fast_decode_block_intra(), mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), mss4_decode_dct(), pred16x16_dc(), pred16x16_left_dc(), pred16x16_top_dc(), pred4x4_dc(), pred4x4_left_dc(), pred4x4_top_dc(), pred8x8l_dc(), pred8x8l_left_dc(), pred8x8l_top_dc(), put_dc(), rv34_decode_inter_macroblock(), rv34_inv_transform_dc_noround_c(), rv34_output_i16x16(), tgq_decode_mb(), tscc2_decode_mb(), vc1_inv_trans_4x4_dc_c(), vc1_inv_trans_4x8_dc_c(), vc1_inv_trans_8x4_dc_c(), vc1_inv_trans_8x8_dc_c(), vp3_idct_dc_add_c(), vp56_add_predictors_dc(), and vp8_idct_dc_add_c().
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 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 |
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 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 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 H2 |
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 |
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 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 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 367 of file snow.txt.
Referenced by add_interval(), av_blowfish_crypt(), av_buffer_create(), av_xtea_crypt(), avfilter_ref_buffer(), await_references(), bink_decode_plane(), binkb_decode_plane(), check_4block_inter(), cmp_direct_inline(), cmp_inline(), copy_packet_data(), dct_error(), DECLARE_ALIGNED(), decode_cabac_mb_ref(), decode_cell_data(), decode_group3_2d_line(), decode_mb_p(), decode_q_branch(), dirac_unpack_prediction_parameters(), encode_q_branch(), ff_cavs_mv(), ff_ccitt_unpack(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_ref_pic_list_reordering(), ff_lpc_calc_coefs(), fill_decode_caches(), gif_image_write_image(), global_mv(), guess_mv(), h263_mv4_search(), hl_decode_mb(), hl_decode_mb_444(), if(), inter_predict(), interlaced_search(), iterative_me(), mc_part_std(), mc_subpel(), mpeg1_decode_picture(), pred_block_dc(), pred_block_mode(), pred_motion(), pred_mv(), pred_pskip_motion(), pred_spatial_direct_motion(), pred_temp_direct_motion(), prefetch_motion(), set_mvs(), svq1_encode_plane(), tempNoiseReducer(), vdpau_mpeg4_start_frame(), vdpau_mpeg_start_frame(), and vdpau_vc1_start_frame().
state_transition_table |
Generated on Fri Dec 20 2024 06:56:15 for FFmpeg by 1.8.11