av1_parse: Don't reject zero-size padding OBUs

Padding OBUs are not required to be nonempty.
This commit is contained in:
Mark Thompson 2023-01-24 22:46:23 +00:00
parent 9c830f4f65
commit 8450531059

View File

@ -88,7 +88,9 @@ int ff_av1_packet_split(AV1Packet *pkt, const uint8_t *buf, int length, void *lo
obu->size_bits = get_obu_bit_length(obu->data, obu->size, obu->type);
if (obu->size_bits < 0 || (!obu->size_bits && obu->type != AV1_OBU_TEMPORAL_DELIMITER)) {
if (obu->size_bits < 0 ||
(obu->size_bits == 0 && (obu->type != AV1_OBU_TEMPORAL_DELIMITER &&
obu->type != AV1_OBU_PADDING))) {
av_log(logctx, AV_LOG_ERROR, "Invalid OBU of type %d, skipping.\n", obu->type);
continue;
}