[FFmpeg-devel] [PATCH v2 4/4] av1_parse: Don't reject zero-size padding OBUs

Mark Thompson sw at jkqxz.net
Wed Jan 25 00:46:23 EET 2023


Padding OBUs are not required to be nonempty.
---
 libavcodec/av1_parse.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/av1_parse.c b/libavcodec/av1_parse.c
index b1620eb043..e2f105a8e2 100644
--- a/libavcodec/av1_parse.c
+++ b/libavcodec/av1_parse.c
@@ -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;
         }
-- 
2.39.0



More information about the ffmpeg-devel mailing list