Commit Graph

129 Commits

Author SHA1 Message Date
Seven Du ed78d38994 FS-8867: create conversion function stubs in the core so modules do not need to use libyuv directly 2016-02-24 15:12:05 -06:00
Mike Jerris 7f12385b8c FS-8236: fix ifdefs for building without libyuv 2015-09-30 16:15:26 -07:00
Michael Jerris 1d82705df8 FS-8236: revert previous bad commit 2015-09-30 18:09:04 -05:00
Michael Jerris dc74c69e5f FS-8236: fix build without libyuv on compilers that error on unused static function 2015-09-29 11:09:02 -04:00
Vladimir 240bf74d3a FS-7728: fix windows build issues 2015-08-04 23:29:01 -05:00
Mike Jerris 3e0a0ba833 attempt to optimize patch function 2015-07-29 22:11:59 -05:00
Mike Jerris c6596b1bd0 attempt to optimize patch function 2015-07-29 21:03:02 -05:00
Anthony Minessale 34fd0e9ad8 FS-7769 More features
add var=val member lookup usable wherver member_id is valid in api commands
add bgimg to layouts with api command or config for global setting
fix bug with overlap layouts combined with odd sized layers
improve switch_img_fit to take a modifier for fit, streach or both at once
2015-07-28 19:43:04 -05:00
Seven Du 7191e02f65 FS-7904 #resolve #fixed #comment fixed alpha image patching 2015-07-28 09:17:12 +08:00
Michael Jerris f727cdb9d1 FS-7724: [mod_conference] fix segfault when missing fonts when trying to render banner 2015-06-24 17:10:24 -05:00
Michael Jerris 4264f519da FS-7655: fix build error when we have PNG but not YUV 2015-06-22 14:36:57 -04:00
Anthony Minessale f44af63d79 FS-7656 parse metadata from files and put video banner up if artist or title is set 2015-06-19 18:00:47 -05:00
Michael Jerris 5734b9b2ce FS-7655: fix a few functions that need to be disabled without YUV 2015-06-16 20:02:59 -05:00
Michael Jerris e298831b3c FS-7655: fix build issue w/ strict prototypes 2015-06-16 19:58:16 -04:00
Michael Jerris 4ad0aa91a4 FS-7655: attempt to make libvpx and libyuv optional (none of the video features will work without them) The following modules require these libraries to be installed still: mod_av mod_cv mod_fsv mod_mp4v2 mod_openh264 mod_vpx mod_imagick mod_vpx mod_yuv mod_png mod_vlc 2015-06-16 18:24:35 -05:00
Anthony Minessale 9d40e1397d FS-7641 2015-06-12 15:59:02 -05:00
Michael Jerris 90bae91af7 FS-7613: fix use after free error in switch_img_txt_handle_render 2015-06-05 17:57:06 -05:00
Anthony Minessale 09ede13fc4 FS-7500 add switch_img_letterbox and use it for the mirror input function 2015-05-28 12:47:33 -05:00
Seven Du 8e1dc361e0 FS-7550 quick and dirty tweak for overlay, maybe need furthur tweaks but this should work with most transparent pngs 2015-05-28 12:47:32 -05:00
Seven Du 930d8aea39 FS-7550 starting to and libgd to core video 2015-05-28 12:47:31 -05:00
Seven Du 4b8f40d28e FS-7506 add alpha channel to switch_rgb_color_t so it is possible to make transparent text img 2015-05-28 12:47:30 -05:00
Seven Du 8787ccd5a5 FS-7506 refactor to use rgb color for pixel 2015-05-28 12:47:30 -05:00
Seven Du f0b42410a3 FS-7506 improve anti-aliasing when use a NULL bgcolor for transparent text 2015-05-28 12:47:30 -05:00
Anthony Minessale 3e33920657 FS-7513 fix all video mute related issues 2015-05-28 12:47:30 -05:00
Seven Du bfecc842df FS-7500: switch_img_overlay now support ARGB and negtive position, also change alpha value to match doc description 2015-05-28 12:47:29 -05:00
Anthony Minessale 5e7a8ea76d FS-7515: txt len 2015-05-28 12:47:28 -05:00
Anthony Minessale c517be4330 FS-7513: fix placement of overlay banner on letterbox callers change config option video-layout-bgcolor to video-letterbox-bgcolor 2015-05-28 12:47:25 -05:00
Anthony Minessale 7d5b0acc90 FS-7502: add patch level for media bugs to call them as needed 2015-05-28 12:47:24 -05:00
Michael Jerris 6ddf5a1bdf CID:1294501: possible null deref 2015-05-28 12:47:24 -05:00
Michael Jerris d44ea400d5 CID:1294424: remove redundant unused code 2015-05-28 12:47:24 -05:00
Seven Du 57016a7926 FS-7500: refactor and implemnt patch_rect
fix stride side when patching strided img
implement switch_img_patch_rect to patch partial of an img to a bigger IMG
refactor switch_img_copy_rect to support ARGB
2015-05-28 12:47:23 -05:00
Anthony Minessale 4b9b004403 FS-7513: add text to video logo in mod_conference 2015-05-28 12:47:23 -05:00
Anthony Minessale 70198e0d28 FS-7500: use abs value to compute width for img starting in negative space 2015-05-28 12:47:22 -05:00
Seven Du 6afe079946 FS-7500: allow patch to negative x,y 2015-05-28 12:47:22 -05:00
Michael Jerris 34b3804413 FS-7506: make core specify default font instead of each place we use it 2015-05-28 12:47:22 -05:00
Anthony Minessale 810a5d5831 FS-7515: add more cv features 2015-05-28 12:47:22 -05:00
Anthony Minessale 93c841d9e8 FS-7515: add more features to mod_cv 2015-05-28 12:47:22 -05:00
William King 4f468b14e9 CID: 1294483 no need to check if an unsigned variable is less than 0 2015-05-28 12:47:21 -05:00
William King 99f61f7ab8 CID: 1294549 comparison vs assignment 2015-05-28 12:47:21 -05:00
Anthony Minessale f6886b05d1 FS-7515: overlay refactor add zidx and abs position 2015-05-28 12:47:21 -05:00
Seven Du 0ddfea1d1b FS-7500: refactor to support Alpha channel on core image, only ARGB & I420 are supported 2015-05-28 12:47:20 -05:00
Brian West 8f361ab00b Clang-3.5 warnings fixed 2015-05-28 12:47:20 -05:00
Anthony Minessale 9cf804d4d0 FS-7515: add opaque container for png to pass around and save width and height 2015-05-28 12:47:19 -05:00
Anthony Minessale c07513ea55 FS-7506: make freetype optional 2015-05-28 12:47:15 -05:00
Anthony Minessale 6f379f43c1 FS-7500: fix calculation bug in switch_img_fit 2015-05-28 12:47:10 -05:00
Anthony Minessale af0f2e6ea8 FS-7514: buffer video too for vlc 2015-05-28 12:47:05 -05:00
Anthony Minessale 4bcc6e6d64 FS-7503 FS-7514: First crack at recording mp4 <action application="capture_video" data="vlc://#transcode{vcodec=h264,acodec=mp3}:std{access=file,mux=mp4,dst=/var/www/sounds/file.mp4}"/> 2015-05-28 12:47:05 -05:00
Mike Jerris 086cf1c279 FS-7500: expand libpng detection to try to find a good png >= 1.6.16, fall back to older verison in weezy, and add support for building without libpng 2015-05-28 12:47:05 -05:00
Anthony Minessale 84074ab804 FS-7513: cleanup 2015-05-28 12:47:02 -05:00
Seven Du e02ff26569 FS-7500: libpng 1.6.0 has much simpler APIs, also add a new switch_img_patch_png to possible patch a transparent png to an img
While this is not optimal, we should cache the png:
1) cache the whole buffer, with comes with RGBARGBA pixel formats
2) Allow switch_image_t to be other formats e.g. VPX_IMG_FMT_ARGB, VPX_IMG_FMT_ARGB_LE, or VPX_IMG_FMT_444A
   those can have alpha channels so we can check the alpha channel before we patch

