Commit Graph

233 Commits

Author SHA1 Message Date
Michael Niedermayer
5521b193d6 15/16 bit dithering in C (5% slower, can be disabled by comenting #define DITHER1XBPP out)
x/yInc bugfix (bug was introduced during the global var removial)
more emms & no messing with ARCH_X86 (=workaround against not cleared mmx state somewhere)
sharpening filter (-ssf cs=<int> & -ssf ls=<int>)

Originally committed as revision 4298 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-21 22:11:09 +00:00
Michael Niedermayer
fe8054c0ff copyright(swscaler) = GPL
Originally committed as revision 4296 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-21 18:32:31 +00:00
Michael Niedermayer
5cebb24be0 a few filters (should be removed/merged when arpis videofilter stuff is finished)
-ssf cgb=<float> -> chrominance gaussian blur (nice to improve picture quality)
-ssf lgb=<float> -> luminance gaussian blur (dunno what its good for)
-ssf chs=<int> -> shift chrominance horizontally
-ssf cvs=<int> -> shift chrominance vertically
these will only work if the swscaler is used at all

Originally committed as revision 4295 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-21 15:22:28 +00:00
Michael Niedermayer
c7f822d95e general convolution filtering of the source picture
dynamic memory allocation for the buffers (needed for the filter stuff)

Originally committed as revision 4291 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-21 03:56:47 +00:00
Felix Bünemann
635b3ec6dd add mangling
Originally committed as revision 4286 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-20 18:36:09 +00:00
Michael Niedermayer
7f56a52795 101
Originally committed as revision 4282 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-20 13:45:19 +00:00
Michael Niedermayer
28bf81c90d removed global vars so that multiple swscalers can be used
experimental upscaling mode (-sws 3)
general convolution filters support (unfinished)
bugfix for bicubic upscaling
assertion checking if defined MP_DEBUG
checking of the input/output size instead of segfault if its very large

Originally committed as revision 4277 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-20 05:30:23 +00:00
Alban Bedel
cbf5fa71c9 Added reverting support for -pp and -npp options
Originally committed as revision 4258 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-19 17:01:03 +00:00
Felix Bünemann
bf1595c488 fix mangling with runtime cpu detection
Originally committed as revision 4254 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-19 16:56:35 +00:00
Felix Bünemann
9b4644281d mangle for win32 in postproc
Originally committed as revision 4249 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-19 05:14:47 +00:00
Michael Niedermayer
162c9c2e0d dont print -npp parser debug info if only -v
print "using pp filters ..." if -v

Originally committed as revision 4144 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-13 20:51:49 +00:00
Michael Niedermayer
211c4920ea fixed -npp help ... i think i need more sleep ;)
Originally committed as revision 3988 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-04 21:56:11 +00:00
Michael Niedermayer
4b001a1312 -npp help
Originally committed as revision 3977 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-04 13:39:06 +00:00
Michael Niedermayer
8aaac43576 -npp fq:<quantizer>
force quantizer (for these lq movies which where reencoded at high bitrates)
(c) 2002

Originally committed as revision 3965 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2002-01-03 14:16:13 +00:00
Michael Niedermayer
c0903414cb only print last line warning if verbose is on
Originally committed as revision 3884 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-30 00:57:35 +00:00
Michael Niedermayer
07f8991b60 minor brightness/contrast bugfix / moved some global vars into ppMode
non mmx compilation bugfix

Originally committed as revision 3833 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-28 13:56:04 +00:00
Michael Niedermayer
43d52f7612 customizeable deblocking (2 thresholds)
chrominance & luminance filtering is the default now if -npp ...:y isnt specified (lumi only was only used for the deinterlacers and that was wrong anyway)

Originally committed as revision 3818 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-28 00:09:55 +00:00
Michael Niedermayer
f15afacdf4 output shifted by a few pixels on extreem scalings bugfix
filterPos was wrong by 0.5 pixels on downscale with -sws 1 and 2 bugfix

Originally committed as revision 3783 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-27 00:57:32 +00:00
Michael Niedermayer
6ec6e3c963 101
Originally committed as revision 3780 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-26 23:31:30 +00:00
Michael Niedermayer
45b4f28550 new -pp options stuff (-npp ...)
see line527@postproc/postprocess.c ;) for the documentation of the format

