From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 296B642D87 for ; Tue, 7 Jun 2022 13:25:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6644A68B656; Tue, 7 Jun 2022 16:25:56 +0300 (EEST) Received: from shout02.mail.de (shout02.mail.de [62.201.172.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5392F68B45D for ; Tue, 7 Jun 2022 16:25:50 +0300 (EEST) Received: from postfix01.mail.de (postfix01.bt.mail.de [10.0.121.125]) by shout02.mail.de (Postfix) with ESMTP id B9028A0C66 for ; Tue, 7 Jun 2022 15:25:49 +0200 (CEST) Received: from smtp02.mail.de (smtp02.bt.mail.de [10.0.121.212]) by postfix01.mail.de (Postfix) with ESMTP id A0633800C1 for ; Tue, 7 Jun 2022 15:25:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde202009; t=1654608349; bh=M7SoUoePkMlTWH9zWtvgsZbhxedc/tUw0Ikn5NKVAtI=; h=Message-ID:Date:To:From:Subject:From:To:CC:Subject:Reply-To; b=ysdnp7bo7Ef61oDG87j8wuZEf0kxW8D3eAlDOTRGNd8ge+xHV45UPmVyYTx66DMan MDxQyCNpVEOyCv9tpHIgJQuxf3gYqZk6RqW6HfynZqr9sPy75uQyS3nJyAma49WLHE PkErJIw0bDX5GKdGmBkfhF4xiK9/Pk7VF9xpqzIzqyKPRsMBlmJBFSEXnq2UoFlsLw Z+WHPyX1lV0qwj6Sg4S17licp//uVduBy7fL2+w36UYPytZanu/k4TNxjnZqxDNFjx Cem1HWeYTVNwzh16BCJVks/uwCmeBu/u8YFTYCAA8/h2o/3yxet5vpKcpGw24lL3HQ SYh0vdVf+omTg== Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtp02.mail.de (Postfix) with ESMTPSA id 8BBAAA079A for ; Tue, 7 Jun 2022 15:25:48 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------7zaCGj3d83Wey1uJGZ8XA3Fx" Message-ID: <84557813-39af-2393-ccb1-6479318e50ab@mail.de> Date: Tue, 7 Jun 2022 15:25:47 +0200 MIME-Version: 1.0 Content-Language: en-US To: FFmpeg development discussions and patches From: Thilo Borgmann X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 9318 X-purgate-ID: 154282::1654608348-0000737C-771DE0B5/0/0 Subject: [FFmpeg-devel] [RFC] User-defined default enc/dec/mux/dem/etc X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------7zaCGj3d83Wey1uJGZ8XA3Fx Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, currently, if -c:{a,v} is not given, the list of all codecs is successively searched until the first enc/dec is found. If I have two or more enc/dec's for the same codec ID (like by having libx264, libfdk-aac, etc..) it will still be the first in the list that is found that is used if no -c:{v,a} is given. Having a list of user-defined default enc/dec's avoids having the user to always specify their favorite via -c:{v,a}. This patch creates a (redundant) list of default codecs user-defined via configure options. This list is then searched before the complete list of codecs is searched so that all user defaults will be found first. An alternative would be messing with the order of codecs during configure and creation of lavc/codec_list.c to have the defaults found first - which I think is not a good idea. Maybe do something else entirely instead...? For the case you have hwaccel's for the codec ID in question, a default specified currently uses the hwaccel-enc/-dec even if no "-hwaccel something" is given on the command line. What would we want to happen? Stick to use only if given like auto hwaccel decoding? The patch is of course dirty/wip and my shell-Fu is for sure not sufficient to our standards. Anyways, might also be useful to have this for mux/demux, if this is not a horrible idea for some reason to start with? Any comments appreciated before I'd forge it into an actual patch! Thanks, Thilo --------------7zaCGj3d83Wey1uJGZ8XA3Fx Content-Type: text/plain; charset=UTF-8; name="0001-defaults.patch" Content-Disposition: attachment; filename="0001-defaults.patch" Content-Transfer-Encoding: base64 RnJvbSBjMzJmNGU5Y2UxMzY4NTY5MDU0M2QyZDI5NWE1ZWRjYzM5Yjc0ODk5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUaGlsbyBCb3JnbWFubiA8dGhpbG8uYm9yZ21hbm5A bWFpbC5kZT4KRGF0ZTogVHVlLCA3IEp1biAyMDIyIDExOjMzOjI4ICswMjAwClN1YmplY3Q6 IFtQQVRDSF0gZGVmYXVsdHMKCi0tLQogY29uZmlndXJlICAgICAgICAgICAgICB8IDQ4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliYXZjb2RlYy9h bGxjb2RlY3MuYyB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliYXZj b2RlYy9jb2RlYy5oICAgICB8IDExICsrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgOTMg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRl eCAxOTY4NzNjNGFhLi42MDUzYzU5MDc4IDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIv Y29uZmlndXJlCkBAIC00MDQ2LDYgKzQwNDYsMTkgQEAgZG9uZQogCiBlbmFibGUgJEFSQ0hf RVhUX0xJU1QKIAorRU5DT0RFUl9ERUZBVUxUX0xJU1Q9CitERUNPREVSX0RFRkFVTFRfTElT VD0KKworZGVmYXVsdF9lbmNvZGVyKCl7CisgICAgZW5hYmxlZCAkMSAmJgorICAgIEVOQ09E RVJfREVGQVVMVF9MSVNUPSIkRU5DT0RFUl9ERUZBVUxUX0xJU1QgJDEiCit9CisKK2RlZmF1 bHRfZGVjb2RlcigpeworICAgIGVuYWJsZWQgJDEgJiYKKyAgICBERUNPREVSX0RFRkFVTFRf TElTVD0iJERFQ09ERVJfREVGQVVMVF9MSVNUICQxIgorfQorCiBkaWVfdW5rbm93bigpewog ICAgIGVjaG8gIlVua25vd24gb3B0aW9uIFwiJDFcIi4iCiAgICAgZWNobyAiU2VlICQwIC0t aGVscCBmb3IgYXZhaWxhYmxlIG9wdGlvbnMuIgpAQCAtNDE1Niw2ICs0MTY5LDE2IEBAIGZv ciBvcHQgZG8KICAgICAgICAgICAgIFsgIiRsaXN0IiA9ICIiIF0gJiYgd2FybiAiT3B0aW9u ICRvcHQgZGlkIG5vdCBtYXRjaCBhbnl0aGluZyIKICAgICAgICAgICAgIHRlc3QgJGFjdGlv biA9IGVuYWJsZSAmJiB3YXJuX2lmX2dldHNfZGlzYWJsZWQgJGxpc3QKICAgICAgICAgICAg ICRhY3Rpb24gJGxpc3QKKyAgICAgICAgOzsKKyAgICAgICAgIC0tZGVmYXVsdC0qPSopCisg ICAgICAgICAgICBldmFsICQoZWNobyAiJHtvcHQlJT0qfSIgfCBzZWQgJ3MvLS0vYWN0aW9u PS87cy8tLyB0aGluZz0vJykKKyAgICAgICAgICAgIGlzX2luICIke3RoaW5nfXMiICRDT01Q T05FTlRfTElTVCB8fCBkaWVfdW5rbm93biAiJG9wdCIKKyAgICAgICAgICAgIGV2YWwgbGlz dD1cJCQodG91cHBlciAkdGhpbmcpX0xJU1QKKyAgICAgICAgICAgIG5hbWU9JChlY2hvICIk e29wdHZhbH0iIHwgc2VkICJzLywvXyR7dGhpbmd9fC9nIilfJHt0aGluZ30KKyAgICAgICAg ICAgIGxpc3Q9JChmaWx0ZXIgIiRuYW1lIiAkbGlzdCkKKyAgICAgICAgICAgIFsgIiRsaXN0 IiA9ICIiIF0gJiYgd2FybiAiT3B0aW9uICRvcHQgZGlkIG5vdCBtYXRjaCBhbnl0aGluZyIK KyAgICAgICAgICAgIHdhcm5faWZfZ2V0c19kaXNhYmxlZCAkbGlzdAorICAgICAgICAgICAg JHthY3Rpb259XyR7dGhpbmd9ICRsaXN0CiAgICAgICAgIDs7CiAgICAgICAgIC0tZW5hYmxl LXlhc218LS1kaXNhYmxlLXlhc20pCiAgICAgICAgICAgICB3YXJuICJUaGUgJHtvcHR9IG9w dGlvbiBpcyBvbmx5IHByb3ZpZGVkIGZvciBjb21wYXRpYmlsaXR5IGFuZCB3aWxsIGJlXG4i XApAQCAtNzU5Nyw2ICs3NjIwLDMwIEBAIGlmIHRlc3QgLW4gIiRXQVJOSU5HUyI7IHRoZW4K ICAgICBlbmFibGVkIGZhdGFsX3dhcm5pbmdzICYmIGV4aXQgMQogZmkKIAorIyByZW1vdmUg ZGlzYWJsZWQgZGVmYXVsdHMgZnJvbSBsaXN0CitjaGVja19lbmNvZGVyX2RlZmF1bHRfbGlz dCgpeworICAgIEVOQ09ERVJfREVGQVVMVF9MSVNUPSIiCisgICAgZm9yIGRlZiBpbiAiJEAi OyBkbworICAgICAgICBlbmFibGVkICRkZWYgJiYgRU5DT0RFUl9ERUZBVUxUX0xJU1Q9IiRF TkNPREVSX0RFRkFVTFRfTElTVCAkZGVmIgorICAgIGRvbmUKK30KKworY2hlY2tfZGVjb2Rl cl9kZWZhdWx0X2xpc3QoKXsKKyAgICBERUNPREVSX0RFRkFVTFRfTElTVD0iIgorICAgIGZv ciBkZWYgaW4gIiRAIjsgZG8KKyAgICAgICAgZW5hYmxlZCAkZGVmICYmIERFQ09ERVJfREVG QVVMVF9MSVNUPSIkREVDT0RFUl9ERUZBVUxUX0xJU1QgJGRlZiIKKyAgICBkb25lCit9CisK K2NoZWNrX2VuY29kZXJfZGVmYXVsdF9saXN0ICRFTkNPREVSX0RFRkFVTFRfTElTVAorY2hl Y2tfZGVjb2Rlcl9kZWZhdWx0X2xpc3QgJERFQ09ERVJfREVGQVVMVF9MSVNUCisKK0NPREVD X0RFRkFVTFRfTElTVD0iCisgICAgJEVOQ09ERVJfREVGQVVMVF9MSVNUCisgICAgJERFQ09E RVJfREVGQVVMVF9MSVNUCisiCitlY2hvICJDT0RFQ19ERUZBVUxUX0xJU1Q9IiAkQ09ERUNf REVGQVVMVF9MSVNUCisKIHRlc3QgLWUgTWFrZWZpbGUgfHwgZWNobyAiaW5jbHVkZSAkc291 cmNlX3BhdGgvTWFrZWZpbGUiID4gTWFrZWZpbGUKIAogZXNjKCl7CkBAIC03ODgzLDYgKzc5 MzAsNyBAQCBwcmludF9lbmFibGVkX2NvbXBvbmVudHMoKXsKIAogcHJpbnRfZW5hYmxlZF9j b21wb25lbnRzIGxpYmF2ZmlsdGVyL2ZpbHRlcl9saXN0LmMgQVZGaWx0ZXIgZmlsdGVyX2xp c3QgJEZJTFRFUl9MSVNUCiBwcmludF9lbmFibGVkX2NvbXBvbmVudHMgbGliYXZjb2RlYy9j b2RlY19saXN0LmMgRkZDb2RlYyBjb2RlY19saXN0ICRDT0RFQ19MSVNUCitwcmludF9lbmFi bGVkX2NvbXBvbmVudHMgbGliYXZjb2RlYy9jb2RlY19kZWZhdWx0X2xpc3QuYyBGRkNvZGVj IGNvZGVjX2RlZmF1bHRfbGlzdCAkQ09ERUNfREVGQVVMVF9MSVNUCiBwcmludF9lbmFibGVk X2NvbXBvbmVudHMgbGliYXZjb2RlYy9wYXJzZXJfbGlzdC5jIEFWQ29kZWNQYXJzZXIgcGFy c2VyX2xpc3QgJFBBUlNFUl9MSVNUCiBwcmludF9lbmFibGVkX2NvbXBvbmVudHMgbGliYXZj b2RlYy9ic2ZfbGlzdC5jIEZGQml0U3RyZWFtRmlsdGVyIGJpdHN0cmVhbV9maWx0ZXJzICRC U0ZfTElTVAogcHJpbnRfZW5hYmxlZF9jb21wb25lbnRzIGxpYmF2Zm9ybWF0L2RlbXV4ZXJf bGlzdC5jIEFWSW5wdXRGb3JtYXQgZGVtdXhlcl9saXN0ICRERU1VWEVSX0xJU1QKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvYWxsY29kZWNzLmMgYi9saWJhdmNvZGVjL2FsbGNvZGVjcy5j CmluZGV4IGM0NzEzM2FhMTguLjFhODZlY2YzNTMgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv YWxsY29kZWNzLmMKKysrIGIvbGliYXZjb2RlYy9hbGxjb2RlY3MuYwpAQCAtODY2LDggKzg2 NiwxNCBAQCBjb25zdCBGRkNvZGVjICogY29kZWNfbGlzdFtdID0gewogICAgIE5VTEwsCiAg ICAgTlVMTAogfTsKK2NvbnN0IEZGQ29kZWMgKiBjb2RlY19kZWZhdWx0X2xpc3RbXSA9IHsK KyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKICNlbHNlCiAjaW5jbHVkZSAi bGliYXZjb2RlYy9jb2RlY19saXN0LmMiCisjaW5jbHVkZSAibGliYXZjb2RlYy9jb2RlY19k ZWZhdWx0X2xpc3QuYyIKICNlbmRpZgogCiBzdGF0aWMgQVZPbmNlIGF2X2NvZGVjX3N0YXRp Y19pbml0ID0gQVZfT05DRV9JTklUOwpAQCAtODkzLDYgKzg5OSwyMSBAQCBjb25zdCBBVkNv ZGVjICphdl9jb2RlY19pdGVyYXRlKHZvaWQgKipvcGFxdWUpCiAgICAgcmV0dXJuIE5VTEw7 CiB9CiAKK2NvbnN0IEFWQ29kZWMgKmF2X2NvZGVjX2l0ZXJhdGUyKGNvbnN0IHZvaWQgKips aXN0LCB2b2lkICoqb3BhcXVlKQoreworICAgIHVpbnRwdHJfdCBpID0gKHVpbnRwdHJfdCkq b3BhcXVlOworICAgIGNvbnN0IEZGQ29kZWMgKipjb2RlY3MgPSAoY29uc3QgRkZDb2RlYyoq KWxpc3Q7CisgICAgY29uc3QgRkZDb2RlYyAqYyA9IGNvZGVjc1tpXTsKKworICAgIGZmX3Ro cmVhZF9vbmNlKCZhdl9jb2RlY19zdGF0aWNfaW5pdCwgYXZfY29kZWNfaW5pdF9zdGF0aWMp OworCisgICAgaWYgKGMpIHsKKyAgICAgICAgKm9wYXF1ZSA9ICh2b2lkKikoaSArIDEpOwor ICAgICAgICByZXR1cm4gJmMtPnA7CisgICAgfQorICAgIHJldHVybiBOVUxMOworfQorCiBz dGF0aWMgZW51bSBBVkNvZGVjSUQgcmVtYXBfZGVwcmVjYXRlZF9jb2RlY19pZChlbnVtIEFW Q29kZWNJRCBpZCkKIHsKICAgICBzd2l0Y2goaWQpewpAQCAtOTA5LDYgKzkzMCwxOSBAQCBz dGF0aWMgY29uc3QgQVZDb2RlYyAqZmluZF9jb2RlYyhlbnVtIEFWQ29kZWNJRCBpZCwgaW50 ICgqeCkoY29uc3QgQVZDb2RlYyAqKSkKIAogICAgIGlkID0gcmVtYXBfZGVwcmVjYXRlZF9j b2RlY19pZChpZCk7CiAKKyAgICB3aGlsZSAoKHAgPSBhdl9jb2RlY19pdGVyYXRlMigoY29u c3Qgdm9pZCoqKWNvZGVjX2RlZmF1bHRfbGlzdCwgJmkpKSkgeworICAgICAgICBpZiAoIXgo cCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKHAtPmlkID09IGlkKSB7 CisgICAgICAgICAgICBpZiAocC0+Y2FwYWJpbGl0aWVzICYgQVZfQ09ERUNfQ0FQX0VYUEVS SU1FTlRBTCAmJiAhZXhwZXJpbWVudGFsKSB7CisgICAgICAgICAgICAgICAgZXhwZXJpbWVu dGFsID0gcDsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBw OworICAgICAgICB9CisgICAgfQorCisgICAgaSA9IDA7CisKICAgICB3aGlsZSAoKHAgPSBh dl9jb2RlY19pdGVyYXRlKCZpKSkpIHsKICAgICAgICAgaWYgKCF4KHApKQogICAgICAgICAg ICAgY29udGludWU7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2NvZGVjLmggYi9saWJhdmNv ZGVjL2NvZGVjLmgKaW5kZXggMDNlOGJlOTBhMi4uZjljYjQwYmRhNCAxMDA2NDQKLS0tIGEv bGliYXZjb2RlYy9jb2RlYy5oCisrKyBiL2xpYmF2Y29kZWMvY29kZWMuaApAQCAtMjU3LDYg KzI1NywxNyBAQCB0eXBlZGVmIHN0cnVjdCBBVkNvZGVjIHsKICAqLwogY29uc3QgQVZDb2Rl YyAqYXZfY29kZWNfaXRlcmF0ZSh2b2lkICoqb3BhcXVlKTsKIAorLyoqCisgKiBJdGVyYXRl IG92ZXIgYWxsIHJlZ2lzdGVyZWQgY29kZWNzIGluIGEgZ2l2ZW4gYXJyYXkgb2YgY29kZWNz LgorICoKKyAqIEBwYXJhbSBvcGFxdWUgYSBwb2ludGVyIHdoZXJlIGxpYmF2Y29kZWMgd2ls bCBzdG9yZSB0aGUgaXRlcmF0aW9uIHN0YXRlLiBNdXN0CisgKiAgICAgICAgICAgICAgIHBv aW50IHRvIE5VTEwgdG8gc3RhcnQgdGhlIGl0ZXJhdGlvbi4KKyAqCisgKiBAcmV0dXJuIHRo ZSBuZXh0IGRlZmF1bHQgY29kZWMgb3IgTlVMTCB3aGVuIHRoZSBpdGVyYXRpb24gaXMKKyAq ICAgICAgICAgZmluaXNoZWQKKyAqLworY29uc3QgQVZDb2RlYyAqYXZfY29kZWNfaXRlcmF0 ZTIoY29uc3Qgdm9pZCAqKmxpc3QsIHZvaWQgKipvcGFxdWUpOworCiAvKioKICAqIEZpbmQg YSByZWdpc3RlcmVkIGRlY29kZXIgd2l0aCBhIG1hdGNoaW5nIGNvZGVjIElELgogICoKLS0g CjIuMjAuMSAoQXBwbGUgR2l0LTExNykKCg== --------------7zaCGj3d83Wey1uJGZ8XA3Fx Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --------------7zaCGj3d83Wey1uJGZ8XA3Fx--