* [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 @ 2010-11-26 10:47 Petr Štetiar 2010-11-26 10:53 ` Andrea Adami 0 siblings, 1 reply; 17+ messages in thread From: Petr Štetiar @ 2010-11-26 10:47 UTC (permalink / raw) To: openembedded-devel Fixes the compile problem: x264-r2245-r7/x264-snapshot-20100531-2245/encoder/set.c:236: undefined reference to `log2f' libx264.a(encoder.o): In function `x264_validate_parameters': Signed-off-by: Petr Štetiar <ynezz@true.cz> --- conf/distro/angstrom-2008.1.conf | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf index 1fd5ab6..895deed 100644 --- a/conf/distro/angstrom-2008.1.conf +++ b/conf/distro/angstrom-2008.1.conf @@ -78,8 +78,8 @@ PREFERRED_VERSION_linux-libc-headers-native = "${LINUX_LIBC_HEADERS_VERSION}" #Prefer glibc 2.6 and uclibc 0.9.30, these have had the most testing. PREFERRED_VERSION_glibc ?= "2.9" PREFERRED_VERSION_glibc-initial ?= "2.9" -PREFERRED_VERSION_uclibc ?= "0.9.30.2" -PREFERRED_VERSION_uclibc-initial ?= "0.9.30.2" +PREFERRED_VERSION_uclibc ?= "0.9.30.3" +PREFERRED_VERSION_uclibc-initial ?= "0.9.30.3" PREFERRED_VERSION_eglibc ?= "2.9" PREFERRED_VERSION_eglibc-initial ?= "2.9" -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-26 10:47 [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 Petr Štetiar @ 2010-11-26 10:53 ` Andrea Adami 2010-11-26 11:00 ` Petr Štetiar ` (3 more replies) 0 siblings, 4 replies; 17+ messages in thread From: Andrea Adami @ 2010-11-26 10:53 UTC (permalink / raw) To: openembedded-devel > -PREFERRED_VERSION_uclibc ?= "0.9.30.2" > -PREFERRED_VERSION_uclibc-initial ?= "0.9.30.2" > +PREFERRED_VERSION_uclibc ?= "0.9.30.3" > +PREFERRED_VERSION_uclibc-initial ?= "0.9.30.3" Hi, this would only fix x264/freempeg. Unfortunately build will fail on e2fsprogs afterwards. See http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2010-November/004257.html So I suppose we should do a combined upgrade of uclibc and binutils. I'll test with current gcc-4.3.3 and let you know. Andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-26 10:53 ` Andrea Adami @ 2010-11-26 11:00 ` Petr Štetiar 2010-11-26 11:20 ` Koen Kooi ` (2 subsequent siblings) 3 siblings, 0 replies; 17+ messages in thread From: Petr Štetiar @ 2010-11-26 11:00 UTC (permalink / raw) To: openembedded-devel Andrea Adami <andrea.adami@gmail.com> [2010-11-26 11:53:50]: > > -PREFERRED_VERSION_uclibc ?= "0.9.30.2" > > -PREFERRED_VERSION_uclibc-initial ?= "0.9.30.2" > > +PREFERRED_VERSION_uclibc ?= "0.9.30.3" > > +PREFERRED_VERSION_uclibc-initial ?= "0.9.30.3" > > Hi, Hi, > Unfortunately build will fail on e2fsprogs afterwards. > See http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2010-November/004257.html ok, so then I'll fix e2fsprogs :-) > So I suppose we should do a combined upgrade of uclibc and binutils. > I'll test with current gcc-4.3.3 and let you know. Ok, I don't mind how, just fix it please, it's all errors on release-2010.12 branch... -- ynezz ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-26 10:53 ` Andrea Adami 2010-11-26 11:00 ` Petr Štetiar @ 2010-11-26 11:20 ` Koen Kooi 2010-11-26 18:37 ` Andrea Adami 2010-11-27 14:02 ` Petr Štetiar 2010-11-26 23:22 ` [PATCH] x264-r2245: add a hack for uclibc - replace log2f(x) with logf(x)/logf(2) Bernhard.Guillon 2010-11-26 23:29 ` [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 Bernhard Guillon 3 siblings, 2 replies; 17+ messages in thread From: Koen Kooi @ 2010-11-26 11:20 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 26-11-10 11:53, Andrea Adami wrote: >> -PREFERRED_VERSION_uclibc ?= "0.9.30.2" >> -PREFERRED_VERSION_uclibc-initial ?= "0.9.30.2" >> +PREFERRED_VERSION_uclibc ?= "0.9.30.3" >> +PREFERRED_VERSION_uclibc-initial ?= "0.9.30.3" > > Hi, > > this would only fix x264/freempeg. > > Unfortunately build will fail on e2fsprogs afterwards. > See http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2010-November/004257.html > > So I suppose we should do a combined upgrade of uclibc and binutils. > I'll test with current gcc-4.3.3 and let you know. An upgrade of binutils is out of the question for angstrom 2008. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFM75gYMkyGM64RGpERAo2GAJ9AQf8ixLASkpLnUwVhK0iRaYZgLACfQl/k hE6j+z4EssvPc0A+tiDN1OY= =UYoM -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-26 11:20 ` Koen Kooi @ 2010-11-26 18:37 ` Andrea Adami 2010-11-27 14:02 ` Petr Štetiar 1 sibling, 0 replies; 17+ messages in thread From: Andrea Adami @ 2010-11-26 18:37 UTC (permalink / raw) To: openembedded-devel >> So I suppose we should do a combined upgrade of uclibc and binutils. >> I'll test with current gcc-4.3.3 and let you know. FWIW angstrom-2008.1 console, opie, x11, x11-gpe images build fine with binutils "2.20.1" and uclibc "git" like minimal distro but with gcc-4.3.3. > An upgrade of binutils is out of the question for angstrom 2008. I understand, too late now. Shame on us for the lack of uclibc testing :/ Regards Andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-26 11:20 ` Koen Kooi 2010-11-26 18:37 ` Andrea Adami @ 2010-11-27 14:02 ` Petr Štetiar 2010-11-27 14:13 ` Andrea Adami 1 sibling, 1 reply; 17+ messages in thread From: Petr Štetiar @ 2010-11-27 14:02 UTC (permalink / raw) To: openembedded-devel Koen Kooi <k.kooi@student.utwente.nl> [2010-11-26 12:20:56]: > An upgrade of binutils is out of the question for angstrom 2008. Ok, what do you suggest to fix that uclibc breakage which happens with angstrom-2008 and angstrom-2010[1] (it's with mesa fix applied). Thanks. 1. http://tinderbox.openembedded.net/packages/1099789/ -- ynezz ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-27 14:02 ` Petr Štetiar @ 2010-11-27 14:13 ` Andrea Adami 2010-11-27 14:27 ` Andrea Adami 0 siblings, 1 reply; 17+ messages in thread From: Andrea Adami @ 2010-11-27 14:13 UTC (permalink / raw) To: openembedded-devel Ok, then I suggest to stay with 0.9.30.2 and add the two hacks documented here: 1) replacing log2f(i) with logf(i)/logf(2) http://www.mail-archive.com/uclibc@uclibc.org/msg04949.html 2) '--disable-tls' for e2fsprogs http://patchwork.openembedded.org/patch/2069/ openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > Opinions? Andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-27 14:13 ` Andrea Adami @ 2010-11-27 14:27 ` Andrea Adami 2010-12-01 11:41 ` Bernhard Guillon 0 siblings, 1 reply; 17+ messages in thread From: Andrea Adami @ 2010-11-27 14:27 UTC (permalink / raw) To: openembedded-devel On Sat, Nov 27, 2010 at 3:13 PM, Andrea Adami <andrea.adami@gmail.com> wrote: > Ok, then I suggest to stay with 0.9.30.2 and add the two hacks documented here: > > 1) replacing log2f(i) with logf(i)/logf(2) > http://www.mail-archive.com/uclibc@uclibc.org/msg04949.html Patch courtesy of Bernhard Guillon already done (bad that OE Patchwork is down...) http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-November/027326.html > 2) '--disable-tls' for e2fsprogs > http://patchwork.openembedded.org/patch/2069/ > Here the patch is trivial...my concern is both should be Angstrom-only, isn't? Andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-27 14:27 ` Andrea Adami @ 2010-12-01 11:41 ` Bernhard Guillon 2010-12-01 11:58 ` Petr Štetiar 0 siblings, 1 reply; 17+ messages in thread From: Bernhard Guillon @ 2010-12-01 11:41 UTC (permalink / raw) To: openembedded-devel On 27.11.2010 15:27, Andrea Adami wrote: > On Sat, Nov 27, 2010 at 3:13 PM, Andrea Adami<andrea.adami@gmail.com> wrote: > >> Ok, then I suggest to stay with 0.9.30.2 and add the two hacks documented here: >> >> 1) replacing log2f(i) with logf(i)/logf(2) >> http://www.mail-archive.com/uclibc@uclibc.org/msg04949.html >> > Patch courtesy of Bernhard Guillon already done (bad that OE Patchwork > is down...) > http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-November/027326.html > > >> 2) '--disable-tls' for e2fsprogs >> http://patchwork.openembedded.org/patch/2069/ >> >> > Here the patch is trivial...my concern is both should be Angstrom-only, isn't? > > This is true. We could add some python foo and check for angstrom? In my opinion the log2f patch is of no real harm. The tls support might be a problem. Best regrads Bernhard Guillon ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-12-01 11:41 ` Bernhard Guillon @ 2010-12-01 11:58 ` Petr Štetiar 2010-12-01 12:07 ` Graeme Gregory 2010-12-01 12:08 ` Andrea Adami 0 siblings, 2 replies; 17+ messages in thread From: Petr Štetiar @ 2010-12-01 11:58 UTC (permalink / raw) To: openembedded-devel Bernhard Guillon <Bernhard.Guillon@opensimpad.org> [2010-12-01 12:41:31]: > This is true. We could add some python foo and check for angstrom? In my > opinion the log2f patch is of no real harm. The tls support might be a > problem. Why to not move to some newer version of uClibc directly, without that patch at all? -- ynezz ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-12-01 11:58 ` Petr Štetiar @ 2010-12-01 12:07 ` Graeme Gregory 2010-12-01 12:35 ` Andrea Adami 2010-12-01 12:08 ` Andrea Adami 1 sibling, 1 reply; 17+ messages in thread From: Graeme Gregory @ 2010-12-01 12:07 UTC (permalink / raw) To: openembedded-devel On 01/12/2010 11:58, Petr Štetiar wrote: > Bernhard Guillon <Bernhard.Guillon@opensimpad.org> [2010-12-01 12:41:31]: > >> This is true. We could add some python foo and check for angstrom? In my >> opinion the log2f patch is of no real harm. The tls support might be a >> problem. > Why to not move to some newer version of uClibc directly, without that patch > at all? > because Angstrom 2008.1 is an already released distro. We don't like switching toolchains at last minute. Graeme ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-12-01 12:07 ` Graeme Gregory @ 2010-12-01 12:35 ` Andrea Adami 2010-12-01 13:19 ` Frans Meulenbroeks 0 siblings, 1 reply; 17+ messages in thread From: Andrea Adami @ 2010-12-01 12:35 UTC (permalink / raw) To: openembedded-devel >>> This is true. We could add some python foo and check for angstrom? In my >>> opinion the log2f patch is of no real harm. The tls support might be a >>> problem. About the tls: http://bugs.gentoo.org/204102 ... in e2fsprogs-1.40.4 the way uuids are generated has changed (http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.40.4). e2fsprogs-1.40.3 works fine! Perhaps Angstrom-2008.1 could pin 1.40.3 Andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-12-01 12:35 ` Andrea Adami @ 2010-12-01 13:19 ` Frans Meulenbroeks 0 siblings, 0 replies; 17+ messages in thread From: Frans Meulenbroeks @ 2010-12-01 13:19 UTC (permalink / raw) To: openembedded-devel 2010/12/1 Andrea Adami <andrea.adami@gmail.com>: >>>> This is true. We could add some python foo and check for angstrom? In my >>>> opinion the log2f patch is of no real harm. The tls support might be a >>>> problem. > > About the tls: > > http://bugs.gentoo.org/204102 > > ... in e2fsprogs-1.40.4 the way uuids are generated has changed > (http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.40.4). > e2fsprogs-1.40.3 works fine! > > Perhaps Angstrom-2008.1 could pin 1.40.3 > > Andrea You lost me here! frans@frans-desktop:~/workspace/openembedded/recipes$ ls e2fs* e2fsprogs_1.41.9.bb e2fsprogs.inc There is no 1.40.3 (git head master) Frans ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-12-01 11:58 ` Petr Štetiar 2010-12-01 12:07 ` Graeme Gregory @ 2010-12-01 12:08 ` Andrea Adami 1 sibling, 0 replies; 17+ messages in thread From: Andrea Adami @ 2010-12-01 12:08 UTC (permalink / raw) To: openembedded-devel On Wed, Dec 1, 2010 at 12:58 PM, Petr Štetiar <ynezz@true.cz> wrote: > Bernhard Guillon <Bernhard.Guillon@opensimpad.org> [2010-12-01 12:41:31]: > >> This is true. We could add some python foo and check for angstrom? In my >> opinion the log2f patch is of no real harm. The tls support might be a >> problem. it seems so, khem hinted about git needing tls > > Why to not move to some newer version of uClibc directly, without that patch > at all? > > -- ynezz uclibc-0.9.30.3 needs binutils 2.20.1 >Koen: >An upgrade of binutils is out of the question for angstrom 2008. so here we stay Andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH] x264-r2245: add a hack for uclibc - replace log2f(x) with logf(x)/logf(2) 2010-11-26 10:53 ` Andrea Adami 2010-11-26 11:00 ` Petr Štetiar 2010-11-26 11:20 ` Koen Kooi @ 2010-11-26 23:22 ` Bernhard.Guillon 2011-01-04 13:32 ` Graeme Gregory 2010-11-26 23:29 ` [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 Bernhard Guillon 3 siblings, 1 reply; 17+ messages in thread From: Bernhard.Guillon @ 2010-11-26 23:22 UTC (permalink / raw) To: openembedded-devel From: Bernhard Guillon <Bernhard.Guillon@opensimpad.org> Signed-off-by: Bernhard Guillon <Bernhard.Guillon@opensimpad.org> --- recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch | 61 ++++++++++++++++++++ recipes/vlc/x264_r2245.bb | 6 +- 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch diff --git a/recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch b/recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch new file mode 100644 index 0000000..874a0ca --- /dev/null +++ b/recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch @@ -0,0 +1,61 @@ +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/analyse.c x264-snapshot-20100531-2245/encoder/analyse.c +--- x264-snapshot-20100531-2245.vanilla/encoder/analyse.c 2010-05-31 22:45:11.000000000 +0200 ++++ x264-snapshot-20100531-2245/encoder/analyse.c 2010-08-20 02:52:11.505161943 +0200 +@@ -251,7 +251,7 @@ + for( int i = 0; i <= 2*4*2048; i++ ) + { + h->cost_mv[lambda][-i] = +- h->cost_mv[lambda][i] = lambda * (log2f(i+1)*2 + 0.718f + !!i) + .5f; ++ h->cost_mv[lambda][i] = lambda * ( (logf(i+1)/logf(2))*2 + 0.718f + !!i) + .5f; + } + x264_pthread_mutex_lock( &cost_ref_mutex ); + for( int i = 0; i < 3; i++ ) +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/encoder.c x264-snapshot-20100531-2245/encoder/encoder.c +--- x264-snapshot-20100531-2245.vanilla/encoder/encoder.c 2010-05-31 22:45:11.000000000 +0200 ++++ x264-snapshot-20100531-2245/encoder/encoder.c 2010-08-20 02:53:58.516661776 +0200 +@@ -479,8 +479,8 @@ + if( h->param.rc.i_rc_method == X264_RC_CQP ) + { + float qp_p = h->param.rc.i_qp_constant; +- float qp_i = qp_p - 6*log2f( h->param.rc.f_ip_factor ); +- float qp_b = qp_p + 6*log2f( h->param.rc.f_pb_factor ); ++ float qp_i = qp_p - 6*(logf(h->param.rc.f_ip_factor)/logf(2)); ++ float qp_b = qp_p + 6*(logf(h->param.rc.f_pb_factor)/logf(2)); + h->param.rc.i_qp_min = x264_clip3( (int)(X264_MIN3( qp_p, qp_i, qp_b )), 0, 51 ); + h->param.rc.i_qp_max = x264_clip3( (int)(X264_MAX3( qp_p, qp_i, qp_b ) + .999), 0, 51 ); + h->param.rc.i_aq_mode = 0; +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/ratecontrol.c x264-snapshot-20100531-2245/encoder/ratecontrol.c +--- x264-snapshot-20100531-2245.vanilla/encoder/ratecontrol.c 2010-05-31 22:45:11.000000000 +0200 ++++ x264-snapshot-20100531-2245/encoder/ratecontrol.c 2010-08-20 02:55:26.752661912 +0200 +@@ -549,8 +549,8 @@ + rc->last_non_b_pict_type = SLICE_TYPE_I; + } + +- rc->ip_offset = 6.0 * log2f( h->param.rc.f_ip_factor ); +- rc->pb_offset = 6.0 * log2f( h->param.rc.f_pb_factor ); ++ rc->ip_offset = 6.0 * (logf( h->param.rc.f_ip_factor )/logf(2)); ++ rc->pb_offset = 6.0 * (logf( h->param.rc.f_pb_factor )/logf(2)); + rc->qp_constant[SLICE_TYPE_P] = h->param.rc.i_qp_constant; + rc->qp_constant[SLICE_TYPE_I] = x264_clip3( h->param.rc.i_qp_constant - rc->ip_offset + 0.5, 0, 51 ); + rc->qp_constant[SLICE_TYPE_B] = x264_clip3( h->param.rc.i_qp_constant + rc->pb_offset + 0.5, 0, 51 ); +@@ -1154,7 +1154,7 @@ + if( zone->b_force_qp ) + q += zone->i_qp - rc->qp_constant[SLICE_TYPE_P]; + else +- q -= 6*log2f( zone->f_bitrate_factor ); ++ q -= 6*(logf( zone->f_bitrate_factor )/logf(2)); + } + } + +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/set.c x264-snapshot-20100531-2245/encoder/set.c +--- x264-snapshot-20100531-2245.vanilla/encoder/set.c 2010-05-31 22:45:11.000000000 +0200 ++++ x264-snapshot-20100531-2245/encoder/set.c 2010-08-20 02:58:19.400661820 +0200 +@@ -234,7 +234,7 @@ + sps->vui.i_max_bytes_per_pic_denom = 0; + sps->vui.i_max_bits_per_mb_denom = 0; + sps->vui.i_log2_max_mv_length_horizontal = +- sps->vui.i_log2_max_mv_length_vertical = (int)log2f( X264_MAX( 1, param->analyse.i_mv_range*4-1 ) ) + 1; ++ sps->vui.i_log2_max_mv_length_vertical = (int)(logf( X264_MAX( 1, param->analyse.i_mv_range*4-1 ))/logf(2)) + 1; + } + } + diff --git a/recipes/vlc/x264_r2245.bb b/recipes/vlc/x264_r2245.bb index f533bfc..f685c63 100644 --- a/recipes/vlc/x264_r2245.bb +++ b/recipes/vlc/x264_r2245.bb @@ -1,10 +1,12 @@ DESCRIPTION = "H.264 encoder" LICENSE = "GPL" -PR = "r7" +PR = "r8" X264PV = "snapshot-20100531-2245" SRC_URI = "http://download.videolan.org/pub/videolan/x264/snapshots/x264-${X264PV}.tar.bz2" +SRC_URI_append_libc-uclibc = "file://uclibc_log2f_fix.HACK.patch" + SRC_URI[md5sum] = "d1ccb8122bd418291a9576a2bffdf662" SRC_URI[sha256sum] = "929e946947701a0b3a336a4b9cfe65daf4c52480f45d4363335ae2a3d5596fa9" @@ -24,5 +26,3 @@ X264_DISABLE_ASM_x86 = "" DEPENDS_x86 = "yasm-native" EXTRA_OECONF = '--enable-shared ${X264_DISABLE_ASM} --extra-cflags="${X264_ECFLAGS}"' - - -- 1.7.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH] x264-r2245: add a hack for uclibc - replace log2f(x) with logf(x)/logf(2) 2010-11-26 23:22 ` [PATCH] x264-r2245: add a hack for uclibc - replace log2f(x) with logf(x)/logf(2) Bernhard.Guillon @ 2011-01-04 13:32 ` Graeme Gregory 0 siblings, 0 replies; 17+ messages in thread From: Graeme Gregory @ 2011-01-04 13:32 UTC (permalink / raw) To: openembedded-devel Thanks for this patch, have applied modified to apply for avr32 only as that platform cannot move toolchains. Graeme On 26/11/2010 23:22, Bernhard.Guillon@opensimpad.org wrote: > From: Bernhard Guillon <Bernhard.Guillon@opensimpad.org> > > > Signed-off-by: Bernhard Guillon <Bernhard.Guillon@opensimpad.org> > --- > recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch | 61 ++++++++++++++++++++ > recipes/vlc/x264_r2245.bb | 6 +- > 2 files changed, 64 insertions(+), 3 deletions(-) > create mode 100644 recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch > > diff --git a/recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch b/recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch > new file mode 100644 > index 0000000..874a0ca > --- /dev/null > +++ b/recipes/vlc/x264-r2245/uclibc_log2f_fix.HACK.patch > @@ -0,0 +1,61 @@ > +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/analyse.c x264-snapshot-20100531-2245/encoder/analyse.c > +--- x264-snapshot-20100531-2245.vanilla/encoder/analyse.c 2010-05-31 22:45:11.000000000 +0200 > ++++ x264-snapshot-20100531-2245/encoder/analyse.c 2010-08-20 02:52:11.505161943 +0200 > +@@ -251,7 +251,7 @@ > + for( int i = 0; i <= 2*4*2048; i++ ) > + { > + h->cost_mv[lambda][-i] = > +- h->cost_mv[lambda][i] = lambda * (log2f(i+1)*2 + 0.718f + !!i) + .5f; > ++ h->cost_mv[lambda][i] = lambda * ( (logf(i+1)/logf(2))*2 + 0.718f + !!i) + .5f; > + } > + x264_pthread_mutex_lock( &cost_ref_mutex ); > + for( int i = 0; i < 3; i++ ) > +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/encoder.c x264-snapshot-20100531-2245/encoder/encoder.c > +--- x264-snapshot-20100531-2245.vanilla/encoder/encoder.c 2010-05-31 22:45:11.000000000 +0200 > ++++ x264-snapshot-20100531-2245/encoder/encoder.c 2010-08-20 02:53:58.516661776 +0200 > +@@ -479,8 +479,8 @@ > + if( h->param.rc.i_rc_method == X264_RC_CQP ) > + { > + float qp_p = h->param.rc.i_qp_constant; > +- float qp_i = qp_p - 6*log2f( h->param.rc.f_ip_factor ); > +- float qp_b = qp_p + 6*log2f( h->param.rc.f_pb_factor ); > ++ float qp_i = qp_p - 6*(logf(h->param.rc.f_ip_factor)/logf(2)); > ++ float qp_b = qp_p + 6*(logf(h->param.rc.f_pb_factor)/logf(2)); > + h->param.rc.i_qp_min = x264_clip3( (int)(X264_MIN3( qp_p, qp_i, qp_b )), 0, 51 ); > + h->param.rc.i_qp_max = x264_clip3( (int)(X264_MAX3( qp_p, qp_i, qp_b ) + .999), 0, 51 ); > + h->param.rc.i_aq_mode = 0; > +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/ratecontrol.c x264-snapshot-20100531-2245/encoder/ratecontrol.c > +--- x264-snapshot-20100531-2245.vanilla/encoder/ratecontrol.c 2010-05-31 22:45:11.000000000 +0200 > ++++ x264-snapshot-20100531-2245/encoder/ratecontrol.c 2010-08-20 02:55:26.752661912 +0200 > +@@ -549,8 +549,8 @@ > + rc->last_non_b_pict_type = SLICE_TYPE_I; > + } > + > +- rc->ip_offset = 6.0 * log2f( h->param.rc.f_ip_factor ); > +- rc->pb_offset = 6.0 * log2f( h->param.rc.f_pb_factor ); > ++ rc->ip_offset = 6.0 * (logf( h->param.rc.f_ip_factor )/logf(2)); > ++ rc->pb_offset = 6.0 * (logf( h->param.rc.f_pb_factor )/logf(2)); > + rc->qp_constant[SLICE_TYPE_P] = h->param.rc.i_qp_constant; > + rc->qp_constant[SLICE_TYPE_I] = x264_clip3( h->param.rc.i_qp_constant - rc->ip_offset + 0.5, 0, 51 ); > + rc->qp_constant[SLICE_TYPE_B] = x264_clip3( h->param.rc.i_qp_constant + rc->pb_offset + 0.5, 0, 51 ); > +@@ -1154,7 +1154,7 @@ > + if( zone->b_force_qp ) > + q += zone->i_qp - rc->qp_constant[SLICE_TYPE_P]; > + else > +- q -= 6*log2f( zone->f_bitrate_factor ); > ++ q -= 6*(logf( zone->f_bitrate_factor )/logf(2)); > + } > + } > + > +diff -Nur x264-snapshot-20100531-2245.vanilla/encoder/set.c x264-snapshot-20100531-2245/encoder/set.c > +--- x264-snapshot-20100531-2245.vanilla/encoder/set.c 2010-05-31 22:45:11.000000000 +0200 > ++++ x264-snapshot-20100531-2245/encoder/set.c 2010-08-20 02:58:19.400661820 +0200 > +@@ -234,7 +234,7 @@ > + sps->vui.i_max_bytes_per_pic_denom = 0; > + sps->vui.i_max_bits_per_mb_denom = 0; > + sps->vui.i_log2_max_mv_length_horizontal = > +- sps->vui.i_log2_max_mv_length_vertical = (int)log2f( X264_MAX( 1, param->analyse.i_mv_range*4-1 ) ) + 1; > ++ sps->vui.i_log2_max_mv_length_vertical = (int)(logf( X264_MAX( 1, param->analyse.i_mv_range*4-1 ))/logf(2)) + 1; > + } > + } > + > diff --git a/recipes/vlc/x264_r2245.bb b/recipes/vlc/x264_r2245.bb > index f533bfc..f685c63 100644 > --- a/recipes/vlc/x264_r2245.bb > +++ b/recipes/vlc/x264_r2245.bb > @@ -1,10 +1,12 @@ > DESCRIPTION = "H.264 encoder" > LICENSE = "GPL" > -PR = "r7" > +PR = "r8" > > X264PV = "snapshot-20100531-2245" > > SRC_URI = "http://download.videolan.org/pub/videolan/x264/snapshots/x264-${X264PV}.tar.bz2" > +SRC_URI_append_libc-uclibc = "file://uclibc_log2f_fix.HACK.patch" > + > SRC_URI[md5sum] = "d1ccb8122bd418291a9576a2bffdf662" > SRC_URI[sha256sum] = "929e946947701a0b3a336a4b9cfe65daf4c52480f45d4363335ae2a3d5596fa9" > > @@ -24,5 +26,3 @@ X264_DISABLE_ASM_x86 = "" > DEPENDS_x86 = "yasm-native" > > EXTRA_OECONF = '--enable-shared ${X264_DISABLE_ASM} --extra-cflags="${X264_ECFLAGS}"' > - > - ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 2010-11-26 10:53 ` Andrea Adami ` (2 preceding siblings ...) 2010-11-26 23:22 ` [PATCH] x264-r2245: add a hack for uclibc - replace log2f(x) with logf(x)/logf(2) Bernhard.Guillon @ 2010-11-26 23:29 ` Bernhard Guillon 3 siblings, 0 replies; 17+ messages in thread From: Bernhard Guillon @ 2010-11-26 23:29 UTC (permalink / raw) To: openembedded-devel On 26.11.2010 11:53, Andrea Adami wrote: > > this would only fix x264/freempeg. Hi, I just sent a patch to the list which fixes x264 with a hack that simply replaces all occurrences of log2f(x) with logf(x)/logf(2). best regards Bernhard Guillon ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-01-04 13:32 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-11-26 10:47 [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 Petr Štetiar 2010-11-26 10:53 ` Andrea Adami 2010-11-26 11:00 ` Petr Štetiar 2010-11-26 11:20 ` Koen Kooi 2010-11-26 18:37 ` Andrea Adami 2010-11-27 14:02 ` Petr Štetiar 2010-11-27 14:13 ` Andrea Adami 2010-11-27 14:27 ` Andrea Adami 2010-12-01 11:41 ` Bernhard Guillon 2010-12-01 11:58 ` Petr Štetiar 2010-12-01 12:07 ` Graeme Gregory 2010-12-01 12:35 ` Andrea Adami 2010-12-01 13:19 ` Frans Meulenbroeks 2010-12-01 12:08 ` Andrea Adami 2010-11-26 23:22 ` [PATCH] x264-r2245: add a hack for uclibc - replace log2f(x) with logf(x)/logf(2) Bernhard.Guillon 2011-01-04 13:32 ` Graeme Gregory 2010-11-26 23:29 ` [PATCH] angstrom-2008.1: bump uclibc to 0.9.30.3 which unbreaks x264 Bernhard Guillon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox