]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/internal.h
avcodec: set AV_CODEC_CAP_CHANNEL_CONF on decoders which set their own channels
[ffmpeg] / libavcodec / internal.h
index 21486ae9870458b581dcb623384dafeef614b82a..141f3fb88e0d439ade1db2b18e8b2d7611edfd7b 100644 (file)
@@ -145,6 +145,8 @@ typedef struct AVCodecInternal {
      * for decoding.
      */
     AVPacket *last_pkt_props;
+    AVPacketList *pkt_props;
+    AVPacketList *pkt_props_tail;
 
     /**
      * temporary buffer used for encoders to store their bitstream
@@ -304,18 +306,6 @@ int ff_thread_can_start_frame(AVCodecContext *avctx);
 
 int avpriv_h264_has_num_reorder_frames(AVCodecContext *avctx);
 
-/**
- * Call avcodec_open2 recursively by decrementing counter, unlocking mutex,
- * calling the function and then restoring again. Assumes the mutex is
- * already locked
- */
-int ff_codec_open2_recursive(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
-
-/**
- * Finalize buf into extradata and set its size appropriately.
- */
-int avpriv_bprint_to_extradata(AVCodecContext *avctx, struct AVBPrint *buf);
-
 const uint8_t *avpriv_find_start_code(const uint8_t *p,
                                       const uint8_t *end,
                                       uint32_t *state);
@@ -353,11 +343,6 @@ int ff_side_data_update_matrix_encoding(AVFrame *frame,
  */
 int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);
 
-/**
- * Set various frame properties from the codec context / packet data.
- */
-int ff_decode_frame_props(AVCodecContext *avctx, AVFrame *frame);
-
 /**
  * Add a CPB properties side data to an encoding context.
  */
@@ -367,6 +352,7 @@ AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx);
  * Check AVFrame for S12M timecode side data and allocate and fill TC SEI message with timecode info
  *
  * @param frame      Raw frame to get S12M timecode side data from
+ * @param rate       The frame rate
  * @param prefix_len Number of bytes to allocate before SEI message
  * @param data       Pointer to a variable to store allocated memory
  *                   Upon return the variable will hold NULL on error or if frame has no S12M timecode info.
@@ -375,7 +361,7 @@ AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx);
  * @param sei_size   Pointer to a variable to store generated SEI message length
  * @return           Zero on success, negative error code on failure
  */
-int ff_alloc_timecode_sei(const AVFrame *frame, size_t prefix_len,
+int ff_alloc_timecode_sei(const AVFrame *frame, AVRational rate, size_t prefix_len,
                      void **data, size_t *sei_size);
 
 /**