[FFmpeg-cvslog] avformat/alp: tweak probe function to return MAX-1

2020-03-09 Thread Zane van Iperen
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

2020-03-09 Thread Andriy Gelman
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

2020-03-09 Thread Andriy Gelman
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

2020-03-09 Thread Linjie Fu
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".