[FFmpeg-cvslog] doc/community: update the rules according to voting results

2023-11-08 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov  | Mon Nov  6 
09:27:56 2023 +0100| [88f9164f97bbb4a3de539fb25a478d154176d16d] | committer: 
Anton Khirnov

doc/community: update the rules according to voting results

Cf.:
* http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2023-October/316054.html
* http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2023-November/316618.html

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=88f9164f97bbb4a3de539fb25a478d154176d16d
---

 doc/community.texi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/doc/community.texi b/doc/community.texi
index 2b79850694..92a08ce2b9 100644
--- a/doc/community.texi
+++ b/doc/community.texi
@@ -28,6 +28,8 @@ The General Assembly is made up of active contributors.
 
 Contributors are considered "active contributors" if they have pushed more 
than 20 patches in the last 36 months in the main FFmpeg repository, or if they 
have been voted in by the GA.
 
+The list of active contributors is updated twice each year, on 1st January and 
1st July, 0:00 UTC.
+
 Additional members are added to the General Assembly through a vote after 
proposal by a member of the General Assembly. They are part of the GA for two 
years, after which they need a confirmation by the GA.
 
 A script to generate the current members of the general assembly (minus 
members voted in) can be found in `tools/general_assembly.pl`.

___
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] doc/community: improve wording

2023-11-08 Thread Anton Khirnov
ffmpeg | branch: master | Anton Khirnov  | Mon Nov  6 
09:28:41 2023 +0100| [2b4035d1dc57bc751c28dd8969856b269fad787e] | committer: 
Anton Khirnov

doc/community: improve wording

By intent, and in practice, the "active contributor" criterion applies
to the person authoring the commits, not the one pushing them into the
repository.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2b4035d1dc57bc751c28dd8969856b269fad787e
---

 doc/community.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/community.texi b/doc/community.texi
index 92a08ce2b9..90d2b6f366 100644
--- a/doc/community.texi
+++ b/doc/community.texi
@@ -26,7 +26,7 @@ The General Assembly is sovereign and legitimate for all its 
decisions regarding
 
 The General Assembly is made up of active contributors.
 
-Contributors are considered "active contributors" if they have pushed more 
than 20 patches in the last 36 months in the main FFmpeg repository, or if they 
have been voted in by the GA.
+Contributors are considered "active contributors" if they have authored more 
than 20 patches in the last 36 months in the main FFmpeg repository, or if they 
have been voted in by the GA.
 
 The list of active contributors is updated twice each year, on 1st January and 
1st July, 0:00 UTC.
 

___
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] x86inc: Add REPX macro to repeat instructions/operations

2023-11-08 Thread Henrik Gramner
ffmpeg | branch: master | Henrik Gramner  | Fri Sep 29 
11:36:23 2023 +| [ed8ddf0bd3b188a08ae0b4e21235f7e3e6ce501b] | committer: 
Anton Khirnov

x86inc: Add REPX macro to repeat instructions/operations

When operating on large blocks of data it's common to repeatedly use
an instruction on multiple registers. Using the REPX macro makes it
easy to quickly write dense code to achieve this without having to
explicitly duplicate the same instruction over and over.

For example,

REPX {paddw x, m4}, m0, m1, m2, m3
REPX {mova [r0+16*x], m5}, 0, 1, 2, 3

will expand to

paddw   m0, m4
paddw   m1, m4
paddw   m2, m4
paddw   m3, m4
mova [r0+16*0], m5
mova [r0+16*1], m5
mova [r0+16*2], m5
mova [r0+16*3], m5

Commit taken from x264:
https://code.videolan.org/videolan/x264/-/commit/6d10612ab0007f8f60dd2399182efd696da3ffe4

Signed-off-by: Frank Plowman 
Signed-off-by: Anton Khirnov 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ed8ddf0bd3b188a08ae0b4e21235f7e3e6ce501b
---

 libavutil/x86/x86inc.asm | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 251ee797de..e099ee4b10 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -232,6 +232,16 @@ DECLARE_REG_TMP_SIZE 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
 %define gprsize 4
 %endif
 
+; Repeats an instruction/operation for multiple arguments.
+; Example usage: "REPX {psrlw x, 8}, m0, m1, m2, m3"
+%macro REPX 2-* ; operation, args
+%xdefine %%f(x) %1
+%rep %0 - 1
+%rotate 1
+%%f(%1)
+%endrep
+%endmacro
+
 %macro PUSH 1
 push %1
 %ifidn rstk, rsp

___
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] MAINTAINERS: add myself as a mediacodec and videotoolbox maintainer

2023-11-08 Thread Zhao Zhili
ffmpeg | branch: master | Zhao Zhili  | Tue Nov  7 
11:19:29 2023 +0800| [5a2ca4bf7a3f8ba566283b48f0b8558d8c221e41] | committer: 
Zhao Zhili

