From f6974fe651d29ef6eb68d66d73f7b6c011062aa0 Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Tue, 28 Jul 2015 14:30:21 +0100 Subject: lavfi: Drop deprecated AVFilterBuffer* code Deprecated in 11/2012. --- libavfilter/avfilter.h | 219 ------------------------------------------------- 1 file changed, 219 deletions(-) (limited to 'libavfilter/avfilter.h') diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 5f1969764c..9dbfeea9eb 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -66,168 +66,6 @@ typedef struct AVFilterLink AVFilterLink; typedef struct AVFilterPad AVFilterPad; typedef struct AVFilterFormats AVFilterFormats; -#if FF_API_AVFILTERBUFFER -/** - * A reference-counted buffer data type used by the filter system. Filters - * should not store pointers to this structure directly, but instead use the - * AVFilterBufferRef structure below. - */ -typedef struct AVFilterBuffer { - uint8_t *data[8]; ///< buffer data for each plane/channel - - /** - * pointers to the data planes/channels. - * - * For video, this should simply point to data[]. - * - * For planar audio, each channel has a separate data pointer, and - * linesize[0] contains the size of each channel buffer. - * For packed audio, there is just one data pointer, and linesize[0] - * contains the total size of the buffer for all channels. - * - * Note: Both data and extended_data will always be set, but for planar - * audio with more channels that can fit in data, extended_data must be used - * in order to access all channels. - */ - uint8_t **extended_data; - int linesize[8]; ///< number of bytes per line - - /** private data to be used by a custom free function */ - void *priv; - /** - * A pointer to the function to deallocate this buffer if the default - * function is not sufficient. This could, for example, add the memory - * back into a memory pool to be reused later without the overhead of - * reallocating it from scratch. - */ - void (*free)(struct AVFilterBuffer *buf); - - int format; ///< media format - int w, h; ///< width and height of the allocated buffer - unsigned refcount; ///< number of references to this buffer -} AVFilterBuffer; - -#define AV_PERM_READ 0x01 ///< can read from the buffer -#define AV_PERM_WRITE 0x02 ///< can write to the buffer -#define AV_PERM_PRESERVE 0x04 ///< nobody else can overwrite the buffer -#define AV_PERM_REUSE 0x08 ///< can output the buffer multiple times, with the same contents each time -#define AV_PERM_REUSE2 0x10 ///< can output the buffer multiple times, modified each time -#define AV_PERM_NEG_LINESIZES 0x20 ///< the buffer requested can have negative linesizes - -/** - * Audio specific properties in a reference to an AVFilterBuffer. Since - * AVFilterBufferRef is common to different media formats, audio specific - * per reference properties must be separated out. - */ -typedef struct AVFilterBufferRefAudioProps { - uint64_t channel_layout; ///< channel layout of audio buffer - int nb_samples; ///< number of audio samples - int sample_rate; ///< audio buffer sample rate - int planar; ///< audio buffer - planar or packed -} AVFilterBufferRefAudioProps; - -/** - * Video specific properties in a reference to an AVFilterBuffer. Since - * AVFilterBufferRef is common to different media formats, video specific - * per reference properties must be separated out. - */ -typedef struct AVFilterBufferRefVideoProps { - int w; ///< image width - int h; ///< image height - AVRational pixel_aspect; ///< pixel aspect ratio - int interlaced; ///< is frame interlaced - int top_field_first; ///< field order - enum AVPictureType pict_type; ///< picture type of the frame - int key_frame; ///< 1 -> keyframe, 0-> not -} AVFilterBufferRefVideoProps; - -/** - * A reference to an AVFilterBuffer. Since filters can manipulate the origin of - * a buffer to, for example, crop image without any memcpy, the buffer origin - * and dimensions are per-reference properties. Linesize is also useful for - * image flipping, frame to field filters, etc, and so is also per-reference. - * - * TODO: add anything necessary for frame reordering - */ -typedef struct AVFilterBufferRef { - AVFilterBuffer *buf; ///< the buffer that this is a reference to - uint8_t *data[8]; ///< picture/audio data for each plane - /** - * pointers to the data planes/channels. - * - * For video, this should simply point to data[]. - * - * For planar audio, each channel has a separate data pointer, and - * linesize[0] contains the size of each channel buffer. - * For packed audio, there is just one data pointer, and linesize[0] - * contains the total size of the buffer for all channels. - * - * Note: Both data and extended_data will always be set, but for planar - * audio with more channels that can fit in data, extended_data must be used - * in order to access all channels. - */ - uint8_t **extended_data; - int linesize[8]; ///< number of bytes per line - - AVFilterBufferRefVideoProps *video; ///< video buffer specific properties - AVFilterBufferRefAudioProps *audio; ///< audio buffer specific properties - - /** - * presentation timestamp. The time unit may change during - * filtering, as it is specified in the link and the filter code - * may need to rescale the PTS accordingly. - */ - int64_t pts; - int64_t pos; ///< byte position in stream, -1 if unknown - - int format; ///< media format - - int perms; ///< permissions, see the AV_PERM_* flags - - enum AVMediaType type; ///< media type of buffer data -} AVFilterBufferRef; - -/** - * Copy properties of src to dst, without copying the actual data - */ -attribute_deprecated -void avfilter_copy_buffer_ref_props(AVFilterBufferRef *dst, AVFilterBufferRef *src); - -/** - * Add a new reference to a buffer. - * - * @param ref an existing reference to the buffer - * @param pmask a bitmask containing the allowable permissions in the new - * reference - * @return a new reference to the buffer with the same properties as the - * old, excluding any permissions denied by pmask - */ -attribute_deprecated -AVFilterBufferRef *avfilter_ref_buffer(AVFilterBufferRef *ref, int pmask); - -/** - * Remove a reference to a buffer. If this is the last reference to the - * buffer, the buffer itself is also automatically freed. - * - * @param ref reference to the buffer, may be NULL - * - * @note it is recommended to use avfilter_unref_bufferp() instead of this - * function - */ -attribute_deprecated -void avfilter_unref_buffer(AVFilterBufferRef *ref); - -/** - * Remove a reference to a buffer and set the pointer to NULL. - * If this is the last reference to the buffer, the buffer itself - * is also automatically freed. - * - * @param ref pointer to the buffer reference - */ -attribute_deprecated -void avfilter_unref_bufferp(AVFilterBufferRef **ref); -#endif - /** * Get the number of elements in a NULL-terminated array of AVFilterPads (e.g. * AVFilter.inputs/outputs). @@ -559,43 +397,6 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad, */ int avfilter_config_links(AVFilterContext *filter); -#if FF_API_AVFILTERBUFFER -/** - * Create a buffer reference wrapped around an already allocated image - * buffer. - * - * @param data pointers to the planes of the image to reference - * @param linesize linesizes for the planes of the image to reference - * @param perms the required access permissions - * @param w the width of the image specified by the data and linesize arrays - * @param h the height of the image specified by the data and linesize arrays - * @param format the pixel format of the image specified by the data and linesize arrays - */ -attribute_deprecated -AVFilterBufferRef * -avfilter_get_video_buffer_ref_from_arrays(uint8_t *data[4], int linesize[4], int perms, - int w, int h, enum AVPixelFormat format); - -/** - * Create an audio buffer reference wrapped around an already - * allocated samples buffer. - * - * @param data pointers to the samples plane buffers - * @param linesize linesize for the samples plane buffers - * @param perms the required access permissions - * @param nb_samples number of samples per channel - * @param sample_fmt the format of each sample in the buffer to allocate - * @param channel_layout the channel layout of the buffer - */ -attribute_deprecated -AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays(uint8_t **data, - int linesize, - int perms, - int nb_samples, - enum AVSampleFormat sample_fmt, - uint64_t channel_layout); -#endif - /** Initialize the filter system. Register all builtin filters. */ void avfilter_register_all(void); @@ -733,26 +534,6 @@ void avfilter_free(AVFilterContext *filter); int avfilter_insert_filter(AVFilterLink *link, AVFilterContext *filt, unsigned filt_srcpad_idx, unsigned filt_dstpad_idx); -#if FF_API_AVFILTERBUFFER -/** - * Copy the frame properties of src to dst, without copying the actual - * image data. - * - * @return 0 on success, a negative number on error. - */ -attribute_deprecated -int avfilter_copy_frame_props(AVFilterBufferRef *dst, const AVFrame *src); - -/** - * Copy the frame properties and data pointers of src to dst, without copying - * the actual data. - * - * @return 0 on success, a negative number on error. - */ -attribute_deprecated -int avfilter_copy_buf_props(AVFrame *dst, const AVFilterBufferRef *src); -#endif - /** * @return AVClass for AVFilterContext. * -- cgit v1.2.3