]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/h264.h
avfilter/af_sidechaincompress: Also assert that i < 2
[ffmpeg] / libavcodec / h264.h
index edecc4bfabbfd94df9e8a02a9684c392eaae781a..73562882cdbf8c3604596b4d6fafaf63a1c1c23b 100644 (file)
@@ -746,6 +746,8 @@ typedef struct H264Context {
      */
     int sei_reguserdata_afd_present;
     uint8_t active_format_description;
+    int a53_caption_size;
+    uint8_t *a53_caption;
 
     /**
      * Bit set of clock types for fields/frames in picture timing SEI message.
@@ -805,7 +807,6 @@ typedef struct H264Context {
 
     int missing_fields;
 
-
 /* for frame threading, this is set to 1
      * after finish_setup() has been called, so we cannot modify
      * some context properties (which are supposed to stay constant between
@@ -1190,15 +1191,17 @@ static inline int get_avc_nalsize(H264Context *h, const uint8_t *buf,
 {
     int i, nalsize = 0;
 
-    if (*buf_index >= buf_size - h->nal_length_size)
-        return -1;
+    if (*buf_index >= buf_size - h->nal_length_size) {
+        // the end of the buffer is reached, refill it.
+        return AVERROR(EAGAIN);
+    }
 
     for (i = 0; i < h->nal_length_size; i++)
         nalsize = ((unsigned)nalsize << 8) | buf[(*buf_index)++];
     if (nalsize <= 0 || nalsize > buf_size - *buf_index) {
         av_log(h->avctx, AV_LOG_ERROR,
                "AVC: nal size %d\n", nalsize);
-        return -1;
+        return AVERROR_INVALIDDATA;
     }
     return nalsize;
 }