浏览代码

avcodec/packet: add an LCEVC enhancement data payload side data type

Signed-off-by: James Almer <jamrial@gmail.com>
James Almer 1 年之前
父节点
当前提交
df609af8e4
共有 5 个文件被更改,包括 12 次插入1 次删除
  1. 3 0
      doc/APIchanges
  2. 1 0
      libavcodec/decode.c
  3. 1 0
      libavcodec/packet.c
  4. 6 0
      libavcodec/packet.h
  5. 1 1
      libavcodec/version.h

+ 3 - 0
doc/APIchanges

@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
 
 
 API changes, most recent first:
 API changes, most recent first:
 
 
+2024-09-18 - xxxxxxxxxx - lavc 61.17.100 - packet.h
+  Add AV_PKT_DATA_LCEVC.
+
 2024-09-18 - xxxxxxxxxx - lavf 61.5.100 - avformat.h
 2024-09-18 - xxxxxxxxxx - lavf 61.5.100 - avformat.h
   Add AVStreamGroupLCEVC
   Add AVStreamGroupLCEVC
   Add AV_STREAM_GROUP_PARAMS_LCEVC
   Add AV_STREAM_GROUP_PARAMS_LCEVC

+ 1 - 0
libavcodec/decode.c

@@ -1434,6 +1434,7 @@ int ff_decode_frame_props_from_pkt(const AVCodecContext *avctx,
         { AV_PKT_DATA_DYNAMIC_HDR10_PLUS,         AV_FRAME_DATA_DYNAMIC_HDR_PLUS },
         { AV_PKT_DATA_DYNAMIC_HDR10_PLUS,         AV_FRAME_DATA_DYNAMIC_HDR_PLUS },
         { AV_PKT_DATA_S12M_TIMECODE,              AV_FRAME_DATA_S12M_TIMECODE },
         { AV_PKT_DATA_S12M_TIMECODE,              AV_FRAME_DATA_S12M_TIMECODE },
         { AV_PKT_DATA_SKIP_SAMPLES,               AV_FRAME_DATA_SKIP_SAMPLES },
         { AV_PKT_DATA_SKIP_SAMPLES,               AV_FRAME_DATA_SKIP_SAMPLES },
+        { AV_PKT_DATA_LCEVC,                      AV_FRAME_DATA_LCEVC },
     };
     };
 
 
     frame->pts          = pkt->pts;
     frame->pts          = pkt->pts;

+ 1 - 0
libavcodec/packet.c

@@ -306,6 +306,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type)
     case AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM:   return "IAMF Demixing Info Parameter Data";
     case AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM:   return "IAMF Demixing Info Parameter Data";
     case AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM: return "IAMF Recon Gain Info Parameter Data";
     case AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM: return "IAMF Recon Gain Info Parameter Data";
     case AV_PKT_DATA_FRAME_CROPPING:             return "Frame Cropping";
     case AV_PKT_DATA_FRAME_CROPPING:             return "Frame Cropping";
+    case AV_PKT_DATA_LCEVC:                      return "LCEVC NAL data";
     }
     }
     return NULL;
     return NULL;
 }
 }

+ 6 - 0
libavcodec/packet.h

@@ -339,6 +339,12 @@ enum AVPacketSideDataType {
      */
      */
     AV_PKT_DATA_FRAME_CROPPING,
     AV_PKT_DATA_FRAME_CROPPING,
 
 
+    /**
+     * Raw LCEVC payload data, as a uint8_t array, with NAL emulation
+     * bytes intact.
+     */
+    AV_PKT_DATA_LCEVC,
+
     /**
     /**
      * The number of side data types.
      * The number of side data types.
      * This is not part of the public API/ABI in the sense that it may
      * This is not part of the public API/ABI in the sense that it may

+ 1 - 1
libavcodec/version.h

@@ -29,7 +29,7 @@
 
 
 #include "version_major.h"
 #include "version_major.h"
 
 
-#define LIBAVCODEC_VERSION_MINOR  16
+#define LIBAVCODEC_VERSION_MINOR  17
 #define LIBAVCODEC_VERSION_MICRO 100
 #define LIBAVCODEC_VERSION_MICRO 100
 
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \