Skip to content

HVC1 Packetizer does not drain

Extracted from packetizer/hevc.c:

/****************************************************************************
 * Packetize
 ****************************************************************************/
static block_t *PacketizeHVC1(decoder_t *p_dec, block_t **pp_block)
{
    decoder_sys_t *p_sys = p_dec->p_sys;

    return PacketizeXXC1( p_dec, p_sys->i_nal_length_size,
                          pp_block, ParseNALBlock );
}

static block_t *PacketizeAnnexB(decoder_t *p_dec, block_t **pp_block)
{
    decoder_sys_t *p_sys = p_dec->p_sys;

    return packetizer_Packetize(&p_sys->packetizer, pp_block);
}

The HVC1 packetizing does not use packetizer_Packetize which handle draining on a NULL input block. This results in non-annexB streams losing a frame or two.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information