1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-12 13:44:56 +02:00
Commit Graph

460 Commits

Author SHA1 Message Date
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
Antoine Cellerier
f5bcfe6da7 Add support for config chain option parsing. 2007-03-25 14:48:56 +00:00
Antoine Cellerier
cc3d897d2f Woops, forgot to remove this reference to p_libvlc_global yesterday. 2007-03-25 13:21:06 +00:00
Antoine Cellerier
c256e73926 * Don't call var_Get every time we have an image to process and register the variables as commands. 2007-03-24 20:25:25 +00:00
Antoine Cellerier
f7c6d4e73c Register variables as callback. Don't store module specific variables in p_libvlc_global. They don't belong there. 2007-03-24 18:30:39 +00:00
Christophe Mutricy
37b0b026bb Fix the strings. 2007-03-23 21:22:47 +00:00
Antoine Cellerier
434a7e5e6d Fix the help string for rss-speed. 2007-03-21 22:36:44 +00:00
Antoine Cellerier
15bfa02e68 rss.c: Using [19378] (visible region persitence in freetype font renderer), only display one line of text if the font size option was set. 2007-03-21 22:14:46 +00:00
Antoine Cellerier
536fc420a2 * Add new rss-title option to configure how/when/if you want to display the feed's title.
* Fix CFG_PREFIX for config chain parsing and option names (s/rrs/rss/)
2007-03-21 21:44:56 +00:00
Antoine Cellerier
6bf818a2c3 Fix #675. 2007-02-11 01:51:45 +00:00
Jean-Baptiste Kempf
a900b500ae Patch from Cédric Cocquebert for sharpen filter. 2007-02-06 23:32:35 +00:00
Jean-Baptiste Kempf
c06614ec72 Change in copyright and propedit. 2007-02-04 22:40:21 +00:00
Jean-Baptiste Kempf
f1ec0f9f4c Sharpen Video-Filter.
Work from DJ_Mulder on the forum, changes by /me helped by dionoea and jpsaman.
2007-02-04 22:27:07 +00:00
Antoine Cellerier
d20a2464f3 Ooops (?) 2007-02-03 02:55:33 +00:00
Antoine Cellerier
1360a812c7 Copy clip_uint8() function from ffmpeg and replace where applicable for video filters. 2007-02-02 20:51:11 +00:00
Antoine Cellerier
ccf664e20d add new filename_sanitize and path_sanitize functions to remove forbidden charcters from filenames/paths and use where appropriate. 2007-01-26 22:37:28 +00:00
Jean-Baptiste Kempf
9ed0ed0e9d Some small modifications to crop and panoramix to repair calls for uninitialized variables.
Patch by Cedric Coquebert.
2007-01-25 19:42:49 +00:00
Jean-Baptiste Kempf
7ea8f3e263 Patch by Cedric Cocquebert to improve the panoramix module. 2007-01-23 17:37:48 +00:00
Clément Stenac
80fde19dfe More cleanup 2006-12-24 14:18:21 +00:00
Jean-Baptiste Kempf
55c10e2ca8 Dionoea's commit :D 2006-12-19 10:53:09 +00:00
Antoine Cellerier
fa9ca79b19 * Remove comments left in cut & paste. 2006-12-18 21:13:07 +00:00
Antoine Cellerier
0d895d8ecd * Make it possible to extract any color component from the video. (Red, Green and Blue are still hardcoded) Example: ./vlc ~/media/Muse-Concert.mpg --video-filter "extract{component=0xFFFF00}" will get you the yellow stuff. 2006-12-18 21:08:11 +00:00
Antoine Cellerier
03f9f5fec6 * New color extraction video filter. Can be used to extract the Red, Green or Blue component from a video.
* Add stuff about motiondetect and extract in the News (even though motiondetect isn't finished)
2006-12-17 20:42:32 +00:00
Antoine Cellerier
dfc8b3df25 Rewrite motion detect filter. It currently draws a white rectangle arround moving objects (on fixed backgrounds). I still need to add code to make it possible to trigger an action when movement is detected (i.e. a VLM command to start recording). 2006-12-17 17:58:21 +00:00
Derk-Jan Hartman
ae6af36087 * motion_detect: use playlist_Control's "lock" argument
* const string fixes 
* make a couple of functions static
2006-12-11 17:22:20 +00:00
Derk-Jan Hartman
dba4eb4352 * marq.c: const strings 2006-12-11 15:30:46 +00:00
Derk-Jan Hartman
8a26156e24 * forwardport [18201]
fixes a big crasher in the DestroyFilter of the logo video filter
2006-12-02 15:02:36 +00:00
Clément Stenac
c638a67c52 Improved autocropping by Cedric Cocquebert 2006-12-02 10:58:51 +00:00
Antoine Cellerier
4e0282a7fa Revert messup while doing the video filter2 port. 2006-11-26 23:25:40 +00:00
Antoine Cellerier
4e26c57f6f Remove trailing spaces. 2006-11-26 17:49:17 +00:00
Antoine Cellerier
9ce72981b5 use pf_mem{set,cpy} when possible 2006-11-26 17:29:57 +00:00
Antoine Cellerier
93236cd63c Remove printf 2006-11-26 17:18:09 +00:00
Clément Stenac
ea82a404e9 Nicer commits, faster breaking time and better-looking headers
That's not just the vlc service, thats *your* vlc service !
So remember the new number ! 0118 999 881 999 119 725...3
2006-11-26 16:01:31 +00:00
Antoine Cellerier
105e1851a7 * Port motion blur to "video filter2".
* Add "blur-persistant" option to use previous result instead of previous clean image for next iteration.
2006-11-26 15:21:04 +00:00
Clément Stenac
d3fe7f2879 A bit of headers cleanup
* Headers in include must contain the structures and prototypes needed
  by the plugins and should be named vlc_*.
* Headers in include/vlc must contain the structures and prototypes
  needed by external libvlc clients

* Moved and renamed some things in headers. 
   - Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
   - Removed snapshot.h (merged in vlc_vout.h)
   - Removed vlc_spu.h (merged in vlc_osd.h)
   - Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
   - Moved all internal headers to src
   - Merged vlc_video.h and video_output.h and move private things to src
   - Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
     (meta headers for use in modules, and often implying too large 
     dependencies)
* Removed some useless dependencies
* Unexported a bunch of functions and structures used only in src/
  (--> Still some work here)
* Finally made input_thread_t and input_source_t (mostly) private. 
  Added input_GetItem to fetch the input_item of an input_thread
* Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol 
  prefix

This commit has a 99% probability of breaking the build, 0.1% of killing
your cat and 0% of getting you hot chicks.
2006-11-26 14:20:34 +00:00
Derk-Jan Hartman
925e40a3e3 * Remove the old swscale files, and use the newer libswscale from ffmpeg.
Untested and likely to break stuff
2006-11-17 22:18:44 +00:00
Antoine Cellerier
fb3133439d Only accept mouse coordinates inside video window 2006-11-11 23:44:15 +00:00
Antoine Cellerier
d1b0d5205f Add "shuffle" button to puzzle in order to prevent shuffling when double clicking to go fullscreen once the puzzle is solved. 2006-11-11 23:37:11 +00:00
Rémi Denis-Courmont
13b3f5c25f Remove extraneous ToLocale(). 2006-11-11 16:13:25 +00:00
Sigmund Augdal Helberg
e83a49c062 added a color threshold filter that can make effects similar to "the
yellow guy" in sin city or the red dressed girl in the beginning of
schindlers list
2006-11-11 13:33:43 +00:00
Antoine Cellerier
ecd7382d08 Really prevent illegal puzzles and prevent some illegal moves. 2006-11-11 00:48:03 +00:00
Antoine Cellerier
cf3059baf3 Put video in black slot when puzzle is solved 2006-11-11 00:20:30 +00:00
Antoine Cellerier
a1b3f1fb73 I'm not sure that this is ok but it definitively prevents impossible to solve puzzles from being generated here. 2006-11-11 00:18:01 +00:00
Antoine Cellerier
5506025a7e Woops. 2006-11-10 23:58:17 +00:00
Antoine Cellerier
decd54e439 Add --puzzle-black-slot option to change puzzle type 2006-11-10 23:51:33 +00:00
Antoine Cellerier
0cd336b3fb Puzzle vout filter. (vlc --vout-filter puzzle <your favorite disney cartoon>) 2006-11-10 20:59:15 +00:00
Antoine Cellerier
53cf4a01e5 Move string formating functions used in marq to the core. 2006-11-06 21:03:33 +00:00
Jean-Paul Saman
e03d7e7b12 Fix compiler warning: missing initializer 2006-10-21 14:02:49 +00:00
Jean-Paul Saman
0f382e7498 Remove unused variables 2006-10-21 13:31:44 +00:00
Antoine Cellerier
bf68c0feab noise video filter 2006-10-16 20:57:36 +00:00
Antoine Cellerier
6a2febe51b Don't use doubles when doing the rotation 2006-10-15 19:00:21 +00:00
Antoine Cellerier
7a5a63a7c0 Motion control interface can now be used with the rotate video filter. (Should be usefull when watching videos on a boat i guess ... :) ) Command line: vlc --control motion --motion-use-rotate --video-filter rotate <the video> 2006-10-14 17:06:38 +00:00
Antoine Cellerier
ca5af2c368 Ahem... 2006-10-14 14:41:55 +00:00
Antoine Cellerier
4b1b4f8939 New rotate video filter. Can rotate video by any integer angle between 0 and 359 degrees.
This still needs work to make it look better, and be able to use it with the "motion" control module.
2006-10-14 14:38:11 +00:00
Antoine Cellerier
212dce0e50 Ahem... 2006-10-14 13:59:50 +00:00
Antoine Cellerier
80f01f2957 [PATCH] marquee crash fix by Dermot McGahon. 2006-10-12 21:01:47 +00:00