diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-05-19 00:01:59 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-05-19 00:01:59 +0100 |
commit | 9d4810f84de876ec9d0ae03d0d44224500b41188 (patch) | |
tree | 1ca0866afdc949e405d20635d3d7f2115abb9ace /media-libs | |
parent | 075fd1f8cabc5879c6eb42127fb84c3058677fde (diff) |
gentoo auto-resync : 19:05:2024 - 00:01:59
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/Manifest.gz | bin | 69340 -> 69340 bytes | |||
-rw-r--r-- | media-libs/libpano13/Manifest | 2 | ||||
-rw-r--r-- | media-libs/libpano13/libpano13-2.9.22.ebuild | 2 | ||||
-rw-r--r-- | media-libs/libquicktime/Manifest | 4 | ||||
-rw-r--r-- | media-libs/libquicktime/files/libquicktime-1.2.4-faad2.patch | 86 | ||||
-rw-r--r-- | media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg-codecs.patch | 651 | ||||
-rw-r--r-- | media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg5.patch | 342 | ||||
-rw-r--r-- | media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild | 124 | ||||
-rw-r--r-- | media-libs/libvpl-tools/Manifest | 2 | ||||
-rw-r--r-- | media-libs/libvpl-tools/libvpl-tools-1.0.0-r2.ebuild (renamed from media-libs/libvpl-tools/libvpl-tools-1.0.0-r1.ebuild) | 28 |
10 files changed, 1230 insertions, 11 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz Binary files differindex 3374e23113e3..f4740ae14dad 100644 --- a/media-libs/Manifest.gz +++ b/media-libs/Manifest.gz diff --git a/media-libs/libpano13/Manifest b/media-libs/libpano13/Manifest index c6954b3b4e90..b93d617f9339 100644 --- a/media-libs/libpano13/Manifest +++ b/media-libs/libpano13/Manifest @@ -2,5 +2,5 @@ DIST libpano13-2.9.21.tar.gz 2801535 BLAKE2B e4b2ea3894b4b53e6bbaaea39370254ad3b DIST libpano13-2.9.22.tar.gz 2800628 BLAKE2B 9b21efd6e742cf6bc6636d76c085a631fd08b91390adc1fdbe1c099f7031183810b5aa152c3c20a8c48c3321f49c49903433411080a6b88e61f163cf85d243f2 SHA512 dfb8496afd632e284309a1c71df50d75cc51a5815dfd77e9a38d26ce07ee2cf60b15a4b47d300368990cdf58ed03b6fe5bb79ebf880e700fb5ce6222e0b19b35 EBUILD libpano13-2.9.21-r1.ebuild 776 BLAKE2B 569f414e6bf5071153308885f357c27e9596b4121d1c0f5abc26c6b9b234a4ea07da44bbb0082fecf15d56ede9d6e55971a7baa734f777b9bac55fe016a27c3e SHA512 52dfb46507167847f0075910c3f0f58c0f5e3d2686e7dd6cfff46aee03448016c2c3c868358a28047045d413b6b51058a214217379545f7a61ddfd77aa4e935f EBUILD libpano13-2.9.21-r2.ebuild 912 BLAKE2B 7fd22fdbb2d2e6ed22568daccae798006902fa4e96e02f3dda68e4fce4dd479303c416deae94b5152a0c7ae7c927dad6f72cebfeeac8b4bb0d9fafdcc4ce1153 SHA512 a7da0ad46fdf0dc12333612eae3f5ec89bb5935f00d3f9d6deb730be2622cac3702ba85359bb8f3ce5ade25c6ddb680236b5ad4b0b185929aab37aab5a3f8820 -EBUILD libpano13-2.9.22.ebuild 1017 BLAKE2B 50f8c7315be0abf0f92dc04f08d7fe7588bbb5b947bbea53b9c29ce332c4269e4a34a2dbe06e62126c1b0058d61ad87093201883af0dc546ec9a03e5bd1b638e SHA512 51237837688a6b6fd4e24c7eda5bc0e5e888e3400a9e4c27c6218b77700d46f531c887ecdccb96cef1b3ca2950e2ca1b0d205ac6395091582b6edb11fa6bfdc6 +EBUILD libpano13-2.9.22.ebuild 1015 BLAKE2B 27dd3b8235acbb89cc9b80504332a3ecb54bd8b002b721a96a8256e0b86d8095bbb5fc5f4fbe1475a41bbf614f999a0f1589eaf783e401bf63662fc1a8f003d6 SHA512 585fd73d7c62ad252d153868f0ae6362690fc2d1e18f2264989c0f599aabec22ad4fa9c01685b73f14f15a206ad82f4db3779169a527641ff0db674078aa9258 MISC metadata.xml 462 BLAKE2B 2043b0e6c260305e607a04d5d8e541c82408344a00e920c891eb1981aa05b75998f845800bb0a4fd16f3e1c83bcd2f4118e673845e47142a3ec58fa5df86ac3b SHA512 6f05c609c8a8f5a41b18009a1fa5258071328b99b33a670e0e2c56e1aaea398112759c42902b2e822684dc0f5b2979cda7efc59adf97dfe53c27d14707e1a6f0 diff --git a/media-libs/libpano13/libpano13-2.9.22.ebuild b/media-libs/libpano13/libpano13-2.9.22.ebuild index 59e0394e6022..4c20d8a8cf67 100644 --- a/media-libs/libpano13/libpano13-2.9.22.ebuild +++ b/media-libs/libpano13/libpano13-2.9.22.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/panotools/${P}.tar.gz" LICENSE="GPL-2" SLOT="0/3" -KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="java static-libs suitesparse" DEPEND="media-libs/libpng:= diff --git a/media-libs/libquicktime/Manifest b/media-libs/libquicktime/Manifest index c6ce18c5b5bf..6d374431afd2 100644 --- a/media-libs/libquicktime/Manifest +++ b/media-libs/libquicktime/Manifest @@ -1,10 +1,14 @@ AUX libquicktime-1.2.4+libav-9.patch 464 BLAKE2B 0a29c9a3d1eae31731b76536a22aa23a4888b8ac55c3176c60a152330fce37e8031a4269fa28026133c7061cd769b1428bf24fe59fed574e39d52ea00b6e00a0 SHA512 691110dc18f6646e2e17f40c6a42911a6b8eaa8cea20b5595f20d218d51da11d11923a3001b7ad7c3ad6bd0d90e712b95ccee5526fa1bec176cd27813e4a775e AUX libquicktime-1.2.4-CVE-2016-2399.patch 801 BLAKE2B 2794d13a0afa8a948f8f1335d7ee0a3d75691bbb9c619716707f533f52e8a8826c4a883b25db2ad8fb6544ce8b7c0fa883158b110c10b896e124b6ade9d18945 SHA512 759fee13bc96db036063efcd8288c0e467ce811b597cf6c0ceed1c8927593963174f4f3324512db0e773e936a4b9fe5c8d8fc9e0f00b2ce59110661175986f9c AUX libquicktime-1.2.4-CVE-2017-9122_et_al.patch 4584 BLAKE2B 8d5be1d1a297d89da1256035042a9760227815b8e73cb994b04b3ac4a2d7b83f79625bb62dc89266ac2f3eebd4cb033c8eb66388aca6097f4dbcc86d919dbd72 SHA512 93639d3fe12eefddd1b457be702ec0a4a64a73c44fce6b3134e50bb9a4e7e5f25d256d3ace6ec5e774f2db4c0d68725f3e35e901f7d932a4be9cba566eab528e +AUX libquicktime-1.2.4-faad2.patch 1574 BLAKE2B 175a32d051c438d59f428fb5a5d082e267f5503d9ff5ecded8302b74278f0bd1d0c5680161c1dd99089a116f9617fb37cdc697115979c5901c88e201ab221039 SHA512 3e751330ebbc4026363efd45b21c60c313ea169a57a5cdfa46125e126aab34c2dea3629ce92e7b0b5f14693db4f11723177fd28611e2e979cc8fcd506077509e +AUX libquicktime-1.2.4-ffmpeg-codecs.patch 18673 BLAKE2B e770000ea0c39f77bc36e7e5252e281b9f9d06a136c655cd702332cc8581f128263e172e41eab3b7ce2543da7065d8efc28c048588e577db5ee6ec4bfeb1019b SHA512 20c535444de1f3e9a68c35ee4eb409f150e6340fd43dda4544791454f42c031b24c08f651e0351f5a22dcb59459ac372aa70d82a1d20482b2d997589e19087fd AUX libquicktime-1.2.4-ffmpeg2.patch 4046 BLAKE2B 1db6a761fa94a32741a05919d12d0211964647a61ffd32ba8619530ec089c980999aa1ded534c2652eb3baf15558bcb9842a23634eeef043a6ed3eb3f8e794ff SHA512 32ddf394aad4ed80e89ec72a534e0466268ab0061b991815e905b78eae55a7d935117b0915faf6f7f51bd7e2d9fbaa4b0e07bfcef1ef1e2f4a7e2061c489122d AUX libquicktime-1.2.4-ffmpeg29.patch 13436 BLAKE2B 8a1e7b5df65f5297f59aa17c4a52706413c1ffd88d8645de7359ec26f7059101ab81ac135cf7ef707a8acbeb709e1a6dae03d6a7e7f70c7e88185ebb271acbe4 SHA512 2a7e06c03b0f64f02b923c1a0e7121f4e1ea735f19a6df8ce8daf18177ead132d1ae921c64f3770042db3bbf29f15a7fcceece835d475e052c4c3bb7139c9e2e AUX libquicktime-1.2.4-ffmpeg4.patch 14723 BLAKE2B bd1299c24b738b3752e4d8d50ed1b2fa2f208c83e577876118d115fca22293e102614ae0cdc168060115f7145d951d290bccf21154fda4aabf55329d310b6aca SHA512 1b11a82d694654976a5f79cd8feb27eec3810e09a66dc58ca576eaf1f96e4948abd4dae7955a7da6cf99ae6ffef9e183b39090d96cc6b5fe216b4c4f4faff7a8 +AUX libquicktime-1.2.4-ffmpeg5.patch 11768 BLAKE2B e67d8b0ac52a37594c1499270b04a74963b01567567d7469579238ba177ea7259215378d03484474bdc7caef309585c53263b4e87a68a5f8ed0b332e0118b675 SHA512 bfaa78504b93402a07e6e92db92322cf178ab67db3c61d1c67db5644796b07330885f857fdcac09271a6bbfd5dee29e9d567294fb0357f29b18072b06a4b762e AUX libquicktime-1.2.4-implicit-func-decl.patch 235 BLAKE2B 275b71da56e9d499865e95b4c84e8a7b4e0b294daa8dc95bfeb1ad6588cace9822b17d7645561195e8d8c569ec7de94f7319e2f2ad8dfd13e6a18667b479e80f SHA512 e3ebd066dcdf393a7b08e7c592f664261b87ba7d2cfa5cad2d4bf364c25477b9290ffd30ea124dce7f09ce3b3c3139026d5685f2059b3d277f227c8eec4a9cc4 DIST libquicktime-1.2.4.tar.gz 1028626 BLAKE2B 6c50965be5d19fb4c57ea6b36f2581ebd575d78a34f2df7029ce2c6ee560e8135a953a2e85d91d189e2c01b97c99804d0eab602866b88a5f07c36351174680f0 SHA512 6ab6cd62ae2361bb3ad73725e9e8baa2b03361bc23e9e34b24f90c0e2bec4337de950ed7f30a6a1d2e67ab33e8f0c43538369fd07e417f54b84583a3c331f8dd EBUILD libquicktime-1.2.4-r4.ebuild 3789 BLAKE2B db3b52366c958e1c77b43290b11c3e950e09281c802d4fb75703323e39c0ff52197287dfca754c29a2368fdd4cb485397ad3d4fb5710d73aa92c45254cc41fc6 SHA512 b6fafc44148314c85d11348fe59cf6e25c915131c4f1b7524d29f10015ea48e674552a8209bfa8e99b439dc3a8cbddb83876ca415e56fbe77ac74f4342324c57 +EBUILD libquicktime-1.2.4-r5.ebuild 3628 BLAKE2B 81a5931947cf988cbf72647ef94ee12c1bdd33a7199612cb96bff8ad8073d275ce62aabfea0892d8a51b962cf059fe41ca3dc78b3d34c97eac9e2e7ab591c361 SHA512 696766dc4826b44d4908d0d486994a13c62575246b5fffcf62480f953169975bcd5a86e12c07959077a48ec287bb48cc07de1d82920f72c5a8bf53a0340bb017 MISC metadata.xml 306 BLAKE2B 5dde92ce1f7506afb07de09c7c6148c2c4d2f82a2bcd5a7cb6397af0353b6b867d68a504e5eb0f9cce160c444f69b64708d3e737ec0f71309b8fad6510586d8a SHA512 83fe67ab5171754f4c61fd1546c39ffef692be44cd1a76ae00744a0587f8d03cdd37c02a952c8ee231adf32ee510fe362c6b36ff8bf235524d6f7510adb63686 diff --git a/media-libs/libquicktime/files/libquicktime-1.2.4-faad2.patch b/media-libs/libquicktime/files/libquicktime-1.2.4-faad2.patch new file mode 100644 index 000000000000..563f46426f26 --- /dev/null +++ b/media-libs/libquicktime/files/libquicktime-1.2.4-faad2.patch @@ -0,0 +1,86 @@ +diff -ruN a/configure.ac b/configure.ac +--- a/configure.ac 2012-03-29 21:44:28.000000000 +0200 ++++ b/configure.ac 2020-02-09 18:27:31.599127781 +0100 +@@ -728,82 +728,9 @@ + + if test "x$with_faad2" != "xno"; then + +-OLD_CFLAGS=$CFLAGS +-OLD_LIBS=$LIBS +- + CFLAGS="$CFLAGS" + LIBS="$LIBS -lfaad -lm" + +-AC_MSG_CHECKING(for neaacdec.h usability for faad2) +- +- +-AC_TRY_RUN([ +- #include <neaacdec.h> +- #include <stdio.h> +- main() +- { +- int faad_major; +- int faad_minor; +- faacDecHandle dec; +- +- if(sscanf(FAAD2_VERSION, "%d.%d", &faad_major, &faad_minor) < 2) +- return -1; +- dec = faacDecOpen(); +- if(!dec) +- return -1; +- return 0; +- } +- ], +- [ +- # program could be run +- have_faad2="true" +- AC_MSG_RESULT(yes) +- FAAD2_CFLAGS=$CFLAGS +- FAAD2_LIBS=$LIBS +- AC_DEFINE(HAVE_NEAACDEC_H) +- ], +- # program could not be run +- AC_MSG_RESULT(no) +-) +- +-if test "x$have_faad2" != "xtrue"; then +- +-AC_MSG_CHECKING(for faad.h usability for faad2) +- +-AC_TRY_RUN([ +- #include <faad.h> +- #include <stdio.h> +- main() +- { +- int faad_major; +- int faad_minor; +- faacDecHandle dec; +- +- if(sscanf(FAAD2_VERSION, "%d.%d", &faad_major, &faad_minor) < 2) +- return -1; +- dec = faacDecOpen(); +- if(!dec) +- return -1; +- return 0; +- } +- ], +- [ +- # program could be run +- have_faad2="true" +- AC_MSG_RESULT(yes) +- FAAD2_CFLAGS=$CFLAGS +- FAAD2_LIBS=$LIBS +- +- +- ], +- # program could not be run +- AC_MSG_RESULT(no) +-) +- +-fi +- +-CFLAGS=$OLD_CFLAGS +-LIBS=$OLD_LIBS + + fi + diff --git a/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg-codecs.patch b/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg-codecs.patch new file mode 100644 index 000000000000..8de9a288c176 --- /dev/null +++ b/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg-codecs.patch @@ -0,0 +1,651 @@ +diff -ruN a/plugins/ffmpeg/audio.c b/plugins/ffmpeg/audio.c +--- a/plugins/ffmpeg/audio.c 2012-03-29 21:44:28.000000000 +0200 ++++ b/plugins/ffmpeg/audio.c 2020-02-09 19:08:03.716063846 +0100 +@@ -626,7 +626,7 @@ + { + /* If the codec is mp3, make sure to decode the very last frame */ + +- if((codec->avctx->codec_id == CODEC_ID_MP3) && ++ if((codec->avctx->codec_id == AV_CODEC_ID_MP3) && + (codec->bytes_in_chunk_buffer >= 4)) + { + if(!mpa_decode_header(&mph, codec->chunk_buffer, (const mpa_header*)0)) +@@ -695,7 +695,7 @@ + + /* Some really broken mp3 files have the header bytes split across 2 chunks */ + +- if(codec->avctx->codec_id == CODEC_ID_MP3) ++ if(codec->avctx->codec_id == AV_CODEC_ID_MP3) + { + if(codec->bytes_in_chunk_buffer < 4) + { +@@ -806,7 +806,7 @@ + + if(bytes_decoded < 0) + { +- if(codec->avctx->codec_id == CODEC_ID_MP3) ++ if(codec->avctx->codec_id == AV_CODEC_ID_MP3) + { + /* For mp3, bytes_decoded < 0 means, that the frame should be muted */ + memset(&codec->sample_buffer[track_map->channels * (codec->sample_buffer_end - +@@ -866,8 +866,8 @@ + quicktime_audio_map_t *track_map = &file->atracks[track]; + quicktime_ffmpeg_audio_codec_t *codec = track_map->codec->priv; + +- if((codec->decoder->id == CODEC_ID_MP2) || +- (codec->decoder->id == CODEC_ID_MP3)) ++ if((codec->decoder->id == AV_CODEC_ID_MP2) || ++ (codec->decoder->id == AV_CODEC_ID_MP3)) + { + mpa_header h; + uint32_t header; +@@ -909,7 +909,7 @@ + else + track_map->ci.bitrate = h.bitrate; + } +- else if(codec->decoder->id == CODEC_ID_AC3) ++ else if(codec->decoder->id == AV_CODEC_ID_AC3) + { + a52_header h; + uint8_t * ptr; +@@ -986,7 +986,7 @@ + #endif + /* Some codecs need extra stuff */ + +- if(codec->decoder->id == CODEC_ID_ALAC) ++ if(codec->decoder->id == AV_CODEC_ID_ALAC) + { + header = quicktime_wave_get_user_atom(track_map->track, "alac", &header_len); + if(header) +@@ -995,7 +995,7 @@ + codec->avctx->extradata_size = header_len; + } + } +- if(codec->decoder->id == CODEC_ID_QDM2) ++ if(codec->decoder->id == AV_CODEC_ID_QDM2) + { + header = quicktime_wave_get_user_atom(track_map->track, "QDCA", &header_len); + if(header) +@@ -1495,9 +1495,9 @@ + codec_base->decode_audio = lqt_ffmpeg_decode_audio; + codec_base->set_parameter = set_parameter; + +- if((decoder->id == CODEC_ID_MP3) || (decoder->id == CODEC_ID_MP2)) ++ if((decoder->id == AV_CODEC_ID_MP3) || (decoder->id == AV_CODEC_ID_MP2)) + codec_base->read_packet = read_packet_mpa; +- else if(decoder->id == CODEC_ID_AC3) ++ else if(decoder->id == AV_CODEC_ID_AC3) + { + codec_base->write_packet = write_packet_ac3; + codec_base->read_packet = read_packet_ac3; +diff -ruN a/plugins/ffmpeg/lqt_ffmpeg.c b/plugins/ffmpeg/lqt_ffmpeg.c +--- a/plugins/ffmpeg/lqt_ffmpeg.c 2012-02-15 20:48:30.000000000 +0100 ++++ b/plugins/ffmpeg/lqt_ffmpeg.c 2020-02-09 19:07:17.929831925 +0100 +@@ -386,7 +386,7 @@ + struct CODECIDMAP codecidmap_v[] = + { + { +- .id = CODEC_ID_MPEG1VIDEO, ++ .id = AV_CODEC_ID_MPEG1VIDEO, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -397,7 +397,7 @@ + .wav_ids = { LQT_WAV_ID_NONE } + }, + { +- .id = CODEC_ID_MPEG4, ++ .id = AV_CODEC_ID_MPEG4, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -415,7 +415,7 @@ + .compression_id = LQT_COMPRESSION_MPEG4_ASP, + }, + { +- .id = CODEC_ID_MSMPEG4V1, ++ .id = AV_CODEC_ID_MSMPEG4V1, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -426,7 +426,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_MSMPEG4V2, ++ .id = AV_CODEC_ID_MSMPEG4V2, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -437,7 +437,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_MSMPEG4V3, ++ .id = AV_CODEC_ID_MSMPEG4V3, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -453,7 +453,7 @@ + .do_encode = 1, + }, + { +- .id = CODEC_ID_MSMPEG4V3, ++ .id = AV_CODEC_ID_MSMPEG4V3, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -468,7 +468,7 @@ + }, + #if 0 + { +- .id = CODEC_ID_WMV1, ++ .id = AV_CODEC_ID_WMV1, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -481,7 +481,7 @@ + }, + #endif + { +- .id = CODEC_ID_H263, ++ .id = AV_CODEC_ID_H263, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -493,7 +493,7 @@ + .compatibility_flags = LQT_FILE_QT_OLD | LQT_FILE_QT | LQT_FILE_MP4 | LQT_FILE_3GP, + }, + { +- .id = CODEC_ID_H263, ++ .id = AV_CODEC_ID_H263, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -508,7 +508,7 @@ + .do_encode = 1, + }, + { +- .id = CODEC_ID_H264, ++ .id = AV_CODEC_ID_H264, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -519,7 +519,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_H263P, ++ .id = AV_CODEC_ID_H263P, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -533,7 +533,7 @@ + .do_encode = 1, + }, + { +- .id = CODEC_ID_H263I, ++ .id = AV_CODEC_ID_H263I, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -544,7 +544,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_SVQ1, ++ .id = AV_CODEC_ID_SVQ1, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -555,7 +555,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_SVQ3, ++ .id = AV_CODEC_ID_SVQ3, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -566,7 +566,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_MJPEG, ++ .id = AV_CODEC_ID_MJPEG, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -580,7 +580,7 @@ + .do_encode = 1, + }, + { +- .id = CODEC_ID_MJPEGB, ++ .id = AV_CODEC_ID_MJPEGB, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -594,7 +594,7 @@ + }, + #if LIBAVCODEC_BUILD >= 3346688 + { +- .id = CODEC_ID_TARGA, ++ .id = AV_CODEC_ID_TARGA, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -606,7 +606,7 @@ + #endif + #if LIBAVCODEC_BUILD >= 3347456 + { +- .id = CODEC_ID_TIFF, ++ .id = AV_CODEC_ID_TIFF, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -617,7 +617,7 @@ + }, + #endif + { +- .id = CODEC_ID_8BPS, ++ .id = AV_CODEC_ID_8BPS, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -627,7 +627,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_INDEO3, ++ .id = AV_CODEC_ID_INDEO3, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -638,7 +638,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_RPZA, ++ .id = AV_CODEC_ID_RPZA, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -648,7 +648,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_SMC, ++ .id = AV_CODEC_ID_SMC, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -658,7 +658,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_CINEPAK, ++ .id = AV_CODEC_ID_CINEPAK, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -669,7 +669,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_CYUV, ++ .id = AV_CODEC_ID_CYUV, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -680,7 +680,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_QTRLE, ++ .id = AV_CODEC_ID_QTRLE, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -693,7 +693,7 @@ + .encoding_colormodels = (int[]){ BC_RGB888, BC_RGBA8888, LQT_COLORMODEL_NONE }, + }, + { +- .id = CODEC_ID_MSRLE, ++ .id = AV_CODEC_ID_MSRLE, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -703,7 +703,7 @@ + .wav_ids = { LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_DVVIDEO, ++ .id = AV_CODEC_ID_DVVIDEO, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -719,7 +719,7 @@ + .image_sizes = image_sizes_dv, + }, + { +- .id = CODEC_ID_DVVIDEO, ++ .id = AV_CODEC_ID_DVVIDEO, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -735,7 +735,7 @@ + .image_sizes = image_sizes_dv, + }, + { +- .id = CODEC_ID_DVVIDEO, ++ .id = AV_CODEC_ID_DVVIDEO, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -751,7 +751,7 @@ + }, + /* DVCPRO HD (decoding only for now) */ + { +- .id = CODEC_ID_DVVIDEO, ++ .id = AV_CODEC_ID_DVVIDEO, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -772,7 +772,7 @@ + // .do_encode = 1 + }, + { +- .id = CODEC_ID_FFVHUFF, ++ .id = AV_CODEC_ID_FFVHUFF, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -785,7 +785,7 @@ + .do_encode = 1 + }, + { +- .id = CODEC_ID_FFV1, ++ .id = AV_CODEC_ID_FFV1, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -801,7 +801,7 @@ + }, + #if LIBAVCODEC_BUILD >= 3352576 + { +- .id = CODEC_ID_DNXHD, ++ .id = AV_CODEC_ID_DNXHD, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -817,7 +817,7 @@ + }, + #endif + { +- .id = CODEC_ID_MPEG2VIDEO, ++ .id = AV_CODEC_ID_MPEG2VIDEO, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -839,7 +839,7 @@ + struct CODECIDMAP codecidmap_a[] = + { + { +- .id = CODEC_ID_MP3, ++ .id = AV_CODEC_ID_MP3, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -851,7 +851,7 @@ + .wav_ids = { 0x50, 0x55, LQT_WAV_ID_NONE }, + }, + { +- .id = CODEC_ID_MP2, ++ .id = AV_CODEC_ID_MP2, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -866,7 +866,7 @@ + .compression_id = LQT_COMPRESSION_MP2, + }, + { +- .id = CODEC_ID_AC3, ++ .id = AV_CODEC_ID_AC3, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -881,7 +881,7 @@ + .compression_id = LQT_COMPRESSION_AC3, + }, + { +- .id = CODEC_ID_QDM2, ++ .id = AV_CODEC_ID_QDM2, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -896,7 +896,7 @@ + #if 1 + /* Doesn't work as long as audio chunks are not split into VBR "Samples" */ + { +- .id = CODEC_ID_ALAC, ++ .id = AV_CODEC_ID_ALAC, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -909,7 +909,7 @@ + #if 1 + /* Sounds ugly */ + { +- .id = CODEC_ID_ADPCM_MS, ++ .id = AV_CODEC_ID_ADPCM_MS, + .index = -1, + .encoder = NULL, + .decoder = NULL, +@@ -922,7 +922,7 @@ + #if 1 + /* Sounds ugly */ + { +- .id = CODEC_ID_ADPCM_IMA_WAV, ++ .id = AV_CODEC_ID_ADPCM_IMA_WAV, + .index = -1, + .encoder = NULL, + .decoder = NULL, +diff -ruN a/plugins/ffmpeg/video.c b/plugins/ffmpeg/video.c +--- a/plugins/ffmpeg/video.c 2012-02-25 20:46:56.000000000 +0100 ++++ b/plugins/ffmpeg/video.c 2020-02-09 19:07:44.399580606 +0100 +@@ -400,7 +400,7 @@ + codec->reinterpret_pix_fmt = codec->avctx->pix_fmt; + + /* First we try codec-specific colormodel matching. */ +- if(codec->decoder->id == CODEC_ID_DNXHD) ++ if(codec->decoder->id == AV_CODEC_ID_DNXHD) + { + /* FFMpeg supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10 for DNxHD, which + we sometimes interpret as PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10. */ +@@ -438,7 +438,7 @@ + quicktime_ffmpeg_video_codec_t *codec = vtrack->codec->priv; + codec->avctx->pix_fmt = lqt_ffmpeg_get_ffmpeg_colormodel(vtrack->stream_cmodel); + +- if (codec->encoder->id == CODEC_ID_DNXHD) ++ if (codec->encoder->id == AV_CODEC_ID_DNXHD) + { + /* FFMpeg's DNxHD encoder only supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10 + and doesn't know anything about PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10 +@@ -728,13 +728,13 @@ + + /* Set extradata: It's done differently for each codec */ + +- if(codec->decoder->id == CODEC_ID_SVQ3) ++ if(codec->decoder->id == AV_CODEC_ID_SVQ3) + { + extradata = trak->mdia.minf.stbl.stsd.table[0].table_raw + 4; + extradata_size = trak->mdia.minf.stbl.stsd.table[0].table_raw_size - 4; + + } +- else if(codec->decoder->id == CODEC_ID_H264) ++ else if(codec->decoder->id == AV_CODEC_ID_H264) + { + user_atom = quicktime_stsd_get_user_atom(trak, "avcC", &user_atom_len); + +@@ -753,7 +753,7 @@ + } + + } +- else if(codec->decoder->id == CODEC_ID_MPEG4) ++ else if(codec->decoder->id == AV_CODEC_ID_MPEG4) + { + if(trak->mdia.minf.stbl.stsd.table[0].has_esds) + { +@@ -947,15 +947,15 @@ + } + #endif + } +- if(codec->decoder->id == CODEC_ID_DVVIDEO) ++ if(codec->decoder->id == AV_CODEC_ID_DVVIDEO) + { + if(vtrack->stream_cmodel == BC_YUV420P) + vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_DVPAL; + vtrack->interlace_mode = LQT_INTERLACE_BOTTOM_FIRST; + vtrack->ci.id = LQT_COMPRESSION_DV; + } +- else if((codec->decoder->id == CODEC_ID_MPEG4) || +- (codec->decoder->id == CODEC_ID_H264)) ++ else if((codec->decoder->id == AV_CODEC_ID_MPEG4) || ++ (codec->decoder->id == AV_CODEC_ID_H264)) + { + if(vtrack->stream_cmodel == BC_YUV420P) + vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_MPEG2; +@@ -1299,13 +1299,13 @@ + { + if(vtrack->stream_cmodel == BC_YUV420P) + { +- if(codec->encoder->id == CODEC_ID_MPEG4) ++ if(codec->encoder->id == AV_CODEC_ID_MPEG4) + { + vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_MPEG2; + /* enable interlaced encoding */ + vtrack->interlace_mode = LQT_INTERLACE_NONE; + } +- else if(codec->encoder->id == CODEC_ID_DVVIDEO) ++ else if(codec->encoder->id == AV_CODEC_ID_DVVIDEO) + { + vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_DVPAL; + } +@@ -1340,7 +1340,7 @@ + codec->avctx->sample_aspect_ratio.num = pixel_width; + codec->avctx->sample_aspect_ratio.den = pixel_height; + /* Use global headers for mp4v */ +- if(codec->encoder->id == CODEC_ID_MPEG4) ++ if(codec->encoder->id == AV_CODEC_ID_MPEG4) + { + if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML))) + { +@@ -1364,12 +1364,12 @@ + } + #endif + } +- else if((codec->encoder->id == CODEC_ID_MSMPEG4V3) && (trak->strl) && ++ else if((codec->encoder->id == AV_CODEC_ID_MSMPEG4V3) && (trak->strl) && + !strncmp(trak->strl->strf.bh.biCompression, "DIV3", 4)) + { + strncpy(trak->strl->strh.fccHandler, "div3", 4); + } +- else if((codec->encoder->id == CODEC_ID_H263) && ++ else if((codec->encoder->id == AV_CODEC_ID_H263) && + (file->file_type & (LQT_FILE_MP4|LQT_FILE_3GP))) + { + uint8_t d263_data[] = +@@ -1383,7 +1383,7 @@ + strncpy(trak->mdia.minf.stbl.stsd.table[0].format, + "s263", 4); + } +- else if(codec->encoder->id == CODEC_ID_FFVHUFF) ++ else if(codec->encoder->id == AV_CODEC_ID_FFVHUFF) + { + if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML))) + { +@@ -1391,7 +1391,7 @@ + codec->write_global_header = 1; + } + } +- else if(codec->encoder->id == CODEC_ID_QTRLE) ++ else if(codec->encoder->id == AV_CODEC_ID_QTRLE) + { + if(vtrack->stream_cmodel == BC_RGBA8888) + { +@@ -1402,11 +1402,11 @@ + vtrack->track->mdia.minf.stbl.stsd.table[0].depth = 32; + } + } +- else if(codec->encoder->id == CODEC_ID_DVVIDEO) ++ else if(codec->encoder->id == AV_CODEC_ID_DVVIDEO) + { + set_dv_fourcc(width, height, vtrack->stream_cmodel, trak); + } +- else if(codec->encoder->id == CODEC_ID_DNXHD) ++ else if(codec->encoder->id == AV_CODEC_ID_DNXHD) + { + if(vtrack->interlace_mode != LQT_INTERLACE_NONE) + { +@@ -1558,12 +1558,12 @@ + + #endif + +- if(!was_initialized && codec->encoder->id == CODEC_ID_DNXHD) ++ if(!was_initialized && codec->encoder->id == AV_CODEC_ID_DNXHD) + setup_avid_atoms(file, vtrack, codec->buffer, bytes_encoded); + + if(bytes_encoded) + { +- if (pts == AV_NOPTS_VALUE || (codec->encoder->id == CODEC_ID_DNXHD && pts == 0)) ++ if (pts == AV_NOPTS_VALUE || (codec->encoder->id == AV_CODEC_ID_DNXHD && pts == 0)) + { + /* Some codecs don't bother generating presentation timestamps. + FFMpeg's DNxHD encoder doesn't even bother to set it to AV_NOPTS_VALUE. */ +@@ -1590,13 +1590,13 @@ + + if(codec->write_global_header && !codec->global_header_written) + { +- if(codec->encoder->id == CODEC_ID_FFVHUFF) ++ if(codec->encoder->id == AV_CODEC_ID_FFVHUFF) + { + quicktime_user_atoms_add_atom(&trak->mdia.minf.stbl.stsd.table[0].user_atoms, + "glbl", + codec->avctx->extradata, codec->avctx->extradata_size ); + } +- else if(codec->encoder->id == CODEC_ID_MPEG4) ++ else if(codec->encoder->id == AV_CODEC_ID_MPEG4) + { + int advanced = 0; + if(codec->avctx->max_b_frames || +@@ -1903,18 +1903,18 @@ + codec_base->encode_video = lqt_ffmpeg_encode_video; + codec_base->set_pass = set_pass_ffmpeg; + +- if(encoder->id == CODEC_ID_MPEG4) ++ if(encoder->id == AV_CODEC_ID_MPEG4) + { + codec_base->writes_compressed = writes_compressed_mpeg4; + codec_base->init_compressed = init_compressed_mpeg4; + codec_base->write_packet = write_packet_mpeg4; + } +- else if(encoder->id == CODEC_ID_MPEG2VIDEO) ++ else if(encoder->id == AV_CODEC_ID_MPEG2VIDEO) + { + codec_base->writes_compressed = writes_compressed_imx; + codec_base->init_compressed = init_compressed_imx; + } +- else if(encoder->id == CODEC_ID_DVVIDEO) ++ else if(encoder->id == AV_CODEC_ID_DVVIDEO) + { + codec_base->init_compressed = init_compressed_dv; + } +@@ -1922,7 +1922,7 @@ + } + if(decoder) + { +- if(decoder->id == CODEC_ID_H264) ++ if(decoder->id == AV_CODEC_ID_H264) + codec_base->read_packet = read_packet_h264; + codec_base->decode_video = lqt_ffmpeg_decode_video; + } diff --git a/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg5.patch b/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg5.patch new file mode 100644 index 000000000000..d340f084af41 --- /dev/null +++ b/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg5.patch @@ -0,0 +1,342 @@ +--- a/plugins/ffmpeg/audio.c ++++ b/plugins/ffmpeg/audio.c +@@ -423,8 +423,8 @@ static int a52_header_read(a52_header * + typedef struct + { + AVCodecContext * avctx; +- AVCodec * encoder; +- AVCodec * decoder; ++ AVCodec const * encoder; ++ AVCodec const * decoder; + + int initialized; + +@@ -512,7 +512,6 @@ static int decode_chunk_vbr(quicktime_t + + #if DECODE_AUDIO4 + AVFrame f; +- int got_frame; + #endif + + chunk_packets = lqt_audio_num_vbr_packets(file, track, track_map->cur_chunk, &num_samples); +@@ -548,13 +547,14 @@ static int decode_chunk_vbr(quicktime_t + codec->pkt.size = packet_size + AV_INPUT_BUFFER_PADDING_SIZE; + + #if DECODE_AUDIO4 +- frame_bytes = avcodec_decode_audio4(codec->avctx, &f, +- &got_frame, &codec->pkt); +- if(frame_bytes < 0) ++ if(avcodec_send_packet(codec->avctx, &codec->pkt) < 0 && ++ avcodec_receive_frame(codec->avctx, &f) < 0) + { + lqt_log(file, LQT_LOG_ERROR, LOG_DOMAIN, "avcodec_decode_audio4 error"); + break; + } ++ frame_bytes = codec->pkt.size; ++ + bytes_decoded = f.nb_samples * 2 * track_map->channels; + memcpy(&codec->sample_buffer[track_map->channels * + (codec->sample_buffer_end - +@@ -615,7 +615,6 @@ static int decode_chunk(quicktime_t * fi + + #if DECODE_AUDIO4 + AVFrame f; +- int got_frame; + #endif + + /* Read chunk */ +@@ -764,14 +763,14 @@ static int decode_chunk(quicktime_t * fi + codec->pkt.size = codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE; + + #if DECODE_AUDIO4 +- +- frame_bytes = avcodec_decode_audio4(codec->avctx, &f, +- &got_frame, &codec->pkt); +- if(frame_bytes < 0) ++ if(avcodec_send_packet(codec->avctx, &codec->pkt) < 0 || ++ avcodec_receive_frame(codec->avctx, &f) < 0) + { + lqt_log(file, LQT_LOG_ERROR, LOG_DOMAIN, "avcodec_decode_audio4 error"); + break; + } ++ frame_bytes = codec->pkt.size; ++ + bytes_decoded = f.nb_samples * 2 * track_map->channels; + memcpy(&codec->sample_buffer[track_map->channels * + (codec->sample_buffer_end - +@@ -1198,7 +1197,6 @@ static int lqt_ffmpeg_encode_audio(quick + #if ENCODE_AUDIO2 + AVFrame f; + AVPacket pkt; +- int got_packet; + #endif + + if(!codec->initialized) +@@ -1274,15 +1272,11 @@ static int lqt_ffmpeg_encode_audio(quick + codec->avctx->frame_size * channels * 2, + 1); + +- if(avcodec_encode_audio2(codec->avctx, &pkt, +- &f, &got_packet) < 0) ++ if(avcodec_send_frame(codec->avctx, &f) < 0 || ++ avcodec_receive_packet(codec->avctx, &pkt) < 0) + return 0; + +- if(got_packet && pkt.size) +- frame_bytes = pkt.size; +- else +- frame_bytes = 0; +- ++ frame_bytes = pkt.size; + #else + frame_bytes = avcodec_encode_audio(codec->avctx, codec->chunk_buffer, + codec->chunk_buffer_alloc, +@@ -1474,8 +1468,9 @@ static int read_packet_ac3(quicktime_t * + } + + void quicktime_init_audio_codec_ffmpeg(quicktime_codec_t * codec_base, +- quicktime_audio_map_t *atrack, AVCodec *encoder, +- AVCodec *decoder) ++ quicktime_audio_map_t *atrack, ++ const AVCodec *encoder, ++ const AVCodec *decoder) + { + quicktime_ffmpeg_audio_codec_t *codec; + +--- a/plugins/ffmpeg/ffmpeg.h ++++ b/plugins/ffmpeg/ffmpeg.h +@@ -30,10 +30,12 @@ + + void quicktime_init_video_codec_ffmpeg(quicktime_codec_t * codec, + quicktime_video_map_t *vtrack, +- AVCodec *encoder, AVCodec *decoder); ++ const AVCodec *encoder, ++ const AVCodec *decoder); + void quicktime_init_audio_codec_ffmpeg(quicktime_codec_t * codec, + quicktime_audio_map_t *vtrack, +- AVCodec *encoder, AVCodec *decoder); ++ const AVCodec *encoder, ++ const AVCodec *decoder); + + void lqt_ffmpeg_set_parameter(AVCodecContext * ctx, + #if LIBAVCODEC_VERSION_MAJOR >= 54 +--- a/plugins/ffmpeg/lqt_ffmpeg.c ++++ b/plugins/ffmpeg/lqt_ffmpeg.c +@@ -315,8 +315,8 @@ struct CODECIDMAP + { + int id; + int index; +- AVCodec *encoder; +- AVCodec *decoder; ++ AVCodec const *encoder; ++ AVCodec const *decoder; + lqt_parameter_info_static_t * encode_parameters; + lqt_parameter_info_static_t * decode_parameters; + lqt_image_size_static_t * image_sizes; +@@ -947,7 +947,9 @@ static void ffmpeg_map_init(void) + return; + } + ++#if LIBAVCODEC_VERSION_MAJOR < 59 + avcodec_register_all(); ++#endif + // avcodec_init(); + ffmpeg_num_video_codecs = 0; + ffmpeg_num_audio_codecs = 0; +--- a/plugins/ffmpeg/params.c ++++ b/plugins/ffmpeg/params.c +@@ -124,12 +124,14 @@ typedef struct + } + + ++#if LIBAVCODEC_VERSION_MAJOR < 59 + enum_t prediction_method[] = + { + { "Left", FF_PRED_LEFT }, + { "Plane", FF_PRED_PLANE }, + { "Median", FF_PRED_MEDIAN } + }; ++#endif + + enum_t compare_func[] = + { +@@ -193,7 +195,9 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_INT("ff_max_qdiff",max_qdiff); + PARAM_INT("ff_max_b_frames",max_b_frames); + PARAM_FLOAT("ff_b_quant_factor",b_quant_factor); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_INT("ff_b_frame_strategy",b_frame_strategy); ++#endif + + #if LIBAVCODEC_VERSION_MAJOR >= 55 + PARAM_DICT_INT("ff_luma_elim_threshold","luma_elim_threshold"); +@@ -216,7 +220,9 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_FLOAT("ff_spatial_cplx_masking",spatial_cplx_masking); + PARAM_FLOAT("ff_p_masking",p_masking); + PARAM_FLOAT("ff_dark_masking",dark_masking); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_ENUM("ff_prediction_method",prediction_method,prediction_method); ++#endif + PARAM_ENUM("ff_me_cmp",me_cmp,compare_func); + PARAM_CMP_CHROMA("ff_me_cmp_chroma",me_cmp); + PARAM_ENUM("ff_me_sub_cmp",me_sub_cmp,compare_func); +@@ -227,17 +233,23 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_CMP_CHROMA("ff_ildct_cmp_chroma",ildct_cmp); + PARAM_INT("ff_dia_size",dia_size); + PARAM_INT("ff_last_predictor_count",last_predictor_count); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_INT("ff_pre_me",pre_me); ++#endif + PARAM_ENUM("ff_me_pre_cmp",me_pre_cmp,compare_func); + PARAM_CMP_CHROMA("ff_pre_me_cmp_chroma",me_pre_cmp); + PARAM_INT("ff_pre_dia_size",pre_dia_size); + PARAM_INT("ff_me_subpel_quality",me_subpel_quality); + PARAM_INT("ff_me_range",me_range); + PARAM_ENUM("ff_mb_decision",mb_decision,mb_decision); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_INT("ff_scenechange_threshold",scenechange_threshold); ++#endif + PARAM_DICT_INT("ff_lmin", "lmin"); + PARAM_DICT_INT("ff_lmax", "lmax"); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_INT("ff_noise_reduction",noise_reduction); ++#endif + PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000); + + #if LIBAVCODEC_VERSION_MAJOR >= 55 +@@ -253,9 +265,13 @@ void lqt_ffmpeg_set_parameter(AVCodecCon + PARAM_DICT_INT("ff_border_masking","border_mask"); + PARAM_QP2LAMBDA("ff_mb_lmin", mb_lmin); + PARAM_QP2LAMBDA("ff_mb_lmax", mb_lmax); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_INT("ff_me_penalty_compensation",me_penalty_compensation); ++#endif + PARAM_INT("ff_bidir_refine",bidir_refine); ++#if LIBAVCODEC_VERSION_MAJOR < 59 + PARAM_INT("ff_brd_scale",brd_scale); ++#endif + PARAM_FLAG("ff_flag_qscale",AV_CODEC_FLAG_QSCALE); + PARAM_FLAG("ff_flag_4mv",AV_CODEC_FLAG_4MV); + PARAM_FLAG("ff_flag_qpel",AV_CODEC_FLAG_QPEL); +--- a/plugins/ffmpeg/video.c ++++ b/plugins/ffmpeg/video.c +@@ -61,8 +61,8 @@ enum AvidYuvRange + typedef struct + { + AVCodecContext * avctx; +- AVCodec * encoder; +- AVCodec * decoder; ++ AVCodec const * encoder; ++ AVCodec const * decoder; + int initialized; + + int decoding_delay; +@@ -878,10 +878,12 @@ static int lqt_ffmpeg_decode_video(quick + } + #endif + +- if(avcodec_decode_video2(codec->avctx, +- codec->frame, +- &got_pic, +- &codec->pkt) < 0) ++ if(avcodec_send_packet(codec->avctx, &codec->pkt) == 0 && ++ avcodec_receive_frame(codec->avctx, codec->frame) == 0) ++ { ++ got_pic = 1; ++ } ++ else + { + lqt_log(file, LQT_LOG_ERROR, LOG_DOMAIN, "Skipping corrupted frame"); + continue; +@@ -1062,10 +1064,8 @@ static void resync_ffmpeg(quicktime_t *f + #if LIBAVCODEC_BUILD >= ((52<<16)+(26<<8)+0) + codec->pkt.data = codec->buffer; + codec->pkt.size = buffer_size; +- avcodec_decode_video2(codec->avctx, +- codec->frame, +- &got_pic, +- &codec->pkt); ++ got_pic = (avcodec_send_packet(codec->avctx, &codec->pkt) == 0 && ++ avcodec_receive_frame(codec->avctx, codec->frame) == 0); + #else + avcodec_decode_video(codec->avctx, + codec->frame, +@@ -1139,7 +1139,9 @@ static int init_imx_encoder(quicktime_t + codec->avctx->intra_dc_precision = 2; + codec->avctx->qmin = 1; + codec->avctx->qmax = 3; ++#if (LIBAVCODEC_VERSION_MAJOR < 59) + codec->avctx->rtp_payload_size = 1; // ?? ++#endif + av_dict_set(&codec->options, "rc_buf_aggressivity", "0.25", 0); + codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_LOW_DELAY; + +@@ -1290,7 +1292,6 @@ static int lqt_ffmpeg_encode_video(quick + int stats_len; + #if ENCODE_VIDEO2 + AVPacket pkt; +- int got_packet; + #endif + int64_t pts; + int kf; +@@ -1530,16 +1531,12 @@ static int lqt_ffmpeg_encode_video(quick + #if ENCODE_VIDEO2 // New + av_init_packet(&pkt); + pkt.data = codec->buffer; +- pkt.size = codec->buffer_alloc; ++ pkt.size = bytes_encoded = codec->buffer_alloc; + +- if(avcodec_encode_video2(codec->avctx, &pkt, codec->frame, &got_packet) < 0) ++ if(avcodec_send_frame(codec->avctx, codec->frame) < 0 || ++ avcodec_receive_packet(codec->avctx, &pkt) < 0) + return -1; + +- if(got_packet) +- bytes_encoded = pkt.size; +- else +- bytes_encoded = 0; +- + pts = pkt.pts; + kf = !!(pkt.flags & AV_PKT_FLAG_KEY); + +@@ -1621,7 +1618,6 @@ static int flush(quicktime_t *file, int + + #if ENCODE_VIDEO2 + AVPacket pkt; +- int got_packet; + #endif + + /* Do nothing if we didn't encode anything yet */ +@@ -1631,18 +1627,13 @@ static int flush(quicktime_t *file, int + #if ENCODE_VIDEO2 + av_init_packet(&pkt); + pkt.data = codec->buffer; +- pkt.size = codec->buffer_alloc; ++ pkt.size = bytes_encoded = codec->buffer_alloc; + +- if(avcodec_encode_video2(codec->avctx, &pkt, (AVFrame*)0, &got_packet) < 0) ++ if(avcodec_send_frame(codec->avctx, NULL) < 0 || ++ avcodec_receive_packet(codec->avctx, &pkt) < 0) + return -1; + +- if(got_packet) +- bytes_encoded = pkt.size; +- else +- return 0; +- + pts = pkt.pts; +- + kf = !!(pkt.flags & AV_PKT_FLAG_KEY); + + #else +@@ -1872,8 +1863,8 @@ static int init_compressed_dv(quicktime_ + + void quicktime_init_video_codec_ffmpeg(quicktime_codec_t * codec_base, + quicktime_video_map_t *vtrack, +- AVCodec *encoder, +- AVCodec *decoder) ++ const AVCodec *encoder, ++ const AVCodec *decoder) + { + quicktime_ffmpeg_video_codec_t *codec; + char *compressor; diff --git a/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild b/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild new file mode 100644 index 000000000000..cb5a5489826c --- /dev/null +++ b/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal + +DESCRIPTION="An enhanced version of the quicktime4linux library" +HOMEPAGE="http://libquicktime.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="aac alsa doc dv encode ffmpeg gtk jpeg lame cpu_flags_x86_mmx opengl png static-libs vorbis X x264" + +RDEPEND=" + sys-libs/zlib + >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] + aac? ( + >=media-libs/faad2-2.7-r3[${MULTILIB_USEDEP}] + encode? ( >=media-libs/faac-1.28-r3[${MULTILIB_USEDEP}] ) + ) + alsa? ( >=media-libs/alsa-lib-1.0.20 ) + dv? ( >=media-libs/libdv-1.0.0-r3[${MULTILIB_USEDEP}] ) + ffmpeg? ( >=media-video/ffmpeg-4:=[${MULTILIB_USEDEP}] ) + gtk? ( x11-libs/gtk+:2 ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + lame? ( >=media-sound/lame-3.99.5-r1[${MULTILIB_USEDEP}] ) + opengl? ( virtual/opengl ) + png? ( >=media-libs/libpng-1.6.10:0[${MULTILIB_USEDEP}] ) + vorbis? ( + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + ) + X? ( + x11-libs/libX11 + x11-libs/libXaw + x11-libs/libXext + x11-libs/libXt + x11-libs/libXv + ) + x264? ( >=media-libs/x264-0.0.20130506:=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + sys-devel/gettext + doc? ( app-text/doxygen ) + X? ( x11-base/xorg-proto )" + +REQUIRED_USE="opengl? ( X )" + +DOCS=( ChangeLog README TODO ) + +PATCHES=( + "${FILESDIR}"/${P}+libav-9.patch + "${FILESDIR}"/${P}-ffmpeg2.patch + "${FILESDIR}"/${P}-ffmpeg29.patch + "${FILESDIR}"/${P}-CVE-2016-2399.patch + "${FILESDIR}"/${P}-CVE-2017-9122_et_al.patch + "${FILESDIR}"/${P}-implicit-func-decl.patch + "${FILESDIR}"/${P}-faad2.patch + "${FILESDIR}"/${P}-ffmpeg-codecs.patch + "${FILESDIR}"/${P}-ffmpeg4.patch + "${FILESDIR}"/${P}-ffmpeg5.patch +) + +src_prepare() { + default + elibtoolize # Required for .so versioning on g/fbsd +} + +multilib_src_configure() { + # utils use: alsa, opengl, gtk+, X + + ECONF_SOURCE=${S} \ + econf \ + --enable-gpl \ + $(use_enable static-libs static) \ + $(use_enable cpu_flags_x86_mmx asm) \ + $(multilib_native_use_with doc doxygen) \ + $(use vorbis || echo --without-vorbis) \ + $(use_with lame) \ + $(multilib_native_use_with X x) \ + $(multilib_native_use_with opengl) \ + $(multilib_native_use_with alsa) \ + $(multilib_native_use_with gtk) \ + $(use_with dv libdv) \ + $(use_with jpeg libjpeg) \ + $(use_with ffmpeg) \ + $(use_with png libpng) \ + --without-schroedinger \ + $(use_with aac faac) \ + $(use encode || echo --without-faac) \ + $(use_with aac faad2) \ + $(use_with x264) \ + --without-cpuflags + + if ! multilib_is_native_abi; then + # disable building utilities + sed -i -e '/SUBDIRS =/s:utils::' Makefile || die + fi +} + +multilib_src_install_all() { + einstalldocs + find "${D}" -name '*.la' -delete || die + + # Compatibility with software that uses quicktime prefix, but + # don't do that when building for Darwin/MacOS + [[ ${CHOST} != *-darwin* ]] && dosym /usr/include/lqt /usr/include/quicktime +} + +pkg_preinst() { + if [[ -d /usr/include/quicktime && ! -L /usr/include/quicktime ]]; then + elog "For compatibility with other quicktime libraries, ${PN} was" + elog "going to create a /usr/include/quicktime symlink, but for some" + elog "reason that is a directory on your system." + + elog "Please check that is empty, and remove it, or submit a bug" + elog "telling us which package owns the directory." + die "/usr/include/quicktime is a directory." + fi +} diff --git a/media-libs/libvpl-tools/Manifest b/media-libs/libvpl-tools/Manifest index ad056e6dca68..e7d58e8d7486 100644 --- a/media-libs/libvpl-tools/Manifest +++ b/media-libs/libvpl-tools/Manifest @@ -1,3 +1,3 @@ DIST libvpl-tools-1.0.0.tar.gz 1280283 BLAKE2B 67e2d0339893751a572c133ef34bbde05a254de1d460da3226088608e85aa253c585fe00d3edca05d629d65d0ddb8617c85e0cb87ff25b2cb56d85717834e959 SHA512 d4225eadbed4993a80461119db1175f196b271086d79be5312e74ac7c8d1395c9ba13149145d979441cd6958ef80c7a1755c37374091fa7b7ce7581df570ffb1 -EBUILD libvpl-tools-1.0.0-r1.ebuild 1204 BLAKE2B 33aa3353395dc32461de4a07b7653335250e48b192ef3ccfaf7cf6e08f3f4b353e2519149b7f0c9e057c71cfd5e4670fd75cec4d323ceecdbe315113b88d9d57 SHA512 7d061ce9b44c7c6229cc1cc9859e3885f08bcceea1d49b37586a4392c317d94ab120fdd0acee4136eca2ae0bf527819364df614ea2313bffe03727c0e12dc405 +EBUILD libvpl-tools-1.0.0-r2.ebuild 1431 BLAKE2B 34b4acb192ddc82e233ddf715730aa05da58df3443d0844c2634c9093dd039e64fc822dd0ca187f20a9cdd524297ec92bce4a2339c6b26240d99b3eaaa922349 SHA512 c32618d8e4fd93168a51babe2f886f0b13182397b61ce89dd6a1c532d8271e35dd8dcd0b55dc96e253d94f498e83a920306f8a6fd52655ac29d8447799082a76 MISC metadata.xml 405 BLAKE2B c982a523bf698ab07b871f4c15d1b5b690721dadeddf845c3dacfdaf8c9335b66df03b12b0d90ad684843e0ca1af0d92ef73c40ae6d93380c5bb580d718bc7ec SHA512 809830c4eed32d149a73ce87f9a1de441335cd5adb7ec9649873954af1eceb7635402eda79cbc9ec39162c8875455309d29d9da16caaf6e683f13de21534a69f diff --git a/media-libs/libvpl-tools/libvpl-tools-1.0.0-r1.ebuild b/media-libs/libvpl-tools/libvpl-tools-1.0.0-r2.ebuild index 503d1172c45c..ba84438f5c04 100644 --- a/media-libs/libvpl-tools/libvpl-tools-1.0.0-r1.ebuild +++ b/media-libs/libvpl-tools/libvpl-tools-1.0.0-r2.ebuild @@ -13,19 +13,21 @@ LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" -IUSE="dri drm test vaapi wayland X" +IUSE="dri +drm opencl test +vaapi wayland X" RESTRICT="!test? ( test )" REQUIRED_USE=" - dri? ( X drm ) + dri? ( X ) + opencl? ( X ) + vaapi? ( drm ) + wayland? ( vaapi ) X? ( vaapi ) - wayland? ( drm ) " RDEPEND=" - x11-libs/libpciaccess - vaapi? ( media-libs/libva[X?,wayland?,drm(+)?] ) drm? ( x11-libs/libdrm ) + opencl? ( virtual/opencl ) + vaapi? ( media-libs/libva[X?,wayland?,drm(+)?] ) wayland? ( dev-libs/wayland ) @@ -33,25 +35,35 @@ RDEPEND=" x11-libs/libX11 x11-libs/libxcb ) + x11-libs/libpciaccess >=media-libs/libvpl-2.11.0 " + DEPEND="${RDEPEND} wayland? ( dev-libs/wayland-protocols ) " + BDEPEND="virtual/pkgconfig" src_configure() { local mycmakeargs=( -DBUILD_SHARED_LIBS=ON -DBUILD_TESTS="$(usex test)" + + -DBUILD_EXPERIMENTAL="$(usex X)" -DTOOLS_ENABLE_X11="$(usex X)" - -DENABLE_WAYLAND="$(usex wayland)" - -DENABLE_X11="$(usex X)" + -DTOOLS_ENABLE_SCREEN_CAPTURE="$(usex X)" + -DTOOLS_ENABLE_RENDER="$(usex X)" + -DTOOLS_ENABLE_OPENCL="$(usex opencl)" + -DENABLE_DRI3="$(usex dri)" - -DENABLE_VA="$(usex vaapi)" -DENABLE_DRM="$(usex drm)" + -DENABLE_VA="$(usex vaapi)" + -DENABLE_WAYLAND="$(usex wayland)" + -DENABLE_X11="$(usex X)" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" ) |