[FFmpeg-cvslog] avformat/alp: tweak probe function to return MAX-1
ffmpeg | branch: master | Zane van Iperen | Mon Mar 9 11:55:19 2020 +| [d99f3dc6b211509d9f6bbb82bbb59bff86a9e3a5] | committer: Carl Eugen Hoyos avformat/alp: tweak probe function to return MAX-1 Signed-off-by: Zane van Iperen > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d99f3dc6b211509d9f6bbb82bbb59bff86a9e3a5 --- libavformat/alp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/alp.c b/libavformat/alp.c index c0c7905380..4c2e8f0652 100644 --- a/libavformat/alp.c +++ b/libavformat/alp.c @@ -51,7 +51,7 @@ static int alp_probe(const AVProbeData *p) if (strncmp("ADPCM", p->buf + 8, 6) != 0) return 0; -return AVPROBE_SCORE_EXTENSION + 1; +return AVPROBE_SCORE_MAX - 1; } static int alp_read_header(AVFormatContext *s) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] avformat: Add AMQP version 0-9-1 protocol support
ffmpeg | branch: master | Andriy Gelman | Sun Mar 8 17:25:31 2020 -0400| [1676d0fb25c6851d0750ed6926b8205ed20973eb] | committer: Marton Balint avformat: Add AMQP version 0-9-1 protocol support Supports connecting to a RabbitMQ broker via AMQP version 0-9-1. Signed-off-by: Andriy Gelman Signed-off-by: Marton Balint > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1676d0fb25c6851d0750ed6926b8205ed20973eb --- Changelog | 1 + configure | 5 + doc/general.texi| 1 + doc/protocols.texi | 60 ++ libavformat/Makefile| 1 + libavformat/libamqp.c | 298 libavformat/protocols.c | 1 + libavformat/version.h | 2 +- 8 files changed, 368 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 41a9166827..db2ca92e8a 100644 --- a/Changelog +++ b/Changelog @@ -45,6 +45,7 @@ version : - cas video filter - High Voltage Software ADPCM decoder - LEGO Racers ALP (.tun & .pcm) demuxer +- AMQP 0-9-1 protocol (RabbitMQ) version 4.2: diff --git a/configure b/configure index 06e3a7b2a8..8b17134944 100755 --- a/configure +++ b/configure @@ -255,6 +255,7 @@ External library support: --enable-libopenmpt enable decoding tracked files via libopenmpt [no] --enable-libopus enable Opus de/encoding via libopus [no] --enable-libpulseenable Pulseaudio input via libpulse [no] + --enable-librabbitmq enable RabbitMQ library [no] --enable-librav1eenable AV1 encoding via rav1e [no] --enable-librsvg enable SVG rasterization via librsvg [no] --enable-librubberband enable rubberband needed for rubberband filter [no] @@ -1789,6 +1790,7 @@ EXTERNAL_LIBRARY_LIST=" libopenmpt libopus libpulse +librabbitmq librav1e librsvg librtmp @@ -3434,6 +3436,8 @@ unix_protocol_deps="sys_un_h" unix_protocol_select="network" # external library protocols +libamqp_protocol_deps="librabbitmq" +libamqp_protocol_select="network" librtmp_protocol_deps="librtmp" librtmpe_protocol_deps="librtmp" librtmps_protocol_deps="librtmp" @@ -6317,6 +6321,7 @@ enabled libopus && { } } enabled libpulse && require_pkg_config libpulse libpulse pulse/pulseaudio.h pa_context_new +enabled librabbitmq && require_pkg_config librabbitmq "librabbitmq >= 0.7.1" amqp.h amqp_new_connection enabled librav1e && require_pkg_config librav1e "rav1e >= 0.1.0" rav1e.h rav1e_context_new enabled librsvg && require_pkg_config librsvg librsvg-2.0 librsvg-2.0/librsvg/rsvg.h rsvg_handle_render_cairo enabled librtmp && require_pkg_config librtmp librtmp librtmp/rtmp.h RTMP_Socket diff --git a/doc/general.texi b/doc/general.texi index 87eaad7791..3684847ac1 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -1331,6 +1331,7 @@ performance on systems without hardware floating point support). @multitable @columnfractions .4 .1 @item Name @tab Support +@item AMQP @tab X @item file @tab X @item FTP @tab X @item Gopher @tab X diff --git a/doc/protocols.texi b/doc/protocols.texi index 54a287f488..27df4759b6 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -51,6 +51,66 @@ in microseconds. A description of the currently available protocols follows. +@section amqp + +Advanced Message Queueing Protocol (AMQP) version 0-9-1 is a broker based +publish-subscribe communication protocol. + +FFmpeg must be compiled with --enable-librabbitmq to support AMQP. A separate +AMQP broker must also be run. An example open-source AMQP broker is RabbitMQ. + +After starting the broker, an FFmpeg client may stream data to the broker using +the command: + +@example +ffmpeg -re -i input -f mpegts amqp://[[user]:[password]@@]hostname[:port] +@end example + +Where hostname and port (default is 5672) is the address of the broker. The +client may also set a user/password for authentication. The default for both +fields is "guest". + +Muliple subscribers may stream from the broker using the command: +@example +ffplay amqp://[[user]:[password]@@]hostname[:port] +@end example + +In RabbitMQ all data published to the broker flows through a specific exchange, +and each subscribing client has an assigned queue/buffer. When a packet arrives +at an exchange, it may be copied to a client's queue depending on the exchange +and routing_key fields. + +The following options are supported: + +@table @option + +@item exchange +Sets the exchange to use on the broker. RabbitMQ has several predefined +exchanges: "amq.direct" is the default exchange, where the publisher and +subscriber must have a matching routing_key; "amq.fanout" is the same as a +broadcast operation (i.e. the data is forwarded to all queues on the fanout +exchange independent of the routing_key); and "amq.topic" is similar to +"amq.direct", but allows for more complex pattern matching (refer to the
[FFmpeg-cvslog] avformat/libzmq: Make default pkt_size value consistent with amqp
ffmpeg | branch: master | Andriy Gelman | Sun Mar 8 16:33:29 2020 -0400| [e6c5329a4302e3085855e7e6e7f147ec28c7f02b] | committer: Marton Balint avformat/libzmq: Make default pkt_size value consistent with amqp Signed-off-by: Andriy Gelman Signed-off-by: Marton Balint > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e6c5329a4302e3085855e7e6e7f147ec28c7f02b --- doc/protocols.texi | 2 +- libavformat/libzmq.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/protocols.texi b/doc/protocols.texi index 27df4759b6..e510019f2d 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -1858,7 +1858,7 @@ line. The following options are supported: @item pkt_size Forces the maximum packet size for sending/receiving data. The default value is -32,768 bytes. On the server side, this sets the maximum size of sent packets +131,072 bytes. On the server side, this sets the maximum size of sent packets via ZeroMQ. On the clients, it sets an internal buffer size for receiving packets. Note that pkt_size on the clients should be equal to or greater than pkt_size on the server. Otherwise the received message may be truncated causing diff --git a/libavformat/libzmq.c b/libavformat/libzmq.c index 8c8b294c92..1b0d8638db 100644 --- a/libavformat/libzmq.c +++ b/libavformat/libzmq.c @@ -40,7 +40,7 @@ typedef struct ZMQContext { #define D AV_OPT_FLAG_DECODING_PARAM #define E AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { -{ "pkt_size", "Maximum send/read packet size", OFFSET(pkt_size), AV_OPT_TYPE_INT, { .i64 = 32768 }, -1, INT_MAX, .flags = D | E }, +{ "pkt_size", "Maximum send/read packet size", OFFSET(pkt_size), AV_OPT_TYPE_INT, { .i64 = 131072 }, -1, INT_MAX, .flags = D | E }, { NULL } }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-cvslog] lavc/vaapi_encode_h265: fix conf_win_xxx_offset for 4:2:2/4:4:4 encoding
ffmpeg | branch: master | Linjie Fu | Sun Mar 8 16:28:46 2020 +0800| [2847c5c6f93b00c0ec9fb82dba7c382faf7335cc] | committer: Mark Thompson lavc/vaapi_encode_h265: fix conf_win_xxx_offset for 4:2:2/4:4:4 encoding Use desc->log2_chroma_w/h to calculate the sps->conf_win_right/bottom_offset. Based on Table 6-1, SubWidthC and SubHeightC depend on chroma format(log2_chroma_w/h). Based on D-28 and D-29, set the correct cropped width/height. croppedWidth = pic_width_in_luma_samples − SubWidthC * ( conf_win_right_offset + conf_win_left_offset ); croppedHeight = pic_height_in_luma_samples − SubHeightC * ( conf_win_bottom_offset + conf_win_top_offset ); Signed-off-by: Linjie Fu > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2847c5c6f93b00c0ec9fb82dba7c382faf7335cc --- libavcodec/vaapi_encode_h265.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index 538862a9d5..97dc5a7e75 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -410,10 +410,10 @@ static int vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx) sps->conformance_window_flag = 1; sps->conf_win_left_offset = 0; sps->conf_win_right_offset = -(ctx->surface_width - avctx->width) / 2; +(ctx->surface_width - avctx->width) >> desc->log2_chroma_w; sps->conf_win_top_offset= 0; sps->conf_win_bottom_offset = -(ctx->surface_height - avctx->height) / 2; +(ctx->surface_height - avctx->height) >> desc->log2_chroma_h; } else { sps->conformance_window_flag = 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".