1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-04 09:11:33 +02:00
Commit Graph

515 Commits

Author SHA1 Message Date
Antoine Cellerier
f185b15e41 Wave and ripple should now behave correctly for chromas where pixels can take more than 1 byte in a row (like RV32). 2007-11-24 23:20:47 +00:00
Jean-Paul Saman
7ce5b93add Fix various memleaks in error paths. 2007-11-15 16:29:32 +00:00
Jean-Paul Saman
82e29c9ba1 Implement clickable osdmenu. The clickable positioning and scaling guessing is not complete (the whole spu region is now clickable with current configurations). 2007-11-15 13:38:32 +00:00
Jean-Paul Saman
1bc8330a3f Cleanup on osdmenu video filter. 2007-11-14 15:18:21 +00:00
Jean-Paul Saman
099b560c5b Indentation 2007-11-14 15:18:18 +00:00
Jean-Paul Saman
6535c24d5e Remove printf(). 2007-10-18 22:10:05 +00:00
Jean-Paul Saman
81959d2951 Remove useless empty line. 2007-10-18 22:09:59 +00:00
Laurent Aimar
7cfd41b20b Use field order (top/bottom) for correct bob/linear deinterlacing.
(Decoder that does not set this info should be fixed)
2007-10-12 19:49:44 +00:00
Rafaël Carré
4714362c3b logo filter: fail early if the logo hasn't been specified (rather than segfaulting) 2007-10-12 18:32:39 +00:00
Rémi Denis-Courmont
4a7e8ae30a Fix warning 2007-09-11 15:52:21 +00:00
Rafaël Carré
6ee1e193fd Removes trailing spaces. Removes tabs. 2007-09-10 18:56:52 +00:00
Rémi Denis-Courmont
224355782e Fix ptrdiff_t abuse. Especially in video_filter_invert:
ptrdiff_t is signed so unequality comparison between pointers would
compute wrong when the two operands are within opposite halves of the
memory space.
2007-09-09 19:56:31 +00:00
Antoine Cellerier
7e0632d147 Nevermind. /me buys some glasses. 2007-09-09 19:41:05 +00:00
Antoine Cellerier
2c828bcf5d Fix comment. 2007-09-09 19:32:34 +00:00
Rémi Denis-Courmont
5661b194b1 Missing static 2007-09-05 13:51:01 +00:00
Antoine Cellerier
0f403e7565 Hopefully fix the build for windows. 2007-09-04 21:08:56 +00:00
Antoine Cellerier
29968fb028 Start seamcarving video filter. I'm commiting this mainly to get it in a windows build. This still needs some heavy optimisation, support for vertical resizing, colors and upscaling.
Sample command line for those who want to test: time ./vlc fake: --fake-file ~/images/NATURE-Fakarava_400x300.jpg --fake-fps 5 -I dummy --control rc -V x11 --video-filter seamcarving@s
You can change the croping by using commands like:
@s crop 200 (a crop value of 0 resets it to the default mode)
2007-09-04 20:30:56 +00:00
Rémi Denis-Courmont
4c4c105392 Fix some cast warnings 2007-09-04 19:21:53 +00:00
Jean-Baptiste Kempf
05bf902c8a OSDMenu: add to the CAT_VIDEO category to have tweaking in the preferences. 2007-09-01 13:42:55 +00:00
Rémi Denis-Courmont
e40d134c69 Remove _GNU_SOURCE and string.h too 2007-08-20 19:10:23 +00:00
Rémi Denis-Courmont
81c5ac29fa Remove stdlib.h 2007-08-20 19:08:22 +00:00
Rémi Denis-Courmont
c90be618be More libvlc_global presumed abuse 2007-08-16 17:24:55 +00:00
Rémi Denis-Courmont
4855a76128 Made mosaic shared struct per-instance rather than per-process 2007-08-16 17:03:40 +00:00
Jean-Paul Saman
398cbeb65e Scale every plane correctly. This fixes the "green bar at the bottom after scaling" issue. 2007-08-08 09:25:44 +00:00
Jean-Paul Saman
c0da24fe8d Use parenthesis to make it more readible.` 2007-08-08 09:25:42 +00:00
Rémi Denis-Courmont
39c625244a - Cleanup and fixes deprecated options:
- Removed the gross SUPPRESSED hack
 - Remove support for strict deprecated aliases (that was not used anyway)
2007-08-04 20:49:46 +00:00
Rémi Denis-Courmont
37ce2848cd Fix usage of add_shortcut.
Note that shortcuts are inherited from the main module to submodules, so it is
totally useless to duplicate them paste add_submodule. If you think this is
wrong, I do not necessarily disagree, but it would need a RFC.
2007-08-04 18:50:37 +00:00
Rémi Denis-Courmont
4c4c4ce26e Move code out of module descriptor.
By the way, I am VERY suspicious about the use of libvlc_global for mosaic and
bridge locks
2007-08-04 17:10:35 +00:00
Antoine Cellerier
efe69dfdb8 New video filter to add grain to a video. This is work in progress (I'm commiting so people can test using the win32 nightlies) 2007-07-26 21:28:05 +00:00
Antoine Cellerier
b76e48f98d Invert lines (cosmetic change only) 2007-07-25 22:29:19 +00:00
Jean-Paul Saman
c9c15222fd Fix positioning of subpicture regions in osdmenu. 2007-07-19 14:50:53 +00:00
Jean-Paul Saman
e62911abc7 Don't scale when source or destination width/height is zero. Fixes a arithmic exception (division by zero). 2007-07-19 13:45:30 +00:00
Jérome Decoodt
ef1c999b0f Try to optimize a bit the antialiasing thing 2007-07-06 07:33:15 +00:00
Jérome Decoodt
f9683d0ba9 Better blending for top and left borders
Thanks dionoea!
2007-07-05 13:18:06 +00:00
Jérome Decoodt
215073dd93 Add blending for borders in rotate 2007-07-04 23:03:48 +00:00
Jérome Decoodt
f36af49204 Add some antialiasing to rotate 2007-07-04 22:35:56 +00:00
Antoine Cellerier
e378b43214 Fix "Seg fault when changing mosaic 'offsets' option on the fly." Patch by hovis, #1182 2007-06-28 19:32:02 +00:00
Jean-Paul Saman
6038e0cc82 small cleanup 2007-06-21 11:46:31 +00:00
Jean-Baptiste Kempf
ecf51c903d Logo: Correction spotted by ILEoo and patched by Bernie Purcell. 2007-06-21 06:34:14 +00:00
Jérome Decoodt
bf2bdccad3 Add rotate-deciangle for more precision in rotate
Add unimotion (http://members.optusnet.com.au/lbramsay/programs/unimotion.html)
to motion interface
Add a low band filter to the motion
2007-06-20 20:19:24 +00:00
Laurent Aimar
23cc599d06 Patch by Bernie Purcell :
"This is part of a former submission stripped out for easier
 assimilation. It modifies vout_subpictures to use the existing alignment
 field on each region, rather than the alignment on the subpicture plane
 itself. Modifications are made to everywhere that depended on the former
 behaviour, to make it use the new alignment location instead."
2007-06-18 21:08:03 +00:00
Antoine Cellerier
d6ce9ba9d4 Fix marq positions list in config. 2007-06-17 14:12:56 +00:00
Antoine Cellerier
0ec9c4719b Fix copyright date 2007-06-17 13:59:55 +00:00
Antoine Cellerier
2b8402b1e4 Make error output usable. 2007-06-17 13:59:27 +00:00
Christophe Mutricy
ef68043487 i18n fixes 2007-06-14 22:14:12 +00:00
Laurent Aimar
b1a0a922b6 Fixed uninitialized variable. 2007-06-12 21:06:24 +00:00
Jean-Paul Saman
13b97d7c6e OSDMenu update time of 0 ms disables the menu, so put in a sane default value. 2007-06-06 14:57:27 +00:00
Jean-Paul Saman
31982bc947 Only update the menu when it is visible. 2007-06-06 14:33:46 +00:00
Jean-Paul Saman
ad2ce2a15b Fix update time in variable callback so it uses ms. 2007-06-06 14:26:49 +00:00
Jean-Paul Saman
4b1fd54acf OSDMenu improvements
- new style concat to indicate that images should be put in a region list
- user selected alpha value for subpictures
- position, x, y, timeout, update, alpha values are changeable during runtime
- vlc_osd.h: documented new osdmenu style concat

Known issues:
In osdmenu concat mode there is one issue left where two subpicture regions are displayed on top of each other when cycling through the menu.
2007-06-06 13:52:31 +00:00
Jean-Paul Saman
ddada0edf7 Small cleanup. 2007-05-30 11:17:56 +00:00
Jean-Baptiste Kempf
998b8002fc Sharpen performance improvement by precalculating some values. Patch by Jérémy DEMEULE, author of the filter. 2007-05-29 22:41:09 +00:00
Laurent Aimar
26bc394027 Compilation warning fixes. 2007-05-27 17:19:07 +00:00
Damien Fouilleul
9a1b826cba - blend.c: fix for BlendRV24, needs testing, dionoea ? 2007-05-22 18:50:11 +00:00
Rémi Denis-Courmont
2e0409a129 Hide libvlc_global_data_t from plugins 2007-05-20 10:03:51 +00:00
Antoine Cellerier
a2e881cb7b * deinterlace.c: compile fix by ILEoo. 2007-05-19 22:24:16 +00:00
Rémi Denis-Courmont
7b0773e690 Use a vlc_CPU() wrapper instead of (ab)using libvlc_global 2007-05-19 21:43:16 +00:00
Jean-Baptiste Kempf
c09b9f61b7 Should fix another bunch of: (near initialization for `fmt*') warnings. 2007-05-16 19:09:04 +00:00
Jean-Paul Saman
124454cb20 Remove unused variable. 2007-05-16 14:14:43 +00:00
Jean-Paul Saman
94cc428df6 Fix another bunch of: (near initialization for `fmt.i_aspect') warnings. 2007-05-16 14:13:22 +00:00
Jean-Paul Saman
b7621186fb Fix compiler warnings of type "warning: (near initialization for `fmt.i_aspect')" 2007-05-16 14:06:49 +00:00
Jean-Paul Saman
f82106aa67 Properly clear the struct, this shuts up another compiler warning. 2007-05-16 13:59:30 +00:00
Antoine Cellerier
0f20500423 * rss.c: Test fix for a bug i can't reproduce (most likely due to a missing 0 at the end of string). See http://forum.videolan.org/viewtopic.php?p=112026#112026 for details. 2007-05-09 20:20:52 +00:00
Jean-Paul Saman
88f28f6302 remove trailing whitespace 2007-04-26 09:59:58 +00:00
Antoine Cellerier
348f0ffb5c motiondetect.c: Oops commit. 2007-04-25 19:37:47 +00:00
Antoine Cellerier
a90c352334 * motiondetect.c: remove useless include.
* puzzle.c: compile warning fix.
2007-04-25 19:20:43 +00:00
Antoine Cellerier
d08ba16893 Yet another optimisation for the gaussian filter. This adds a compile
time option to use floats instead of integers. Performance comparison
is:
(performance is in numbers of samples output by oprofile. Less is better)

sigma   old version (integers)       integers       floats
 2.0    556889                    466435 (-17%)  481293 (-13%)
 4.0    902749 (core maxed out)   732755 (-19%)  716070 (-21%)

I'll have to check why relative performance gain depends on sigma when
comparing the the float and integer versions.

I'll aslo add another module (most likely named fastgaussianblur.c)
based on Frederick M. Waltz and John W. V. Miller's "An efficient
algorithm for Gaussian blur using finite-state machines" article. This
seems to be way faster (but it's doesn't allow as much granularity in
the gaussian's choice and it adds an error compared to this module).
2007-04-23 21:41:25 +00:00
Antoine Cellerier
e965658404 Gaussian blur optimisation. It now runs without skipping images with default sigma (2.0) using my small sample video (352x240). This still needs to be optimised a lot. 2007-04-22 10:27:49 +00:00
Antoine Cellerier
be8ab3720f New gaussian blur video filter. This currently takes way too much CPU. I'm not sure how it should be optimised. Maybe using floats instead of ints might work (if it can remove the need for a division). 2007-04-21 23:26:46 +00:00
Antoine Cellerier
314aceb7f9 Fix i_pitch vs i_visible_pitch bug. 2007-04-21 22:42:20 +00:00
Antoine Cellerier
610d26b1b6 * rotate.c: Fix a few bugs + don't use p_libvlc_global to store instance specific parameters
* motion.c: reflect changes on rotate.c
2007-04-20 23:48:27 +00:00
Antoine Cellerier
78ff3248b4 Optimze nearest neighboor scaling implementation. This is used by the sub pictures core. CPU decrease compared to previous version with my test filter was: 66% for YUVA, 65% for I420 and 71% for RGBA. 2007-04-19 17:43:16 +00:00
Antoine Cellerier
54cd9ee287 Improve logo erase filter (~12% speedup if my math and profiling are correct).
Add support for I422 streams (un tested).
2007-04-17 20:31:00 +00:00
Antoine Cellerier
cff71493f6 Oops. 2007-04-16 22:03:25 +00:00
Antoine Cellerier
6ec82b018c * erase.c: add bluring effect, fix a bunch of bugs and compile warnings. It now looks good.
* deinterlace.c: compile warning fix.
2007-04-16 21:59:39 +00:00
Antoine Cellerier
f7d32756d2 Don't delete variables that don't exist. 2007-04-15 21:37:49 +00:00
Antoine Cellerier
2e7f9cf4d6 Remove old TODO + fix spelling. 2007-04-15 21:12:27 +00:00
Antoine Cellerier
ce0e4fb0ab * mosaic_bridge.c: - Add "vfilters" option to apply video filters on the
image before sending it to the mosaic.
                    - Add option ("chroma") to force the image chroma
                    - Remove alpha mask code
 * mosaic.c: - Remove bluescreen code
             - Misc cosmetics changes
 * bluescreen.c: New bluescreen filter (mostly cut & paste from mosaic.c)
 * alphamask.c: New alpha mask filter (mostly cut & paste from mosaic_bridge.c)
 * invert.c: don't invert the alpha plane for YUVA images (We also need to
             prevent that for RGBA images ... but that's not really used
             currently)
 * configure.ac, video_filter/Modules.am: add alphamask and bluescreen
2007-04-15 21:00:09 +00:00
Antoine Cellerier
2ece18d460 Mosaic:
Allow runtime changes of the bluescreen parameters
Cosmetics
Compilation warning fixes
2007-04-07 20:17:12 +00:00
Antoine Cellerier
78fe0c6b91 mosaic.c: If we're not using bluescreen stuff (which needs per pixel alpha values), then use I420 instead of YUVA when resizing the images. (see previous commit for explanation.) 2007-04-02 21:03:58 +00:00
Antoine Cellerier
1106a14087 Fix I420/YV12 -> * blending. Looks like we did need separate functions. 2007-04-02 20:54:52 +00:00
Antoine Cellerier
7255a5e639 also scale I420/YV12. (untested) (btw, why don't we use the "normal" scaling modules for sub pictures?) 2007-04-02 16:24:23 +00:00
Antoine Cellerier
c0653a1694 * Untested YV12/I420 -> * blending. Works exactly like YUVA blending except when i_trans == 255. This should improve Mosaic performance. (still needs 1 or 2 changes to the mosaic_bridge and mosaic modules).
* Don't try blending if i_trans == 0.
2007-04-02 09:18:12 +00:00
Antoine Cellerier
37f3331d39 don't invert the function names. 2007-04-01 20:55:36 +00:00
Antoine Cellerier
ba47552d50 Untested RGBA -> YUV Packed blending. 2007-04-01 20:38:21 +00:00
Antoine Cellerier
2bc5973b7e Untested RGBA -> RV16 blending (I420 and RV24 work fine). 2007-04-01 20:22:01 +00:00
Antoine Cellerier
df507aa7f3 Remove trailing space. 2007-03-31 22:03:59 +00:00
Antoine Cellerier
74d80d86fe Make it possible to change puzzle parmaeters after filter launch. 2007-03-31 22:01:07 +00:00
Antoine Cellerier
7fbd1ca82e Make it possible to change sharpen sigma after filter launch. 2007-03-31 21:52:33 +00:00
Antoine Cellerier
5a71baac65 Make it possible to change the blur factor after filter launch. 2007-03-31 21:47:11 +00:00
Antoine Cellerier
0ea9e4b45f Gradient options are now commands. 2007-03-31 21:38:24 +00:00
Antoine Cellerier
57e21062fa Enable config chain syntax and flag the vars as commands. 2007-03-31 21:25:36 +00:00
Antoine Cellerier
1f382c03ef Remove trailing spaces. 2007-03-31 20:37:13 +00:00
Antoine Cellerier
aa02864cba convert a few printfs to msg_Dbg. 2007-03-31 20:00:03 +00:00
Antoine Cellerier
1309f14889 Make it possible to change the extracted color once the module is launched. 2007-03-31 19:53:23 +00:00
Antoine Cellerier
71a183b9a7 Check the input chroma. (We only want to work on I420 for the moment) 2007-03-31 19:08:12 +00:00
Antoine Cellerier
ef8b4b02c7 New erase video filter (to remove logos). Example command line: ./vlc --video-filter "erase{mask=/home/dionoea/images/cone-small.png,x=50,y=50}" --no-audio --color -v -I rc ~/media/redefined-nintendo.mpg 2007-03-31 18:37:16 +00:00
Antoine Cellerier
f6b0cce8bf Also use the V plane for motion detection. Remove unused code. 2007-03-31 16:42:14 +00:00
Antoine Cellerier
da065dee8a scale.c: implement RGBA scaling.
vout_subpictures.c: enable scaling for RGBA subpictures.
2007-03-31 16:02:28 +00:00
Antoine Cellerier
3d1de17e28 Untested RGBA blending in I420, RV24 and RV32. 2007-03-30 17:29:41 +00:00