A decoding method, wherein the method comprises: parsing a bitstream to obtain a syntax element, wherein the syntax element comprises an index of optimal candidate motion information of a current block and an identifier; determining, based on the identifier, to construct a first list or a second list for the current block, wherein the first list is a block-based candidate motion information list, and the second list is a subblock-based candidate motion information list, wherein the block is the current block and the subblock is a subblock of the current block, the block-based candidate motion information list includes at least one of motion information of a spatially neighboring coded block of the current block or motion information of a temporally neighboring coded block of the current block, and the subblock-based candidate motion information list includes a candidate motion information list that is constructed in affine model merge mode, AMM, or in complex merge mode, or only in advanced temporal motion vector prediction, ATMVP, or in a plurality of different modes, and when the identifier is a first feature value, it indicates to construct the first list for the current block, or when the identifier is a second feature value, it indicates to construct the second list for the current block, wherein the plurality of different modes are any combinations of the three modes of the AMM, the complex merge mode, and the ATMVP; wherein the AMM is realized by traversing neighboring coded blocks of the current block to find an affine coded block, and motion information of a control point of the affined coded block is obtained, and motion information of the upper-left vertex and the upper-right vertex of the current coding block is derived, wherein the complex merge mode is realized by obtaining motion information of each control point through derivation and combining the motion information of control points to obtain non-translational motion information; determining optimal motion information from the first list or the second list based on the index; and predicting the current block based on the optimal motion information. parsing a bitstream to obtain a syntax element, wherein the syntax element comprises an index of optimal candidate motion information of a current block and an identifier; determining, based on the identifier, to construct a first list or a second list for the current block, wherein the first list is a block-based candidate motion information list, and the second list is a subblock-based candidate motion information list, wherein the block is the current block and the subblock is a subblock of the current block, the block-based candidate motion information list includes at least one of motion information of a spatially neighboring coded block of the current block or motion information of a temporally neighboring coded block of the current block, and the subblock-based candidate motion information list includes a candidate motion information list that is constructed in affine model merge mode, AMM, or in complex merge mode, or only in advanced temporal motion vector prediction, ATMVP, or in a plurality of different modes, and when the identifier is a first feature value, it indicates to construct the first list for the current block, or when the identifier is a second feature value, it indicates to construct the second list for the current block, wherein the plurality of different modes are any combinations of the three modes of the AMM, the complex merge mode, and the ATMVP; wherein the AMM is realized by traversing neighboring coded blocks of the current block to find an affine coded block, and motion information of a control point of the affined coded block is obtained, and motion information of the upper-left vertex and the upper-right vertex of the current coding block is derived, wherein the complex merge mode is realized by obtaining motion information of each control point through derivation and combining the motion information of control points to obtain non-translational motion information; determining optimal motion information from the first list or the second list based on the index; and predicting the current block based on the optimal motion information.