A method comprising: receiving an input video; and performing operations to reduce one or both of noise and flicker in the input video, wherein the operations comprise: using a current input frame and a past output frame, the past output frame having been output previously as a result of performing the operations; selecting an M 2 x 1 sub-frame z i from the current frame of the input video according to a pivot pixel and a plurality of sub-frame types, where M is an integer greater than zero; forming an M 2 x 1 best matching sub-frame z i from the past output frame; applying a pixel-adaptive warped spatial transform to transform the sub-frames z i and z i into a spatial transform domain, wherein the warped spatial transform is a spatial transform in which support of the transform basis is warped to match the shapes of the subframes z i and z i; deriving an adaptive threshold and thresholding spatial-transform coefficients of the sub-frames z i and z i, thereby obtaining the sets of coefficients a i and a i; transforming the sets of coefficients a i and a i using a temporal transform, thereby obtaining the temporal-transform coefficients b i; thresholding temporal-transform coefficients b i with a threshold to create threshold temporal-transformed coefficients c i; inverse temporal transforming the threshold temporal-transform coefficients c i, thereby obtaining the spatial-transform coefficients d i relative to sub-frame z i; applying the pixel adaptive inverse warped spatial transform to the spatial-transform coefficients d i to obtain a processed sub-frame; and combining the processed sub-frame with previously processed subframes belonging to current frame to create a new frame of an output video. receiving an input video; and performing operations to reduce one or both of noise and flicker in the input video, wherein the operations comprise: using a current input frame and a past output frame, the past output frame having been output previously as a result of performing the operations; selecting an M 2 x 1 sub-frame z i from the current frame of the input video according to a pivot pixel and a plurality of sub-frame types, where M is an integer greater than zero; forming an M 2 x 1 best matching sub-frame z i from the past output frame; applying a pixel-adaptive warped spatial transform to transform the sub-frames z i and z i into a spatial transform domain, wherein the warped spatial transform is a spatial transform in which support of the transform basis is warped to match the shapes of the subframes z i and z i; deriving an adaptive threshold and thresholding spatial-transform coefficients of the sub-frames z i and z i, thereby obtaining the sets of coefficients a i and a i; transforming the sets of coefficients a i and a i using a temporal transform, thereby obtaining the temporal-transform coefficients b i; thresholding temporal-transform coefficients b i with a threshold to create threshold temporal-transformed coefficients c i; inverse temporal transforming the threshold temporal-transform coefficients c i, thereby obtaining the spatial-transform coefficients d i relative to sub-frame z i; applying the pixel adaptive inverse warped spatial transform to the spatial-transform coefficients d i to obtain a processed sub-frame; and combining the processed sub-frame with previously processed subframes belonging to current frame to create a new frame of an output video. using a current input frame and a past output frame, the past output frame having been output previously as a result of performing the operations; selecting an M 2 x 1 sub-frame z i from the current frame of the input video according to a pivot pixel and a plurality of sub-frame types, where M is an integer greater than zero; forming an M 2 x 1 best matching sub-frame z i from the past output frame; applying a pixel-adaptive warped spatial transform to transform the sub-frames z i and z i into a spatial transform domain, wherein the warped spatial transform is a spatial transform in which support of the transform basis is warped to match the shapes of the subframes z i and z i; deriving an adaptive threshold and thresholding spatial-transform coefficients of the sub-frames z i and z i, thereby obtaining the sets of coefficients a i and a i; transforming the sets of coefficients a i and a i using a temporal transform, thereby obtaining the temporal-transform coefficients b i; thresholding temporal-transform coefficients b i with a threshold to create threshold temporal-transformed coefficients c i; inverse temporal transforming the threshold temporal-transform coefficients c i, thereby obtaining the spatial-transform coefficients d i relative to sub-frame z i; applying the pixel adaptive inverse warped spatial transform to the spatial-transform coefficients d i to obtain a processed sub-frame; and combining the processed sub-frame with previously processed subframes belonging to current frame to create a new frame of an output video.