Note all PNG are created equel, or maybe a bug in libpng since for some PNG files with alpha the returned buffer
     not seems like RGBARGBA... while docs says it should default be RGBA
2015-05-28 12:47:02 -05:00
Seven Du f4fad4e756 FS-7500: fix seg 2015-05-28 12:47:02 -05:00
Anthony Minessale e65f6bd604 FS-7513: add logo func and positioning param and vid snapshot 2015-05-28 12:47:02 -05:00
Anthony Minessale ae68efd48e FS-7500: assert on neg coordinates causes a seg on free if they are used 2015-05-28 12:47:02 -05:00
Seven Du 84a1f5f642 FS-7500: add overlay func 2015-05-28 12:47:02 -05:00
Seven Du 9faf03c91e FS-7500: be safe for patch and fill, off by 1 2015-05-28 12:47:01 -05:00
Seven Du c70e8cf216 FS-7500: add yuv2rgb 2015-05-28 12:47:01 -05:00
Seven Du b90ef728f3 FS-7500: fix rgb2yuv typo 2015-05-28 12:47:01 -05:00
Seven Du 061bcb063a FS-7500: fix patch and fill on an odd position 2015-05-28 12:47:01 -05:00
Seven Du 2841319037 FS-7500: fix compiler warning 2015-05-28 12:47:01 -05:00
Anthony Minessale 1faf602251 FS-7513: basic logo 2015-05-28 12:47:01 -05:00
Anthony Minessale 521a97935e FS-7500: check in png code and put it in the core to mature 2015-05-28 12:47:00 -05:00
Seven Du 90ea86bc95 FS-7506 FS-7513: refactor with rgb color space to support anti aliasing 2015-05-28 12:47:00 -05:00
Seven Du 187b0c1485 FS-7506: fix pen position and add mono font support 2015-05-28 12:47:00 -05:00
Anthony Minessale 0697db4fb4 FS-7506 FS-7513: set banner with video_banner_text variable set before calling in, NEEDS DOCS params are parsable inside a {} string 2015-05-28 12:46:59 -05:00
Seven Du 9d7eef28e6 FS-7500 FS-7513: add and use switch_img_fill 2015-05-28 12:46:59 -05:00
Seven Du 0f28311b17 FS-7506 FS-7513: refactor switch color and implement draw_text in mod_conference 2015-05-28 12:46:59 -05:00
Seven Du 2842dedc21 FS-7500: refactor switch_img_patch, it was made complicated than it should be 2015-05-28 12:46:59 -05:00
Anthony Minessale e14ad07a26 FS-7500: move function to core 2015-05-28 12:46:58 -05:00
Anthony Minessale fa5d6af2cd FS-7513: refactor conference video muxing to create one distinct encoder per codec used and only create one encoded frame per distinct codec, store current image used by layer on the layer so it is not destroyed before the canvas is written, refactor and rearrange some functions 2015-05-28 12:46:57 -05:00
Anthony Minessale 260e277f36 FS-7513: conf WIP hard code 4x4 squares in 720p more to come 2015-05-28 12:46:56 -05:00
Anthony Minessale 7ccbf44725 FS-7500: fix missing division 2015-05-28 12:46:55 -05:00
Seven Du 7c0237c142 FS-7500: really fix image copy 2015-05-28 12:46:55 -05:00
Anthony Minessale d87cfae0c9 FS-7513: more conf vid WIP 2015-05-28 12:46:55 -05:00
Anthony Minessale 2f5989c453 FS-7500: fix compile err 2015-05-28 12:46:55 -05:00
Seven Du 89c02eada9 FS-7500: fix image copy 2015-05-28 12:46:55 -05:00
Anthony Minessale 387cbc9dda FS-7513: WIP CONF STUFF 2015-05-28 12:46:55 -05:00
Seven Du c52d69d173 FS-7500: add switch_img_copy to clone an image 2015-05-28 12:46:54 -05:00
Anthony Minessale 853873725b FS-7500: factor out the write_image callback and fix the vlc video endpoint to setup and match the audio params of the A leg when bridged 2015-05-28 12:46:48 -05:00
Seven Du bcbdf8a347 FS-7500: add switch_core_video code 2015-05-28 12:46:42 -05:00