Originally committed as revision 3772 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-26 19:45:49 +00:00
Johannes Feigl
51fdf2de1b looks better
Originally committed as revision 3731 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-25 15:03:36 +00:00
Michael Niedermayer
627690b5a2 minor bugfixes (noone noticed them)
a few more asserts

Originally committed as revision 3642 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-21 02:09:34 +00:00
Michael Niedermayer
aa21f0c389 rgb24toyv12 bugfix
Originally committed as revision 3634 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-20 17:30:59 +00:00
Michael Niedermayer
e3d2500fe4 print more info if -v
use new horizontal mmx scaler instead of old x86asm if mmx2 cant be used (FAST_BILINEAR only)
fixed overflow in init function ... using double precission fp now :)
using C scaler for the last 1-2 lines if there is a chance to write over the end of the dst array

Originally committed as revision 3353 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-06 19:07:25 +00:00
Michael Niedermayer
f014740a85 dithering info wasnt displayed
Originally committed as revision 3346 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-06 01:23:23 +00:00
Michael Niedermayer
c1b0bfb477 vertical cubic/linear scaling
prints some info (MMX, dstbpp, ...)
mainloop rewritten

Originally committed as revision 3345 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-06 00:10:42 +00:00
Michael Niedermayer
e2f5a2a981 typo
Originally committed as revision 3300 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-03 22:24:43 +00:00
Michael Niedermayer
077ea8a7f4 horizontal up/downscale linear & cubic
-sws command line option (0 -> fast_bilinear, 1->bilinear, 2->bicubic)

Originally committed as revision 3273 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-12-02 20:03:26 +00:00
Michael Niedermayer
af91b8b3c8 sliced scaleing bugfix
Originally committed as revision 3216 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-29 22:19:21 +00:00
Michael Niedermayer
d1fac6cf52 swscaler cleanup
green line at bottom bugfix
green lines in yuv2yuv scaler bugfix

Originally committed as revision 3210 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-29 20:19:17 +00:00
Michael Niedermayer
6e9b48406c faster brightness correcture in MMX2
Originally committed as revision 3172 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-28 01:26:03 +00:00
Michael Niedermayer
06c4804a79 compiletime pp-mode support (luminance = chrominance filters though) 1-2% faster with -benchmark -vo null -nosound
Originally committed as revision 3155 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-27 02:25:31 +00:00
Michael Niedermayer
726a959a54 runtime cpu detection optional (compiles faster)
Originally committed as revision 3153 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-27 01:19:56 +00:00
Michael Niedermayer
e89952aabe runtime cpu detect optional (compiles faster)
Originally committed as revision 3152 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-27 01:12:30 +00:00
Michael Niedermayer
43d8c23cbf runtime cpu detection
Originally committed as revision 3144 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-26 21:17:23 +00:00
Michael Niedermayer
48a05ceccd oops
Originally committed as revision 3137 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-26 02:20:51 +00:00
Michael Niedermayer
1de97d8422 runtime cpu detection
rgb24toyv12 in C

Originally committed as revision 3133 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-26 01:15:08 +00:00
Michael Niedermayer
7630f2e060 runtime cpu detection
Originally committed as revision 3127 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-26 00:31:43 +00:00
Michael Niedermayer
cc9b067935 runtime cpu detection
Originally committed as revision 3100 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-24 22:16:29 +00:00
Michael Niedermayer
4e1349d4e1 use fastmemcpy for chrominance if no chrominance filtering is done
Originally committed as revision 3095 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-24 02:05:06 +00:00
Michael Niedermayer
cd38e322ef faster dering
Originally committed as revision 3094 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-24 01:38:30 +00:00
Michael Niedermayer
043ba56f68 1% speedup
Originally committed as revision 3038 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-20 20:46:39 +00:00
Michael Niedermayer
cf5ec61d0c oops, too much cleanup ;)
Originally committed as revision 3033 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-20 18:07:13 +00:00
Michael Niedermayer
c09dc46524 cleanup
precopy fewer lines from src to dst if possible
speedup (due to cleanup of blockcopy)

Originally committed as revision 3032 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-20 17:47:52 +00:00
Michael Niedermayer
7f16f6e64e faster mmx2 / 3dnow deblocking filter
brightness_debug (draws luminance histogram & autodetected white/black level)

