﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
294	ALF disabling at slice and tile boundaries not working	jsauer		"ALF is performed across tile or slice boundaries even when loop filtering across tile or slice boundaries is disabled. 

to reproduce:
{{{
# ALF on, two slice columns, no LF across slice boundaries
bin/EncoderAppStatic -c cfg/encoder_randomaccess_vtm.cfg --OutputBitDepth=10 --OutputBitDepthC=10  --FramesToBeEncoded=10 --IntraPeriod=32 --Level=5.2 --QP=37 --FrameRate=30 --SourceHeight=768 --SourceWidth=512 --InputFile=Landing2_512x768_30Hz_10b_420.yuv --BitstreamFile=Landing2_512x768_QP37_noLFCrossSlices.vvc --ReconFile=Landing2_512x768_QP37_rec_enc_noLFCrossSlices.yuv  --InputBitDepth=10 --InputChromaFormat=420 --SEIDecodedPictureHash=1 --TileUniformSpacing=1 --NumTileColumnsMinus1=1 --NumTileRowsMinus1=0 --SliceMode=3 --SliceArgument=1    --LFCrossSliceBoundaryFlag=0  --LFCrossTileBoundaryFlag=1 --LoopFilterDisable=1 --SAO=0 --ALF=1

# ALF on, two slice columns,  LF across slice boundaries on
bin/EncoderAppStatic -c cfg/encoder_randomaccess_vtm.cfg --OutputBitDepth=10 --OutputBitDepthC=10  --FramesToBeEncoded=10 --IntraPeriod=32 --Level=5.2 --QP=37 --FrameRate=30 --SourceHeight=768 --SourceWidth=512 --InputFile=Landing2_512x768_30Hz_10b_420.yuv --BitstreamFile=Landing2_512x768_QP37_withLFCrossSlices.vvc --ReconFile=Landing2_512x768_QP37_rec_enc_withLFCrossSlices.yuv  --InputBitDepth=10 --InputChromaFormat=420 --SEIDecodedPictureHash=1 --TileUniformSpacing=1 --NumTileColumnsMinus1=1 --NumTileRowsMinus1=0 --SliceMode=3 --SliceArgument=1    --LFCrossSliceBoundaryFlag=1  --LFCrossTileBoundaryFlag=1 --LoopFilterDisable=1 --SAO=0 --ALF=1

# all LF on, two slice columns, no LF across slice boundaries
bin/EncoderAppStatic -c cfg/encoder_randomaccess_vtm.cfg --OutputBitDepth=10 --OutputBitDepthC=10  --FramesToBeEncoded=10 --IntraPeriod=32 --Level=5.2 --QP=37 --FrameRate=30 --SourceHeight=768 --SourceWidth=512 --InputFile=Landing2_512x768_30Hz_10b_420.yuv --BitstreamFile=Landing2_512x768_QP37_noLFCrossSlicesAllLF.vvc --ReconFile=Landing2_512x768_QP37_rec_enc_noLFCrossSlicesAllLF.yuv  --InputBitDepth=10 --InputChromaFormat=420 --SEIDecodedPictureHash=1 --TileUniformSpacing=1 --NumTileColumnsMinus1=1 --NumTileRowsMinus1=0 --SliceMode=3 --SliceArgument=1    --LFCrossSliceBoundaryFlag=0  --LFCrossTileBoundaryFlag=1 

# all  on, two slice columns,  LF across slice boundaries on
bin/EncoderAppStatic -c cfg/encoder_randomaccess_vtm.cfg --OutputBitDepth=10 --OutputBitDepthC=10  --FramesToBeEncoded=10 --IntraPeriod=32 --Level=5.2 --QP=37 --FrameRate=30 --SourceHeight=768 --SourceWidth=512 --InputFile=Landing2_512x768_30Hz_10b_420.yuv --BitstreamFile=Landing2_512x768_QP37_withLFCrossSlicesAllLF.vvc --ReconFile=Landing2_512x768_QP37_rec_enc_withLFCrossSlicesAllLF.yuv  --InputBitDepth=10 --InputChromaFormat=420 --SEIDecodedPictureHash=1 --TileUniformSpacing=1 --NumTileColumnsMinus1=1 --NumTileRowsMinus1=0 --SliceMode=3 --SliceArgument=1    --LFCrossSliceBoundaryFlag=1  --LFCrossTileBoundaryFlag=1 
}}}

I used the master branch (commit 988c22cbb9c58584cac3ef0ec7794cafbea6dfd6), but disabled  JVET_N0857_TILES_BRICKS since I did not figure out yet how to configure slices when it is on. 
When ALF is the only enabled loop filter, the output is the same (first two calls), but should be different.
When all LFs are enabled (second two calls) the difference can be clearly seen at the slice boundary

I attached the tiny test sequence I used. The configuration above splits the sequence in two columns, each of which is in a separate slice.

I also could not find the description of disabling ALF at slice or tile boundaries in the VVC Draft."	defect	new	minor		VTM	VTM-5.0			ksuehring XiangLi fbossen jvet@…
