After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 763297 - x264enc: Add parameter to explicitly load a specific x264 library
x264enc: Add parameter to explicitly load a specific x264 library
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
unspecified
Other All
: Normal enhancement
: 1.11.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-03-08 09:35 UTC by Sebastian Dröge (slomo)
Modified: 2016-11-15 12:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
x264enc: Add parameter to explicitly load a specific x264 library (23.26 KB, patch)
2016-03-08 09:35 UTC, Sebastian Dröge (slomo)
none Details | Review
x264enc: Add configure parameter to specify additional x264 libraries (30.26 KB, patch)
2016-11-11 12:19 UTC, Sebastian Dröge (slomo)
none Details | Review
x264enc: Add configure parameter to specify additional x264 libraries (31.37 KB, patch)
2016-11-11 12:33 UTC, Sebastian Dröge (slomo)
none Details | Review
x264enc: Add configure parameter to specify additional x264 libraries (31.31 KB, patch)
2016-11-14 16:12 UTC, Sebastian Dröge (slomo)
none Details | Review
x264enc: Add configure parameter to specify additional x264 libraries with e.g. different depth configuration (31.35 KB, patch)
2016-11-14 16:26 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2016-03-08 09:35:22 UTC
See commit message. What an awful library packaging /o\
Comment 1 Sebastian Dröge (slomo) 2016-03-08 09:35:26 UTC
Created attachment 323361 [details] [review]
x264enc: Add parameter to explicitly load a specific x264 library

We still use the headers and default symbols given by the linker, but we now
allow loading a x264 library from a specific path too. This is useful for
running x264enc with a 8-bit and 10-bit x264 library in the same process. Both
are ABI compatible but are different libraries.
Comment 2 Tim-Philipp Müller 2016-03-08 11:42:59 UTC
The 10-bit variant doesn't support 8-bit encoding?
Comment 3 Sebastian Dröge (slomo) 2016-03-08 12:01:03 UTC
Correct, and the 12 bit variant doesn't support 10 or 8 bit :) (But we don't support 12 bits in GStreamer currently).
Comment 4 Tim-Philipp Müller 2016-03-24 14:23:39 UTC
It'd be nice if there was a way that exposed different elements for the different lib options then, so the app doesn't have to know.
Comment 5 Heinrich Fink 2016-03-24 14:27:52 UTC
but those elements would still have to know where the 10-bit/8-bit variants are packaged, and iirc, making assumptions about packaging of libx264 8-bit vs. 10-bit on various distros is difficult/unfeasible to do. so the app would have to know the library paths after all.
Comment 6 Sebastian Dröge (slomo) 2016-03-24 15:35:34 UTC
Exactly, there is no standard location for the different libs, they gave the same name and there's only a single pkg-config file. It's a complete packaging failure on the x264 side we're working around here.
Comment 7 Olivier Crête 2016-03-25 01:07:37 UTC
Any chance we can convince the x264 guys to create different sonames for 10/12-bit versions ?
Comment 8 Sebastian Dröge (slomo) 2016-03-25 08:34:04 UTC
Considering how active that project currently is... probably not.
Comment 9 Sebastian Dröge (slomo) 2016-04-01 07:49:34 UTC
Are you ok with merging then or do you have any concerns? :)
Comment 10 Tim-Philipp Müller 2016-04-04 10:51:16 UTC
I think we should at least try to get this done properly upstream first?

Didn't you get some patches merged recently?
Comment 11 Tim-Philipp Müller 2016-11-10 13:17:24 UTC
After some discussion on IRC the game plan is as follows:

 - remove runtime lib path property
 - add configure options for additional lib versions for different depths
 - just do the right thing in x264enc and pick from available libs based on input format
Comment 12 Sebastian Dröge (slomo) 2016-11-11 12:19:50 UTC
Created attachment 339615 [details] [review]
x264enc: Add configure parameter to specify additional x264 libraries

x264 has to be compiled specifically for a target bit depth.
Distributions currently ship various libraries in their packages, with
different bit depths.

This change now allows to provide them all at configure time and have
the x264enc element dynamically switch between them based on the bit
depth of the input format.
Comment 13 Sebastian Dröge (slomo) 2016-11-11 12:33:45 UTC
Created attachment 339617 [details] [review]
x264enc: Add configure parameter to specify additional x264 libraries

x264 has to be compiled specifically for a target bit depth.
Distributions currently ship various libraries in their packages, with
different bit depths.

This change now allows to provide them all at configure time and have
the x264enc element dynamically switch between them based on the bit
depth of the input format.
Comment 14 Sebastian Dröge (slomo) 2016-11-14 16:12:49 UTC
Created attachment 339815 [details] [review]
x264enc: Add configure parameter to specify additional x264 libraries

x264 has to be compiled specifically for a target bit depth.
Distributions currently ship various libraries in their packages, with
different bit depths.

This change now allows to provide them all at configure time and have
the x264enc element dynamically switch between them based on the bit
depth of the input format.
Comment 15 Sebastian Dröge (slomo) 2016-11-14 16:26:27 UTC
Created attachment 339816 [details] [review]
x264enc: Add configure parameter to specify additional x264 libraries with e.g. different depth configuration

x264 has to be compiled specifically for a target bit depth.
Distributions currently ship various libraries in their packages, with
different bit depths.

This change now allows to provide them all at configure time and have
the x264enc element dynamically switch between them based on the bit
depth of the input format.
Comment 16 Sebastian Dröge (slomo) 2016-11-15 12:55:09 UTC
Attachment 339816 [details] pushed as 7bf576b - x264enc: Add configure parameter to specify additional x264 libraries with e.g. different depth configuration