* qatar/master: (25 commits) rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MC ape: Use unsigned integer maths arm: dsputil: fix overreads in put/avg_pixels functions h264: K&R formatting cosmetics for header files (part II/II) h264: K&R formatting cosmetics for header files (part I/II) rtmp: Implement check bandwidth notification. rtmp: Support 'rtmp_swfurl', an option which specifies the URL of the SWF player. rtmp: Support 'rtmp_flashver', an option which overrides the version of the Flash plugin. rtmp: Support 'rtmp_tcurl', an option which overrides the URL of the target stream. cmdutils: Add fallback case to switch in check_stream_specifier(). sctp: be consistent with socket option level configure: Add _XOPEN_SOURCE=600 to Solaris preprocessor flags. vcr1enc: drop pointless empty encode_init() wrapper function vcr1: drop pointless write-only AVCodecContext member from VCR1Context vcr1: group encoder code together to save #ifdefs vcr1: cosmetics: K&R prettyprinting, typos, parentheses, dead code, comments mov: make one comment slightly more specific lavr: replace the SSE version of ff_conv_fltp_to_flt_6ch() with SSE4 and AVX lavfi: move audio-related functions to a separate file. lavfi: remove some audio-related function from public API. ... Conflicts: cmdutils.c libavcodec/h264.h libavcodec/h264_mvpred.h libavcodec/vcr1.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/defaults.c libavfilter/internal.h
Showing the changes to libavfilter/avfilter.h (1 of 44 files). Show all
Unified · Split
| @@ -430,7 +430,8 @@ struct AVFilterPad { · 429 unmodified lines | |||
| 430 | * | 430 | * |
| 431 | * Input audio pads only. | 431 | * Input audio pads only. |
| 432 | */ | 432 | */ |
| 433 | AVFilterBufferRef *(*get_audio_buffer)(AVFilterLink *link, int perms, int nb_samples); | 433 | AVFilterBufferRef *(*get_audio_buffer)(AVFilterLink *link, int perms, |
| 434 | int nb_samples); | ||
| 434 | 435 | ||
| 435 | /** | 436 | /** |
| 436 | * Callback called after the slices of a frame are completely sent. If | 437 | * Callback called after the slices of a frame are completely sent. If |
| @@ -508,16 +509,10 @@ void avfilter_default_draw_slice(AVFilterLink *link, int y, int h, int slice_dir · 71 unmodified lines | |||
| 508 | /** default handler for end_frame() for video inputs */ | 509 | /** default handler for end_frame() for video inputs */ |
| 509 | void avfilter_default_end_frame(AVFilterLink *link); | 510 | void avfilter_default_end_frame(AVFilterLink *link); |
| 510 | 511 | ||
| 511 | /** default handler for filter_samples() for audio inputs */ | ||
| 512 | void avfilter_default_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref); | ||
| 513 | |||
| 514 | /** default handler for get_video_buffer() for video inputs */ | 512 | /** default handler for get_video_buffer() for video inputs */ |
| 515 | AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, | 513 | AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, |
| 516 | int perms, int w, int h); | 514 | int perms, int w, int h); |
| 517 | 515 | ||
| 518 | /** default handler for get_audio_buffer() for audio inputs */ | ||
| 519 | AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, | ||
| 520 | int perms, int nb_samples); | ||
| 521 | 516 | ||
| 522 | /** | 517 | /** |
| 523 | * Helpers for query_formats() which set all links to the same list of | 518 | * Helpers for query_formats() which set all links to the same list of |
| @@ -541,17 +536,10 @@ void avfilter_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir); · 17 unmodified lines | |||
| 541 | /** end_frame() handler for filters which simply pass video along */ | 536 | /** end_frame() handler for filters which simply pass video along */ |
| 542 | void avfilter_null_end_frame(AVFilterLink *link); | 537 | void avfilter_null_end_frame(AVFilterLink *link); |
| 543 | 538 | ||
| 544 | /** filter_samples() handler for filters which simply pass audio along */ | ||
| 545 | void avfilter_null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref); | ||
| 546 | |||
| 547 | /** get_video_buffer() handler for filters which simply pass video along */ | 539 | /** get_video_buffer() handler for filters which simply pass video along */ |
| 548 | AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link, | 540 | AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link, |
| 549 | int perms, int w, int h); | 541 | int perms, int w, int h); |
| 550 | 542 | ||
| 551 | /** get_audio_buffer() handler for filters which simply pass audio along */ | ||
| 552 | AVFilterBufferRef *avfilter_null_get_audio_buffer(AVFilterLink *link, | ||
| 553 | int perms, int nb_samples); | ||
| 554 | |||
| 555 | /** | 543 | /** |
| 556 | * Filter definition. This defines the pads a filter contains, and all the | 544 | * Filter definition. This defines the pads a filter contains, and all the |
| 557 | * callback functions used to interact with the filter. | 545 | * callback functions used to interact with the filter. |
| @@ -665,7 +653,7 @@ struct AVFilterLink { · 107 unmodified lines | |||
| 665 | AVRational sample_aspect_ratio; ///< agreed upon sample aspect ratio | 653 | AVRational sample_aspect_ratio; ///< agreed upon sample aspect ratio |
| 666 | /* These parameters apply only to audio */ | 654 | /* These parameters apply only to audio */ |
| 667 | uint64_t channel_layout; ///< channel layout of current buffer (see libavutil/audioconvert.h) | 655 | uint64_t channel_layout; ///< channel layout of current buffer (see libavutil/audioconvert.h) |
| 668 | #if LIBAVFILTER_VERSION_MAJOR < 3 | 656 | #if FF_API_SAMPLERATE64 |
| 669 | int64_t sample_rate; ///< samples per second | 657 | int64_t sample_rate; ///< samples per second |
| 670 | #else | 658 | #else |
| 671 | int sample_rate; ///< samples per second | 659 | int sample_rate; ///< samples per second |
| @@ -790,19 +778,6 @@ AVFilterBufferRef * · 118 unmodified lines | |||
| 790 | avfilter_get_video_buffer_ref_from_arrays(uint8_t * const data[4], const int linesize[4], int perms, | 778 | avfilter_get_video_buffer_ref_from_arrays(uint8_t * const data[4], const int linesize[4], int perms, |
| 791 | int w, int h, enum PixelFormat format); | 779 | int w, int h, enum PixelFormat format); |
| 792 | 780 | ||
| 793 | /** | ||
| 794 | * Request an audio samples buffer with a specific set of permissions. | ||
| 795 | * | ||
| 796 | * @param link the output link to the filter from which the buffer will | ||
| 797 | * be requested | ||
| 798 | * @param perms the required access permissions | ||
| 799 | * @param nb_samples the number of samples per channel | ||
| 800 | * @return A reference to the samples. This must be unreferenced with | ||
| 801 | * avfilter_unref_buffer when you are finished with it. | ||
| 802 | */ | ||
| 803 | AVFilterBufferRef *avfilter_get_audio_buffer(AVFilterLink *link, int perms, | ||
| 804 | int nb_samples); | ||
| 805 | |||
| 806 | /** | 781 | /** |
| 807 | * Create an audio buffer reference wrapped around an already | 782 | * Create an audio buffer reference wrapped around an already |
| 808 | * allocated samples buffer. | 783 | * allocated samples buffer. |
| @@ -904,17 +879,7 @@ void avfilter_draw_slice(AVFilterLink *link, int y, int h, int slice_dir); · 95 unmodified lines | |||
| 904 | */ | 879 | */ |
| 905 | int avfilter_process_command(AVFilterContext *filter, const char *cmd, const char *arg, char *res, int res_len, int flags); | 880 | int avfilter_process_command(AVFilterContext *filter, const char *cmd, const char *arg, char *res, int res_len, int flags); |
| 906 | 881 | ||
| 907 | /** | 882 | /** Initialize the filter system. Register all builtin filters. */ |
| 908 | * Send a buffer of audio samples to the next filter. | ||
| 909 | * | ||
| 910 | * @param link the output link over which the audio samples are being sent | ||
| 911 | * @param samplesref a reference to the buffer of audio samples being sent. The | ||
| 912 | * receiving filter will free this reference when it no longer | ||
| 913 | * needs it or pass it on to the next filter. | ||
| 914 | */ | ||
| 915 | void avfilter_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref); | ||
| 916 | |||
| 917 | /** Initialize the filter system. Register all built-in filters. */ | ||
| 918 | void avfilter_register_all(void); | 883 | void avfilter_register_all(void); |
| 919 | 884 | ||
| 920 | /** Uninitialize the filter system. Unregister all filters. */ | 885 | /** Uninitialize the filter system. Unregister all filters. */ |
| @@ -1024,4 +989,6 @@ static inline void avfilter_insert_outpad(AVFilterContext *f, unsigned index, · 103 unmodified lines | |||
| 1024 | &f->output_pads, &f->outputs, p); | 989 | &f->output_pads, &f->outputs, p); |
| 1025 | } | 990 | } |
| 1026 | 991 | ||
| 992 | #include "audio.h" | ||
| 993 | |||
| 1027 | #endif /* AVFILTER_AVFILTER_H */ | 994 | #endif /* AVFILTER_AVFILTER_H */ |