]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/video_enc_params.h
avcodec: Remove redundant freeing of extradata of encoders
[ffmpeg] / libavutil / video_enc_params.h
index 0cf79c435c647b1a102ddf9d0b67c37f69a83e35..fc0c3bc1a514f035bd5b8edec03e492bea93c007 100644 (file)
@@ -42,6 +42,27 @@ enum AVVideoEncParamsType {
      *   unsigned 8-bit.
      */
     AV_VIDEO_ENC_PARAMS_VP9,
+
+    /**
+     * H.264 stores:
+     * - in PPS (per-picture):
+     *   * initial QP_Y (luma) value, exported as AVVideoEncParams.qp
+     *   * delta(s) for chroma QP values (same for both, or each separately),
+     *     exported as in the corresponding entries in AVVideoEncParams.delta_qp
+     * - per-slice QP delta, not exported directly, added to the per-MB value
+     * - per-MB delta; not exported directly; the final per-MB quantizer
+     *   parameter - QP_Y - minus the value in AVVideoEncParams.qp is exported
+     *   as AVVideoBlockParams.qp_delta.
+     */
+    AV_VIDEO_ENC_PARAMS_H264,
+
+    /*
+     * MPEG-2-compatible quantizer.
+     *
+     * Summing the frame-level qp with the per-block delta_qp gives the
+     * resulting quantizer for the block.
+     */
+    AV_VIDEO_ENC_PARAMS_MPEG2,
 };
 
 /**
@@ -140,7 +161,7 @@ AVVideoEncParams *av_video_enc_params_alloc(enum AVVideoEncParamsType type,
 /**
  * Allocates memory for AVEncodeInfoFrame plus an array of
  * {@code nb_blocks} AVEncodeInfoBlock in the given AVFrame {@code frame}
- * as AVFrameSideData of type AV_FRAME_DATA_ENCODE_INFO
+ * as AVFrameSideData of type AV_FRAME_DATA_VIDEO_ENC_PARAMS
  * and initializes the variables.
  */
 AVVideoEncParams*