]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/cbs_av1.h
avcodec/mss4: Check input size against skip bits
[ffmpeg] / libavcodec / cbs_av1.h
index 71ceff9427354910ed4d8245979ef084064650d8..1fb668ada48d2a0c526a5d5ba6ef3b756d049e9b 100644 (file)
@@ -325,7 +325,20 @@ typedef struct AV1RawMetadataHDRMDCV {
 
 typedef struct AV1RawMetadataScalability {
     uint8_t scalability_mode_idc;
-    // TODO: more stuff.
+    uint8_t spatial_layers_cnt_minus_1;
+    uint8_t spatial_layer_dimensions_present_flag;
+    uint8_t spatial_layer_description_present_flag;
+    uint8_t temporal_group_description_present_flag;
+    uint8_t scalability_structure_reserved_3bits;
+    uint16_t spatial_layer_max_width[4];
+    uint16_t spatial_layer_max_height[4];
+    uint8_t spatial_layer_ref_id[4];
+    uint8_t temporal_group_size;
+    uint8_t temporal_group_temporal_id[255];
+    uint8_t temporal_group_temporal_switching_up_point_flag[255];
+    uint8_t temporal_group_spatial_switching_up_point_flag[255];
+    uint8_t temporal_group_ref_cnt[255];
+    uint8_t temporal_group_ref_pic_diff[255][7];
 } AV1RawMetadataScalability;
 
 typedef struct AV1RawMetadataITUTT35 {
@@ -364,6 +377,12 @@ typedef struct AV1RawMetadata {
     } metadata;
 } AV1RawMetadata;
 
+typedef struct AV1RawPadding {
+    uint8_t     *payload;
+    size_t       payload_size;
+    AVBufferRef *payload_ref;
+} AV1RawPadding;
+
 
 typedef struct AV1RawOBU {
     AV1RawOBUHeader header;
@@ -377,6 +396,7 @@ typedef struct AV1RawOBU {
         AV1RawTileGroup      tile_group;
         AV1RawTileList       tile_list;
         AV1RawMetadata       metadata;
+        AV1RawPadding        padding;
     } obu;
 } AV1RawOBU;