Mostly, the MAC control header for contention resolution is of 56-bits(1-byte for DL contention resolution ID+6-bytes for subPdu len of UE-contention resolution id). Please find the below details for your reference.
Source = \Protocol\3GPP\LTE\MAC\Entity Id 17
Destination = \Protocol\3GPP\LTE\PHY\Entity Id 2
Transport Blocks
Transport Block 1 (Codeword 0) Len = 7 =
MAC subheader 1, type: MCE (DL CONTENTION RESOLUTION ID), sub-header length: 1 =
LCID = 28 (DL CONTENTION RESOLUTION ID)
E = 0
R = 0
SubPdu Len = 6
UE Contention Resolution ID = 5E,0E,95,0C,02,C6
Secondly, when does this header if of more than 56-bits as below. 56-bits for contention resolution and 16-bits for padding. Why does the TB1 size is changed?
Source = \Protocol\3GPP\LTE\MAC\Entity Id 17
Destination = \Protocol\3GPP\LTE\PHY\Entity Id 2
Transport Blocks
Transport Block 1 (Codeword 0) Len = 15 =
MAC subheader 1, type: MCE (DL CONTENTION RESOLUTION ID), sub-header length: 1 =
LCID = 28 (DL CONTENTION RESOLUTION ID)
E = 1
R = 0
SubPdu Len = 6
UE Contention Resolution ID = 40,10,00,00,00,16
MAC subheader 2, type: Padding, sub-header length: 1 =
LCID = 31
E = 0
R = 0