Originally committed as revision 3014 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-19 22:20:30 +00:00
Felix Bünemann
652cb0f57a Move ignores in subdirs to their respective .cvsignore files.
Originally committed as revision 2964 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-17 23:55:40 +00:00
Gabucino
21810797bc postproc/ dir now respects --with-extraincdir
Now that I'm fixing configure1, here comes configure2 ehh ;)

Originally committed as revision 2928 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-16 19:13:03 +00:00
Michael Niedermayer
a9c779788f temp denoiser:
bugfix?
 averageing noise over the surrounding blocks

Originally committed as revision 2900 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-14 11:51:36 +00:00
Michael Niedermayer
be44a4d74a temp denoiser changes: (a-b)^2 instead of |a-b| and MMX2/3DNOW version
Originally committed as revision 2896 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-14 02:46:58 +00:00
Michael Niedermayer
117e45b03b temporal noise reducer in C (-pp 0x100000)
setting the thresholds from the commandline requires postprocess2() / getPpModeByNameAndQuality() (someone could perhaps modify mplayer so that they are beiing used, iam too lazy for it ;)

Originally committed as revision 2861 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-13 02:40:56 +00:00
Michael Niedermayer
ed8c06708e uyvytoyv12 in MMX (untested)
Originally committed as revision 2848 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-11 22:26:15 +00:00
Michael Niedermayer
815cbfe71e QP_store==null bugfix and no opendivx bugfix
Originally committed as revision 2809 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-11 01:18:40 +00:00
Michael Niedermayer
ed3460658f yuy2toyv12 bugfix
Originally committed as revision 2807 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-11 00:50:40 +00:00
Arpi
81c0590e6c uyvy->uv12 added
Originally committed as revision 2802 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-10 23:28:10 +00:00
Michael Niedermayer
cff6ecd7e0 .balign or we´ll align by 64kb on some architectures
Originally committed as revision 2801 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-10 20:39:23 +00:00
Michael Niedermayer
6e3bba7282 .align 16
Originally committed as revision 2800 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-10 19:46:04 +00:00
Pierre Lombard
6c426cff79 added missing #include <malloc.h>
#include "config.h" moved as 1st #include since it defines HAVE_foo_h for
  later conditional inclusions

Originally committed as revision 2776 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-09 02:17:02 +00:00
Michael Niedermayer
9395185f9e bugfix
Originally committed as revision 2767 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-07 23:17:11 +00:00
Nick Kurshev
1b383194f6 rgb32tobgr32 now is documented ;)
Originally committed as revision 2759 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-07 08:52:04 +00:00
Michael Niedermayer
9996924345 rgb32tobgr32 / bgr32torgb32
Originally committed as revision 2756 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 23:54:41 +00:00
Michael Niedermayer
3fe8e8f068 gcc does optimize writes to non volatile variables away if it didnt know that they were read in between
Originally committed as revision 2751 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 19:26:22 +00:00
Michael Niedermayer
da3b92c877 15/16 bpp dithering
Originally committed as revision 2750 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 19:16:49 +00:00
Michael Niedermayer
d8fa3c5497 better dithering
Originally committed as revision 2749 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 18:42:22 +00:00
Nick Kurshev
2b3eef22d0 Minor speedup of rgb32to24. (performance is not successful)
Originally committed as revision 2747 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 17:14:22 +00:00
Jürgen Keil
9e7f791dcb Remove a few obsolete header includes (fixes a compile error on solaris)
Originally committed as revision 2745 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 17:04:13 +00:00
Michael Niedermayer
b28daef82e minor changes (fixed some warnings, added attribute aligned(8) stuff)
Originally committed as revision 2743 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 16:53:47 +00:00
Nick Kurshev
53445e8301 MMX2, 3DNOW, MMX optimized rgb32(24)to16(15) stuff
Originally committed as revision 2742 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 16:35:17 +00:00
Nick Kurshev
3eb2151c15 optimized rgb24to16 stuff
Originally committed as revision 2741 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 16:21:38 +00:00
Michael Niedermayer
761635727d mmx2 bgr24 stuff from swscale (slightly faster)
Originally committed as revision 2740 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 14:43:19 +00:00
Nick Kurshev
0155db7f6c rgb24to32 now is faster
Originally committed as revision 2739 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 13:53:43 +00:00
Michael Niedermayer
18e19c3159 vars are aligned by 8 now (even faster, yes they where not aligned correctly)
Originally committed as revision 2738 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 13:45:57 +00:00
Michael Niedermayer
7ad16638de 16bpp is 10% faster
Originally committed as revision 2737 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 13:41:12 +00:00
Michael Niedermayer
607379b38b 15 bpp support
Originally committed as revision 2736 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 13:26:43 +00:00
Michael Niedermayer
574406bb06 common code moved to a #define
added bgr24 output support