MAINTAINERS: add myself as a mediacodec and videotoolbox maintainer

Signed-off-by: Zhao Zhili 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5a2ca4bf7a3f8ba566283b48f0b8558d8c221e41
---

 MAINTAINERS | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index b66c3d09a6..3430e1722b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -268,11 +268,11 @@ Codecs:
 Hardware acceleration:
   dxva2*Hendrik Leppkes, Laurent Aimar, Steve 
Lhomme
   d3d11va*  Steve Lhomme
-  mediacodec*   Matthieu Bouron, Aman Gupta
+  mediacodec*   Matthieu Bouron, Aman Gupta, Zhao Zhili
   vaapi*Haihao Xiang
   vaapi_encode* Mark Thompson, Haihao Xiang
   vdpau*Philip Langdale, Carl Eugen Hoyos
-  videotoolbox* Rick Kern, Aman Gupta
+  videotoolbox* Rick Kern, Aman Gupta, Zhao Zhili
 
 
 libavdevice

___
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] avcodec: LEAD MCMP decoder

2023-11-08 Thread Peter Ross
ffmpeg | branch: master | Peter Ross  | Fri Oct 14 13:19:39 
2022 +1100| [10869cd849504f0792770722be52884644c54fcf] | committer: Peter Ross

avcodec: LEAD MCMP decoder

Partially fixes ticket #798

Reviewed-by: James Almer 
Reviewed-by: Michael Niedermayer 
Reviewed-by: Paul B Mahol 
Signed-off-by: Peter Ross 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=10869cd849504f0792770722be52884644c54fcf
---

 Changelog |   3 +
 configure |   1 +
 doc/general_contents.texi |   1 +
 libavcodec/Makefile   |   1 +
 libavcodec/allcodecs.c|   1 +
 libavcodec/codec_desc.c   |   7 ++
 libavcodec/codec_id.h |   1 +
 libavcodec/leaddata.h |  62 +++
 libavcodec/leaddec.c  | 270 ++
 libavcodec/version.h  |   4 +-
 libavformat/riff.c|   1 +
 11 files changed, 350 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index 8f0606fc26..ca38546262 100644
--- a/Changelog
+++ b/Changelog
@@ -1,6 +1,9 @@
 Entries are sorted chronologically from oldest to youngest within each release,
 releases are sorted from youngest to oldest.
 
+version :
+- LEAD MCMP decoder
+
 version 6.1:
 - libaribcaption decoder
 - Playdate video decoder and demuxer
diff --git a/configure b/configure
index 8ab658f730..46d7a5cf0e 100755
--- a/configure
+++ b/configure
@@ -2887,6 +2887,7 @@ ipu_decoder_select="mpegvideodec"
 jpegls_decoder_select="mjpeg_decoder"
 jv_decoder_select="blockdsp"
 lagarith_decoder_select="llviddsp"
+lead_decoder_select="idctdsp jpegtables"
 ljpeg_encoder_select="jpegtables"
 lscr_decoder_select="inflate_wrapper"
 magicyuv_decoder_select="llviddsp"
diff --git a/doc/general_contents.texi b/doc/general_contents.texi
index c48c812a31..62ca4f7cb6 100644
--- a/doc/general_contents.texi
+++ b/doc/general_contents.texi
@@ -997,6 +997,7 @@ following image formats are supported:
 @item Lagarith   @tab @tab  X
 @item LCL (LossLess Codec Library) MSZH  @tab @tab  X
 @item LCL (LossLess Codec Library) ZLIB  @tab  E  @tab  E
+@item LEAD MCMP  @tab @tab  X
 @item LOCO   @tab @tab  X
 @item LucasArts SANM/Smush   @tab @tab  X
 @tab Used in LucasArts games / SMUSH animations.
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index ab7fba394a..57d57f3ab5 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -479,6 +479,7 @@ OBJS-$(CONFIG_JV_DECODER)  += jvdec.o
 OBJS-$(CONFIG_KGV1_DECODER)+= kgv1dec.o
 OBJS-$(CONFIG_KMVC_DECODER)+= kmvc.o
 OBJS-$(CONFIG_LAGARITH_DECODER)+= lagarith.o lagarithrac.o
+OBJS-$(CONFIG_LEAD_DECODER)+= leaddec.o jpegquanttables.o
 OBJS-$(CONFIG_LJPEG_ENCODER)   += ljpegenc.o mjpegenc_common.o
 OBJS-$(CONFIG_LOCO_DECODER)+= loco.o
 OBJS-$(CONFIG_LSCR_DECODER)+= lscrdec.o png.o pngdec.o pngdsp.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 5136a566f1..2662adb754 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -188,6 +188,7 @@ extern const FFCodec ff_jv_decoder;
 extern const FFCodec ff_kgv1_decoder;
 extern const FFCodec ff_kmvc_decoder;
 extern const FFCodec ff_lagarith_decoder;
