| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * filter layer | 2  * filter layer | 
| 3  * copyright (c) 2007 Bobby Bingham | 3  * copyright (c) 2007 Bobby Bingham | 
| 4  * | 4  * | 
| 5  * This file is part of FFmpeg. | 5  * This file is part of FFmpeg. | 
| 6  * | 6  * | 
| 7  * FFmpeg is free software; you can redistribute it and/or | 7  * FFmpeg is free software; you can redistribute it and/or | 
| 8  * modify it under the terms of the GNU Lesser General Public | 8  * modify it under the terms of the GNU Lesser General Public | 
| 9  * License as published by the Free Software Foundation; either | 9  * License as published by the Free Software Foundation; either | 
| 10  * version 2.1 of the License, or (at your option) any later version. | 10  * version 2.1 of the License, or (at your option) any later version. | 
| 11  * | 11  * | 
| 12  * FFmpeg is distributed in the hope that it will be useful, | 12  * FFmpeg is distributed in the hope that it will be useful, | 
| 13  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 15  * Lesser General Public License for more details. | 15  * Lesser General Public License for more details. | 
| 16  * | 16  * | 
| 17  * You should have received a copy of the GNU Lesser General Public | 17  * You should have received a copy of the GNU Lesser General Public | 
| 18  * License along with FFmpeg; if not, write to the Free Software | 18  * License along with FFmpeg; if not, write to the Free Software | 
| 19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 
| 20  */ | 20  */ | 
| 21 | 21 | 
| 22 #ifndef AVFILTER_AVFILTER_H | 22 #ifndef AVFILTER_AVFILTER_H | 
| 23 #define AVFILTER_AVFILTER_H | 23 #define AVFILTER_AVFILTER_H | 
| 24 | 24 | 
| 25 #include "libavutil/avutil.h" | 25 #include "libavutil/avutil.h" | 
| 26 | 26 | 
| 27 #define LIBAVFILTER_VERSION_MAJOR  1 | 27 #define LIBAVFILTER_VERSION_MAJOR  1 | 
| 28 #define LIBAVFILTER_VERSION_MINOR 48 | 28 #define LIBAVFILTER_VERSION_MINOR 53 | 
| 29 #define LIBAVFILTER_VERSION_MICRO  0 | 29 #define LIBAVFILTER_VERSION_MICRO  0 | 
| 30 | 30 | 
| 31 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ | 31 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ | 
| 32                                                LIBAVFILTER_VERSION_MINOR, \ | 32                                                LIBAVFILTER_VERSION_MINOR, \ | 
| 33                                                LIBAVFILTER_VERSION_MICRO) | 33                                                LIBAVFILTER_VERSION_MICRO) | 
| 34 #define LIBAVFILTER_VERSION     AV_VERSION(LIBAVFILTER_VERSION_MAJOR,   \ | 34 #define LIBAVFILTER_VERSION     AV_VERSION(LIBAVFILTER_VERSION_MAJOR,   \ | 
| 35                                            LIBAVFILTER_VERSION_MINOR,   \ | 35                                            LIBAVFILTER_VERSION_MINOR,   \ | 
| 36                                            LIBAVFILTER_VERSION_MICRO) | 36                                            LIBAVFILTER_VERSION_MICRO) | 
| 37 #define LIBAVFILTER_BUILD       LIBAVFILTER_VERSION_INT | 37 #define LIBAVFILTER_BUILD       LIBAVFILTER_VERSION_INT | 
| 38 | 38 | 
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 120  * image flipping, frame to field filters, etc, and so is also per-reference. | 120  * image flipping, frame to field filters, etc, and so is also per-reference. | 
| 121  * | 121  * | 
| 122  * TODO: add anything necessary for frame reordering | 122  * TODO: add anything necessary for frame reordering | 
| 123  */ | 123  */ | 
| 124 typedef struct AVFilterBufferRef { | 124 typedef struct AVFilterBufferRef { | 
| 125     AVFilterBuffer *buf;        ///< the buffer that this is a reference to | 125     AVFilterBuffer *buf;        ///< the buffer that this is a reference to | 
| 126     uint8_t *data[8];           ///< picture/audio data for each plane | 126     uint8_t *data[8];           ///< picture/audio data for each plane | 
| 127     int linesize[8];            ///< number of bytes per line | 127     int linesize[8];            ///< number of bytes per line | 
| 128     int format;                 ///< media format | 128     int format;                 ///< media format | 
| 129 | 129 | 
| 130     int64_t pts;                ///< presentation timestamp in units of 1/AV_TIM
     E_BASE | 130     /** | 
|  | 131      * presentation timestamp. The time unit may change during | 
|  | 132      * filtering, as it is specified in the link and the filter code | 
|  | 133      * may need to rescale the PTS accordingly. | 
|  | 134      */ | 
|  | 135     int64_t pts; | 
| 131     int64_t pos;                ///< byte position in stream, -1 if unknown | 136     int64_t pos;                ///< byte position in stream, -1 if unknown | 
| 132 | 137 | 
| 133     int perms;                  ///< permissions, see the AV_PERM_* flags | 138     int perms;                  ///< permissions, see the AV_PERM_* flags | 
| 134 | 139 | 
| 135     enum AVMediaType type;      ///< media type of buffer data | 140     enum AVMediaType type;      ///< media type of buffer data | 
| 136     AVFilterBufferRefVideoProps *video; ///< video buffer specific properties | 141     AVFilterBufferRefVideoProps *video; ///< video buffer specific properties | 
| 137     AVFilterBufferRefAudioProps *audio; ///< audio buffer specific properties | 142     AVFilterBufferRefAudioProps *audio; ///< audio buffer specific properties | 
| 138 } AVFilterBufferRef; | 143 } AVFilterBufferRef; | 
| 139 | 144 | 
| 140 /** | 145 /** | 
| (...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 591      * The buffer reference currently being sent across the link by the source | 596      * The buffer reference currently being sent across the link by the source | 
| 592      * filter. This is used internally by the filter system to allow | 597      * filter. This is used internally by the filter system to allow | 
| 593      * automatic copying of buffers which do not have sufficient permissions | 598      * automatic copying of buffers which do not have sufficient permissions | 
| 594      * for the destination. This should not be accessed directly by the | 599      * for the destination. This should not be accessed directly by the | 
| 595      * filters. | 600      * filters. | 
| 596      */ | 601      */ | 
| 597     AVFilterBufferRef *src_buf; | 602     AVFilterBufferRef *src_buf; | 
| 598 | 603 | 
| 599     AVFilterBufferRef *cur_buf; | 604     AVFilterBufferRef *cur_buf; | 
| 600     AVFilterBufferRef *out_buf; | 605     AVFilterBufferRef *out_buf; | 
|  | 606 | 
|  | 607     /** | 
|  | 608      * Define the time base used by the PTS of the frames/samples | 
|  | 609      * which will pass through this link. | 
|  | 610      * During the configuration stage, each filter is supposed to | 
|  | 611      * change only the output timebase, while the timebase of the | 
|  | 612      * input link is assumed to be an unchangeable property. | 
|  | 613      */ | 
|  | 614     AVRational time_base; | 
| 601 }; | 615 }; | 
| 602 | 616 | 
| 603 /** | 617 /** | 
| 604  * Link two filters together. | 618  * Link two filters together. | 
| 605  * | 619  * | 
| 606  * @param src    the source filter | 620  * @param src    the source filter | 
| 607  * @param srcpad index of the output pad on the source filter | 621  * @param srcpad index of the output pad on the source filter | 
| 608  * @param dst    the destination filter | 622  * @param dst    the destination filter | 
| 609  * @param dstpad index of the input pad on the destination filter | 623  * @param dstpad index of the input pad on the destination filter | 
| 610  * @return       zero on success | 624  * @return       zero on success | 
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 817 | 831 | 
| 818 /** Insert a new output pad for the filter. */ | 832 /** Insert a new output pad for the filter. */ | 
| 819 static inline void avfilter_insert_outpad(AVFilterContext *f, unsigned index, | 833 static inline void avfilter_insert_outpad(AVFilterContext *f, unsigned index, | 
| 820                                           AVFilterPad *p) | 834                                           AVFilterPad *p) | 
| 821 { | 835 { | 
| 822     avfilter_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad), | 836     avfilter_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad), | 
| 823                         &f->output_pads, &f->outputs, p); | 837                         &f->output_pads, &f->outputs, p); | 
| 824 } | 838 } | 
| 825 | 839 | 
| 826 #endif  /* AVFILTER_AVFILTER_H */ | 840 #endif  /* AVFILTER_AVFILTER_H */ | 
| OLD | NEW | 
|---|