Originally committed as revision 2735 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 13:06:50 +00:00
Nick Kurshev
6611aa83de Move yuv2rgb to postprocess
Originally committed as revision 2733 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 11:22:40 +00:00
Michael Niedermayer
99d2cb7219 faster bgr24 output
Originally committed as revision 2731 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-06 04:06:55 +00:00
Michael Niedermayer
bdc2eb9a00 only 6 registers used
Originally committed as revision 2729 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 23:49:15 +00:00
Michael Niedermayer
cfc15dc6bc unsigned stuff
Originally committed as revision 2726 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 19:55:11 +00:00
Michael Niedermayer
dabcdbc493 yuy2toyv12 fixed and speedup
Originally committed as revision 2725 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 18:50:58 +00:00
Michael Niedermayer
42b5fcb890 fixed yv12toyuy2
Originally committed as revision 2724 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 18:26:49 +00:00
Nick Kurshev
4aecdf910f Forgot
Originally committed as revision 2722 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 18:03:46 +00:00
Nick Kurshev
8dd6739c94 Fixed rgb32(24)to15 stuff
Originally committed as revision 2721 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 17:56:11 +00:00
Nick Kurshev
90226a43e6 Fixed rgb32(24)to16 stuff, rgb32(24)to15 is still broken
Originally committed as revision 2720 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 17:46:20 +00:00
Nick Kurshev
996e1a7cff Well - old algorithms and new stuff rgb24to16(15)
Originally committed as revision 2719 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 17:35:28 +00:00
Nick Kurshev
12e3287f03 More standards compilance
Originally committed as revision 2712 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 08:37:27 +00:00
Michael Niedermayer
bd09433fa9 yuy2toyv12 in MMX
Originally committed as revision 2705 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 02:25:30 +00:00
Michael Niedermayer
4060205ba7 yv12toyuy2 in MMX
cleanup

Originally committed as revision 2703 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 01:21:05 +00:00
Michael Niedermayer
d9d58d172e yv12 <-> yuy2 in C
Originally committed as revision 2702 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-05 00:45:55 +00:00
Michael Niedermayer
9b2c28e6ed faster 15to16 bit rgb (the mmx routine is limited by memory speed so there is no difference ): but the c routine is faster
Originally committed as revision 2699 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 23:04:26 +00:00
Michael Niedermayer
9ce6584e49 palette to bgr24
Originally committed as revision 2698 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 19:50:29 +00:00
Michael Niedermayer
fcfbc150aa bgr32to16, bgr32to15 (needed for palette stuff)
paletteto 32,16,15bgr
all in c, will be optimized as soon as they are tested (assuming opt. is possible)

Originally committed as revision 2695 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 19:36:24 +00:00
Michael Niedermayer
7d7f78b5a4 green line fix for dstw%8!=0
Originally committed as revision 2681 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 13:50:20 +00:00
Nick Kurshev
569931477e using const modifier
Originally committed as revision 2678 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 11:51:36 +00:00
Michael Niedermayer
96034638d1 fixed warnings
Originally committed as revision 2672 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 03:07:02 +00:00
Michael Niedermayer
f62255fb13 faster bgr15/16
Originally committed as revision 2670 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-04 02:28:23 +00:00
Michael Niedermayer
162caf680f right green line bugfix for width not %8==0 (untested -vo vesa doesnt work)
Originally committed as revision 2639 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-11-02 19:21:02 +00:00
Michael Niedermayer
7fb36f6c51 deinterlace bugfix
Originally committed as revision 2596 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-10-31 18:29:03 +00:00
Michael Niedermayer
3407a97286 c speedup (x1, rk1 filters)
Originally committed as revision 2587 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-10-31 02:29:02 +00:00
Michael Niedermayer
02a0a992cd c speedup
Originally committed as revision 2586 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-10-31 01:30:28 +00:00
Michael Niedermayer
b18ea156c4 15/16bit in C speedup
Originally committed as revision 2585 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
2001-10-31 00:26:29 +00:00