+extern const FFCodec ff_lead_decoder;
 extern const FFCodec ff_ljpeg_encoder;
 extern const FFCodec ff_loco_decoder;
 extern const FFCodec ff_lscr_decoder;
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index f556bb94d5..432a9c9ea6 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -1960,6 +1960,13 @@ static const AVCodecDescriptor codec_descriptors[] = {
 .long_name = NULL_IF_CONFIG_SMALL("vMix Video"),
 .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
 },
+{
+.id= AV_CODEC_ID_LEAD,
+.type  = AVMEDIA_TYPE_VIDEO,
+.name  = "lead",
+.long_name = NULL_IF_CONFIG_SMALL("LEAD MCMP"),
+.props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSY,
+},
 
 /* various PCM "codecs" */
 {
diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h
index 29b410b8d3..84ce8e6aa9 100644
--- a/libavcodec/codec_id.h
+++ b/libavcodec/codec_id.h
@@ -324,6 +324,7 @@ enum AVCodecID {
 AV_CODEC_ID_EVC,
 AV_CODEC_ID_RTV1,
 AV_CODEC_ID_VMIX,
+AV_CODEC_ID_LEAD,
 
 /* various PCM "codecs" */
 AV_CODEC_ID_FIRST_AUDIO = 0x1, ///< A dummy id pointing at the 
start of audio codecs
diff --git a/libavcodec/leaddata.h b/libavcodec/leaddata.h
new file mode 100644
index 00..525b582cf7
--- /dev/null
+++ b/libavcodec/leaddata.h
@@ -0,0 +1,62 @@
+/*
+ * LEAD MCMP decoder tables
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version

[FFmpeg-cvslog] avutil/channel_layout: add a 9.1.4 channel layout

2023-11-08 Thread James Almer
ffmpeg | branch: master | James Almer  | Fri Nov  3 13:28:36 
2023 -0300| [04e53927ad8d4e12c2d16ce749b906147a5c2070] | committer: James Almer

avutil/channel_layout: add a 9.1.4 channel layout

Mapping to ITU-R BS.2051-3 "Sound System G" and ITU-R BS.1196-8 "Channel
Configuration 20".

Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=04e53927ad8d4e12c2d16ce749b906147a5c2070
---

 doc/utils.texi| 2 ++
 libavutil/channel_layout.c| 1 +
 libavutil/channel_layout.h| 2 ++
 tests/ref/fate/channel_layout | 1 +
 4 files changed, 6 insertions(+)

diff --git a/doc/utils.texi b/doc/utils.texi
index 0be20643de..a0b8d4b62d 100644
--- a/doc/utils.texi
+++ b/doc/utils.texi
@@ -729,6 +729,8 @@ FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR
 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR
 @item 7.2.3
 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2
+@item 9.1.4
+FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR
 @item hexadecagonal
 FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR
 @item downmix
diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c
index acafdcc5e1..b59d798f29 100644
--- a/libavutil/channel_layout.c
+++ b/libavutil/channel_layout.c
@@ -208,6 +208,7 @@ static const struct channel_layout_name 
channel_layout_map[] = {
 { "7.1.2",  AV_CHANNEL_LAYOUT_7POINT1POINT2   },
 { "7.1.4",  AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK  },
 { "7.2.3",  AV_CHANNEL_LAYOUT_7POINT2POINT3   },
+{ "9.1.4",  AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK  },
 { "hexadecagonal",  AV_CHANNEL_LAYOUT_HEXADECAGONAL   },
 { "downmix",AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, },
 { "22.2",   AV_CHANNEL_LAYOUT_22POINT2,   },
diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h
index 052bf51c26..8dc1a91401 100644
--- a/libavutil/channel_layout.h
+++ b/libavutil/channel_layout.h
@@ -240,6 +240,7 @@ enum AVChannelOrder {
 #define AV_CH_LAYOUT_7POINT1POINT2 
(AV_CH_LAYOUT_7POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
 #define AV_CH_LAYOUT_7POINT1POINT4_BACK 
(AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
 #define AV_CH_LAYOUT_7POINT2POINT3 
(AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_CENTER|AV_CH_LOW_FREQUENCY_2)
+#define AV_CH_LAYOUT_9POINT1POINT4_BACK 
(AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
 #define AV_CH_LAYOUT_HEXADECAGONAL 
(AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
 #define AV_CH_LAYOUT_STEREO_DOWNMIX(AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
 #define AV_CH_LAYOUT_22POINT2  
(AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT)
@@ -413,6 +414,7 @@ typedef struct AVChannelLayout {
 #define AV_CHANNEL_LAYOUT_7POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(10, 
AV_CH_LAYOUT_7POINT1POINT2)
 #define AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(12, 
AV_CH_LAYOUT_7POINT1POINT4_BACK)
 #define AV_CHANNEL_LAYOUT_7POINT2POINT3 AV_CHANNEL_LAYOUT_MASK(12, 
AV_CH_LAYOUT_7POINT2POINT3)
+#define AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(14, 
AV_CH_LAYOUT_9POINT1POINT4_BACK)
 #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, 
AV_CH_LAYOUT_HEXADECAGONAL)
 #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIXAV_CHANNEL_LAYOUT_MASK(2,  
AV_CH_LAYOUT_STEREO_DOWNMIX)
 #define AV_CHANNEL_LAYOUT_22POINT2  AV_CHANNEL_LAYOUT_MASK(24, 
AV_CH_LAYOUT_22POINT2)
diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout
index b84a645e05..ab9bee947b 100644
--- a/tests/ref/fate/channel_layout
+++ b/tests/ref/fate/channel_layout
@@ -32,6 +32,7 @@ cube   FL+FR+BL+BR+TFL+TFR+TBL+TBR
 7.1.2  FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR
 7.1.4  FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR
 7.2.3  FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2
+9.1.4  FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR
 hexadecagonal  FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR
 downmixDL+DR
 22.2   
FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR

___
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] avutil/channel_layout: add a 7.2.3 channel layout

2023-11-08 Thread James Almer
ffmpeg | branch: master | James Almer  | Fri Nov  3 13:09:00 
2023 -0300| [b4169760b0d535a77b607acf8c8934864252a4f5] | committer: James Almer

avutil/channel_layout: add a 7.2.3 channel layout

Mapping to ITU-R BS.2051-3 "Sound System F" and ITU-R BS.1196-8 "Channel
Configuration 15".

Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b4169760b0d535a77b607acf8c8934864252a4f5
---

 doc/utils.texi| 2 ++
 libavutil/channel_layout.c| 1 +
 libavutil/channel_layout.h| 2 ++
 tests/ref/fate/channel_layout | 1 +
 4 files changed, 6 insertions(+)

diff --git a/doc/utils.texi b/doc/utils.texi
index 940d5381e3..0be20643de 100644
--- a/doc/utils.texi
+++ b/doc/utils.texi
@@ -727,6 +727,8 @@ FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR
 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR
 @item 7.1.4
 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR
+@item 7.2.3
+FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2
 @item hexadecagonal
 FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR
 @item downmix
diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c
index 1a36736b7f..acafdcc5e1 100644
--- a/libavutil/channel_layout.c
+++ b/libavutil/channel_layout.c
@@ -207,6 +207,7 @@ static const struct channel_layout_name 
channel_layout_map[] = {
 { "5.1.4",  AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK  },
 { "7.1.2",  AV_CHANNEL_LAYOUT_7POINT1POINT2   },
 { "7.1.4",  AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK  },
+{ "7.2.3",  AV_CHANNEL_LAYOUT_7POINT2POINT3   },
 { "hexadecagonal",  AV_CHANNEL_LAYOUT_HEXADECAGONAL   },
 { "downmix",AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, },
 { "22.2",   AV_CHANNEL_LAYOUT_22POINT2,   },
diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h
index c9c404ef18..052bf51c26 100644
--- a/libavutil/channel_layout.h
+++ b/libavutil/channel_layout.h
@@ -239,6 +239,7 @@ enum AVChannelOrder {
 #define AV_CH_LAYOUT_5POINT1POINT4_BACK 
(AV_CH_LAYOUT_5POINT1POINT2_BACK|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
 #define AV_CH_LAYOUT_7POINT1POINT2 
(AV_CH_LAYOUT_7POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
 #define AV_CH_LAYOUT_7POINT1POINT4_BACK 
(AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
+#define AV_CH_LAYOUT_7POINT2POINT3 
(AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_CENTER|AV_CH_LOW_FREQUENCY_2)
 #define AV_CH_LAYOUT_HEXADECAGONAL 
(AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
 #define AV_CH_LAYOUT_STEREO_DOWNMIX(AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
 #define AV_CH_LAYOUT_22POINT2  
(AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER|AV_CH_BACK_CENTER|AV_CH_LOW_FREQUENCY_2|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_BOTTOM_FRONT_CENTER|AV_CH_BOTTOM_FRONT_LEFT|AV_CH_BOTTOM_FRONT_RIGHT)
@@ -411,6 +412,7 @@ typedef struct AVChannelLayout {
 #define AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(10, 
AV_CH_LAYOUT_5POINT1POINT4_BACK)
 #define AV_CHANNEL_LAYOUT_7POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(10, 
AV_CH_LAYOUT_7POINT1POINT2)
 #define AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(12, 
AV_CH_LAYOUT_7POINT1POINT4_BACK)
+#define AV_CHANNEL_LAYOUT_7POINT2POINT3 AV_CHANNEL_LAYOUT_MASK(12, 
AV_CH_LAYOUT_7POINT2POINT3)
 #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, 
AV_CH_LAYOUT_HEXADECAGONAL)
 #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIXAV_CHANNEL_LAYOUT_MASK(2,  
AV_CH_LAYOUT_STEREO_DOWNMIX)
 #define AV_CHANNEL_LAYOUT_22POINT2  AV_CHANNEL_LAYOUT_MASK(24, 
AV_CH_LAYOUT_22POINT2)
diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout
index ba01e7ae3f..b84a645e05 100644
--- a/tests/ref/fate/channel_layout
+++ b/tests/ref/fate/channel_layout
@@ -31,6 +31,7 @@ cube   FL+FR+BL+BR+TFL+TFR+TBL+TBR
 5.1.4  FL+FR+FC+LFE+BL+BR+TFL+TFR+TBL+TBR
 7.1.2  FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR
 7.1.4  FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR
+7.2.3  FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2
 hexadecagonal  FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR
 downmixDL+DR
 22.2   
FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR

___
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] avutil: bump minor version after recent commits

2023-11-08 Thread James Almer
ffmpeg | branch: master | James Almer  | Wed Nov  8 10:13:50 
2023 -0300| [b82957a66a725568226db4746aa220375c2fbad1] | committer: James Almer

avutil: bump minor version after recent commits

Signed-off-by: James Almer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b82957a66a725568226db4746aa220375c2fbad1
---

 doc/APIchanges  | 4 
 libavutil/version.h | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index d4511ce2dd..12383a28d3 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
 
 API changes, most recent first:
 
+2023-11-08 - xx - lavu 58.32.100 - channel_layout.h
+  Add AV_CH_LAYOUT_7POINT2POINT3 and AV_CHANNEL_LAYOUT_7POINT2POINT3.
+  Add AV_CH_LAYOUT_9POINT1POINT4_BACK and AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK.
+
 2023-10-31 - xx - lavu 58.31.100 - pixdesc.h
   Add AV_PIX_FMT_FLAG_XYZ.
 
diff --git a/libavutil/version.h b/libavutil/version.h
index 589a42b0fa..c5fa7c3692 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  58
-#define LIBAVUTIL_VERSION_MINOR  31
+#define LIBAVUTIL_VERSION_MINOR  32
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \

___
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] doc/html: support texinfo 7.0

2023-11-08 Thread Frank Plowman
ffmpeg | branch: master | Frank Plowman  | Wed Nov  8 
07:55:18 2023 +| [f01fdedb69e4accb1d1555106d8f682ff1f1ddc7] | committer: 
Stefano Sabatini

doc/html: support texinfo 7.0

Resolves trac ticket #10636 (http://trac.ffmpeg.org/ticket/10636).

Texinfo 7.0, released in November 2022, changed the names of various
functions. Compiling docs with Texinfo 7.0 resulted in warnings and
improperly formatted documentation. More old names appear to have
been removed in Texinfo 7.1, released October 2023, which causes docs
compilation to fail.

This commit addresses the issue by adding logic to switch between the old
and new function names depending on the Texinfo version. Texinfo 6.8
produces identical documentation before and after the patch.

CC
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1938238.html
https://bugs.gentoo.org/916104

Signed-off-by: Frank Plowman 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f01fdedb69e4accb1d1555106d8f682ff1f1ddc7
---

 doc/t2h.pm | 106 +
 1 file changed, 85 insertions(+), 21 deletions(-)

diff --git a/doc/t2h.pm b/doc/t2h.pm
index d07d974286..b7485e1f1e 100644
--- a/doc/t2h.pm
+++ b/doc/t2h.pm
@@ -20,8 +20,45 @@
 # License along with FFmpeg; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
+# Texinfo 7.0 changed the syntax of various functions.
+# Provide a shim for older versions.
+sub ff_set_from_init_file($$) {
+my $key = shift;
+my $value = shift;
+if (exists &{'texinfo_set_from_init_file'}) {
+texinfo_set_from_init_file($key, $value);
+} else {
+set_from_init_file($key, $value);
+}
+}
+
+sub ff_get_conf($) {
+my $key = shift;
+if (exists &{'texinfo_get_conf'}) {
+texinfo_get_conf($key);
+} else {
+get_conf($key);
+}
+}
+
+sub get_formatting_function($$) {
+my $obj = shift;
+my $func = shift;
+
+my $sub = $obj->can('formatting_function');
+if ($sub) {
+return $obj->formatting_function($func);
+} else {
+return $obj->{$func};
+}
+}
+
+# determine texinfo version
+my $program_version_num = 
version->declare(ff_get_conf('PACKAGE_VERSION'))->numify;
+my $program_version_6_8 = $program_version_num >= 6.008000;
+
 # no navigation elements
-set_from_init_file('HEADERS', 0);
+ff_set_from_init_file('HEADERS', 0);
 
 sub ffmpeg_heading_command($)
 {
@@ -55,7 +92,7 @@ sub ffmpeg_heading_command($)
 $element = $command->{'parent'};
 }
 if ($element) {
-$result .= &{$self->{'format_element_header'}}($self, $cmdname,
+$result .= &{get_formatting_function($self, 
'format_element_header')}($self, $cmdname,
$command, $element);
 }
 
@@ -112,7 +149,11 @@ sub ffmpeg_heading_command($)
 $cmdname
 = 
$Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
 }
-$result .= &{$self->{'format_heading_text'}}(
+# format_heading_text expects an array of headings for texinfo >= 
7.0
+if ($program_version_num >= 7.00) {
+$heading = [$heading];
+}
+$result .= &{get_formatting_function($self,'format_heading_text')}(
 $self, $cmdname, $heading,
 $heading_level +
 $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
@@ -126,23 +167,19 @@ foreach my $command 
(keys(%Texinfo::Common::sectioning_commands), 'node') {
 texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
 }
 
-# determine if texinfo is at least version 6.8
-my $program_version_num = 
version->declare(get_conf('PACKAGE_VERSION'))->numify;
-my $program_version_6_8 = $program_version_num >= 6.008000;
-
 # print the TOC where @contents is used
 if ($program_version_6_8) {
-set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
+ff_set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
 } else {
-set_from_init_file('INLINE_CONTENTS', 1);
+ff_set_from_init_file('INLINE_CONTENTS', 1);
 }
 
 # make chapters 
-set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
+ff_set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
 
 # Do not add 
-set_from_init_file('DEFAULT_RULE', '');
-set_from_init_file('BIG_RULE', '');
+ff_set_from_init_file('DEFAULT_RULE', '');
+ff_set_from_init_file('BIG_RULE', '');
 
 # Customized file beginning
 sub ffmpeg_begin_file($$$)
@@ -159,7 +196,18 @@ sub ffmpeg_begin_file($$$)
 my ($title, $description, $encoding, $date, $css_lines,
 $doctype, $bodytext, $copying_comment, $after_body_open,
 $extra_head, $program_and_version, $program_homepage,
-$program, $generator) = $self->_file_header_informations($command);
+$program, $generator);
+if ($program_version_num >= 7.000

[FFmpeg-cvslog] doc/html: support texinfo 7.0

2023-11-08 Thread Frank Plowman
ffmpeg | branch: release/5.1 | Frank Plowman  | Wed Nov  
8 07:55:18 2023 +| [db73e0bb1a610c18147a897f73990711d67f6a09] | committer: 
Michael Niedermayer

doc/html: support texinfo 7.0

Resolves trac ticket #10636 (http://trac.ffmpeg.org/ticket/10636).

Texinfo 7.0, released in November 2022, changed the names of various
functions. Compiling docs with Texinfo 7.0 resulted in warnings and
improperly formatted documentation. More old names appear to have
been removed in Texinfo 7.1, released October 2023, which causes docs
compilation to fail.

This commit addresses the issue by adding logic to switch between the old
and new function names depending on the Texinfo version. Texinfo 6.8
produces identical documentation before and after the patch.

CC
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1938238.html
https://bugs.gentoo.org/916104

Signed-off-by: Frank Plowman 
(cherry picked from commit f01fdedb69e4accb1d1555106d8f682ff1f1ddc7)
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=db73e0bb1a610c18147a897f73990711d67f6a09
---

 doc/t2h.pm | 106 +
 1 file changed, 85 insertions(+), 21 deletions(-)

diff --git a/doc/t2h.pm b/doc/t2h.pm
index d07d974286..b7485e1f1e 100644
--- a/doc/t2h.pm
+++ b/doc/t2h.pm
@@ -20,8 +20,45 @@
 # License along with FFmpeg; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
+# Texinfo 7.0 changed the syntax of various functions.
+# Provide a shim for older versions.
+sub ff_set_from_init_file($$) {
+my $key = shift;
+my $value = shift;
+if (exists &{'texinfo_set_from_init_file'}) {
+texinfo_set_from_init_file($key, $value);
+} else {
+set_from_init_file($key, $value);
+}
+}
+
+sub ff_get_conf($) {
+my $key = shift;
+if (exists &{'texinfo_get_conf'}) {
+texinfo_get_conf($key);
+} else {
+get_conf($key);
+}
+}
+
+sub get_formatting_function($$) {
+my $obj = shift;
+my $func = shift;
+
+my $sub = $obj->can('formatting_function');
+if ($sub) {
+return $obj->formatting_function($func);
+} else {
+return $obj->{$func};
+}
+}
+
+# determine texinfo version
+my $program_version_num = 
version->declare(ff_get_conf('PACKAGE_VERSION'))->numify;
+my $program_version_6_8 = $program_version_num >= 6.008000;
+
 # no navigation elements
-set_from_init_file('HEADERS', 0);
+ff_set_from_init_file('HEADERS', 0);
 
 sub ffmpeg_heading_command($)
 {
@@ -55,7 +92,7 @@ sub ffmpeg_heading_command($)
 $element = $command->{'parent'};
 }
 if ($element) {
-$result .= &{$self->{'format_element_header'}}($self, $cmdname,
+$result .= &{get_formatting_function($self, 
'format_element_header')}($self, $cmdname,
$command, $element);
 }
 
@@ -112,7 +149,11 @@ sub ffmpeg_heading_command($)
 $cmdname
 = 
$Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
 }
-$result .= &{$self->{'format_heading_text'}}(
+# format_heading_text expects an array of headings for texinfo >= 
7.0
+if ($program_version_num >= 7.00) {
+$heading = [$heading];
+}
+$result .= &{get_formatting_function($self,'format_heading_text')}(
 $self, $cmdname, $heading,
 $heading_level +
 $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
@@ -126,23 +167,19 @@ foreach my $command 
(keys(%Texinfo::Common::sectioning_commands), 'node') {
 texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
 }
 
-# determine if texinfo is at least version 6.8
-my $program_version_num = 
version->declare(get_conf('PACKAGE_VERSION'))->numify;
-my $program_version_6_8 = $program_version_num >= 6.008000;
-
 # print the TOC where @contents is used
 if ($program_version_6_8) {
-set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
+ff_set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
 } else {
-set_from_init_file('INLINE_CONTENTS', 1);
+ff_set_from_init_file('INLINE_CONTENTS', 1);
 }
 
 # make chapters 
-set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
+ff_set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
 
 # Do not add 
-set_from_init_file('DEFAULT_RULE', '');
-set_from_init_file('BIG_RULE', '');
+ff_set_from_init_file('DEFAULT_RULE', '');
+ff_set_from_init_file('BIG_RULE', '');
 
 # Customized file beginning
 sub ffmpeg_begin_file($$$)
@@ -159,7 +196,18 @@ sub ffmpeg_begin_file($$$)
 my ($title, $description, $encoding, $date, $css_lines,
 $doctype, $bodytext, $copying_comment, $after_body_open,
 $extra_head, $program_and_version, $program_homepage,
-$program, $generator) = $

[FFmpeg-cvslog] doc/html: support texinfo 7.0

2023-11-08 Thread Frank Plowman
ffmpeg | branch: release/6.0 | Frank Plowman  | Wed Nov  
8 07:55:18 2023 +| [302aa941eb3ef5a3d9ff5b13534be64e54cb623e] | committer: 
Michael Niedermayer

doc/html: support texinfo 7.0

Resolves trac ticket #10636 (http://trac.ffmpeg.org/ticket/10636).

Texinfo 7.0, released in November 2022, changed the names of various
functions. Compiling docs with Texinfo 7.0 resulted in warnings and
improperly formatted documentation. More old names appear to have
been removed in Texinfo 7.1, released October 2023, which causes docs
compilation to fail.

This commit addresses the issue by adding logic to switch between the old
and new function names depending on the Texinfo version. Texinfo 6.8
produces identical documentation before and after the patch.

CC
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1938238.html
https://bugs.gentoo.org/916104

Signed-off-by: Frank Plowman 
(cherry picked from commit f01fdedb69e4accb1d1555106d8f682ff1f1ddc7)
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=302aa941eb3ef5a3d9ff5b13534be64e54cb623e
---

 doc/t2h.pm | 106 +
 1 file changed, 85 insertions(+), 21 deletions(-)

diff --git a/doc/t2h.pm b/doc/t2h.pm
index d07d974286..b7485e1f1e 100644
--- a/doc/t2h.pm
+++ b/doc/t2h.pm
@@ -20,8 +20,45 @@
 # License along with FFmpeg; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
+# Texinfo 7.0 changed the syntax of various functions.
+# Provide a shim for older versions.
+sub ff_set_from_init_file($$) {
+my $key = shift;
+my $value = shift;
+if (exists &{'texinfo_set_from_init_file'}) {
+texinfo_set_from_init_file($key, $value);
+} else {
+set_from_init_file($key, $value);
+}
+}
+
+sub ff_get_conf($) {
+my $key = shift;
+if (exists &{'texinfo_get_conf'}) {
+texinfo_get_conf($key);
+} else {
+get_conf($key);
+}
+}
+
+sub get_formatting_function($$) {
+my $obj = shift;
+my $func = shift;
+
+my $sub = $obj->can('formatting_function');
+if ($sub) {
+return $obj->formatting_function($func);
+} else {
+return $obj->{$func};
+}
+}
+
+# determine texinfo version
+my $program_version_num = 
version->declare(ff_get_conf('PACKAGE_VERSION'))->numify;
+my $program_version_6_8 = $program_version_num >= 6.008000;
+
 # no navigation elements
-set_from_init_file('HEADERS', 0);
+ff_set_from_init_file('HEADERS', 0);
 
 sub ffmpeg_heading_command($)
 {
@@ -55,7 +92,7 @@ sub ffmpeg_heading_command($)
 $element = $command->{'parent'};
 }
 if ($element) {
-$result .= &{$self->{'format_element_header'}}($self, $cmdname,
+$result .= &{get_formatting_function($self, 
'format_element_header')}($self, $cmdname,
$command, $element);
 }
 
@@ -112,7 +149,11 @@ sub ffmpeg_heading_command($)
 $cmdname
 = 
$Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
 }
-$result .= &{$self->{'format_heading_text'}}(
+# format_heading_text expects an array of headings for texinfo >= 
7.0
+if ($program_version_num >= 7.00) {
+$heading = [$heading];
+}
+$result .= &{get_formatting_function($self,'format_heading_text')}(
 $self, $cmdname, $heading,
 $heading_level +
 $self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
@@ -126,23 +167,19 @@ foreach my $command 
(keys(%Texinfo::Common::sectioning_commands), 'node') {
 texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
 }
 
-# determine if texinfo is at least version 6.8
-my $program_version_num = 
version->declare(get_conf('PACKAGE_VERSION'))->numify;
-my $program_version_6_8 = $program_version_num >= 6.008000;
-
 # print the TOC where @contents is used
 if ($program_version_6_8) {
-set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
+ff_set_from_init_file('CONTENTS_OUTPUT_LOCATION', 'inline');
 } else {
-set_from_init_file('INLINE_CONTENTS', 1);
+ff_set_from_init_file('INLINE_CONTENTS', 1);
 }
 
 # make chapters 
-set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
+ff_set_from_init_file('CHAPTER_HEADER_LEVEL', 2);
 
 # Do not add 
-set_from_init_file('DEFAULT_RULE', '');
-set_from_init_file('BIG_RULE', '');
+ff_set_from_init_file('DEFAULT_RULE', '');
+ff_set_from_init_file('BIG_RULE', '');
 
 # Customized file beginning
 sub ffmpeg_begin_file($$$)
@@ -159,7 +196,18 @@ sub ffmpeg_begin_file($$$)
 my ($title, $description, $encoding, $date, $css_lines,
 $doctype, $bodytext, $copying_comment, $after_body_open,
 $extra_head, $program_and_version, $program_homepage,
-$program, $generator) = $

[FFmpeg-cvslog] avutil/hwcontext_vulkan: fix run on macOS

2023-11-08 Thread Zhao Zhili
ffmpeg | branch: master | Zhao Zhili  | Tue Nov  7 
23:44:45 2023 +0800| [6f39dee9747144106c6f4d6be9ebf9fe50491162] | committer: 
Zhao Zhili

avutil/hwcontext_vulkan: fix run on macOS

VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME is required on macOS,
and VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR flag should
be set.

Signed-off-by: Zhao Zhili 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6f39dee9747144106c6f4d6be9ebf9fe50491162
---

 libavutil/hwcontext_vulkan.c | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 8481427b42..521ad76690 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -405,7 +405,6 @@ typedef struct VulkanOptExtension {
 } VulkanOptExtension;
 
 static const VulkanOptExtension optional_instance_exts[] = {
-/* Pointless, here avoid zero-sized structs */
 { VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,  
FF_VK_EXT_NO_FLAG},
 };
 
@@ -784,6 +783,16 @@ static int create_instance(AVHWDeviceContext *ctx, 
AVDictionary *opts)
 inst_props.pNext = &validation_features;
 }
 
+#ifdef __APPLE__
+for (int i = 0; i < inst_props.enabledExtensionCount; i++) {
+if (!strcmp(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
+inst_props.ppEnabledExtensionNames[i])) {
+inst_props.flags |= 
VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
+break;
+}
+}
+#endif
+
 /* Try to create the instance */
 ret = vk->CreateInstance(&inst_props, hwctx->alloc, &hwctx->inst);
 

___
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".