X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Finternal.h;h=b7d4a6e1394aa6368d81486846128921a351623c;hb=18d0a16fc9d189b1d5593f9a42bb2316e9a66ca9;hp=13deb871203efe41a0c67de82570aaf469eb5d2e;hpb=31801ded9a863252a7e64d0edc4e0c6c3adb72ad;p=ffmpeg diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 13deb871203..b7d4a6e1394 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -61,6 +61,14 @@ typedef struct AVCodecInternal { * should be freed from the original context only. */ int is_copy; + +#if FF_API_OLD_DECODE_AUDIO + /** + * Internal sample count used by avcodec_encode_audio() to fabricate pts. + * Can be removed along with avcodec_encode_audio(). + */ + int sample_count; +#endif } AVCodecInternal; struct AVCodecDefault { @@ -96,7 +104,37 @@ unsigned int avpriv_toupper4(unsigned int x); */ void ff_init_buffer_info(AVCodecContext *s, AVFrame *pic); +/** + * Remove and free all side data from packet. + */ +void ff_packet_free_side_data(AVPacket *pkt); + int avpriv_lock_avformat(void); int avpriv_unlock_avformat(void); +/** + * Maximum size in bytes of extradata. + * This value was chosen such that every bit of the buffer is + * addressable by a 32-bit signed integer as used by get_bits. + */ +#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - FF_INPUT_BUFFER_PADDING_SIZE) + +/** + * Check AVPacket size and/or allocate data. + * + * Encoders supporting AVCodec.encode2() can use this as a convenience to + * ensure the output packet data is large enough, whether provided by the user + * or allocated in this function. + * + * @param avpkt the AVPacket + * If avpkt->data is already set, avpkt->size is checked + * to ensure it is large enough. + * If avpkt->data is NULL, a new buffer is allocated. + * avpkt->size is set to the specified size. + * All other AVPacket fields will be reset with av_init_packet(). + * @param size the minimum required packet size + * @return 0 on success, negative error code on failure + */ +int ff_alloc_packet(AVPacket *avpkt, int size); + #endif /* AVCODEC_INTERNAL_H */