Full Code of puku0x/cvdrone for AI

master 4011ff486e5c cached
660 files
5.4 MB
1.5M tokens
4433 symbols
1 requests
Download .txt
Showing preview only (5,797K chars total). Download the full file or copy to clipboard to get everything.
Repository: puku0x/cvdrone
Branch: master
Commit: 4011ff486e5c
Files: 660
Total size: 5.4 MB

Directory structure:
gitextract_ueim0nzk/

├── .gitignore
├── build/
│   ├── cleanup.bat
│   ├── unix/
│   │   └── makefile
│   ├── vs2010/
│   │   ├── test.sln
│   │   ├── test.vcxproj
│   │   └── test.vcxproj.filters
│   ├── vs2012/
│   │   ├── test.sln
│   │   ├── test.vcxproj
│   │   └── test.vcxproj.filters
│   ├── vs2013/
│   │   ├── test.sln
│   │   ├── test.vcxproj
│   │   └── test.vcxproj.filters
│   └── vs2015/
│       ├── test.sln
│       ├── test.vcxproj
│       └── test.vcxproj.filters
├── cvdrone-license-BSD.txt
├── cvdrone-license-LGPL.txt
├── licenses/
│   ├── FFmpeg-LGPLv2.1.txt
│   ├── ffmpeg.txt
│   ├── glut.txt
│   ├── opencv.txt
│   ├── parrot.txt
│   ├── parrotdisclaimer.txt
│   └── pthreads-w32.txt
├── readme.txt
├── samples/
│   ├── camera.xml
│   ├── old/
│   │   ├── sample_camera_calibration.cpp
│   │   ├── sample_condens_tracking.cpp
│   │   ├── sample_deadreckoning.cpp
│   │   ├── sample_deadreckoning_kalman.cpp
│   │   ├── sample_default.cpp
│   │   ├── sample_default2.cpp
│   │   ├── sample_detection.cpp
│   │   ├── sample_detection2.cpp
│   │   ├── sample_flight_animation.cpp
│   │   ├── sample_hog.cpp
│   │   ├── sample_hough_circle.cpp
│   │   ├── sample_kalman_tracking.cpp
│   │   ├── sample_led_animation.cpp
│   │   ├── sample_marker_based_ar.cpp
│   │   ├── sample_minimal.cpp
│   │   ├── sample_navdata.cpp
│   │   ├── sample_optical_flow.cpp
│   │   ├── sample_stitching.cpp
│   │   ├── sample_vanishing_point.cpp
│   │   ├── sample_video_record.cpp
│   │   └── sample_video_writer.cpp
│   ├── sample_camera_calibration.cpp
│   ├── sample_deadreckoning.cpp
│   ├── sample_deadreckoning_kalman.cpp
│   ├── sample_default.cpp
│   ├── sample_detection.cpp
│   ├── sample_flight_animation.cpp
│   ├── sample_hog.cpp
│   ├── sample_kalman_tracking.cpp
│   ├── sample_led_animation.cpp
│   ├── sample_marker_based_ar.cpp
│   ├── sample_minimal.cpp
│   ├── sample_navdata.cpp
│   ├── sample_optical_flow.cpp
│   ├── sample_stitching.cpp
│   ├── sample_tracking.cpp
│   ├── sample_video_record.cpp
│   └── sample_video_writer.cpp
└── src/
    ├── 3rdparty/
    │   ├── ffmpeg/
    │   │   ├── include/
    │   │   │   ├── inttypes.h
    │   │   │   ├── libavcodec/
    │   │   │   │   ├── avcodec.h
    │   │   │   │   ├── avfft.h
    │   │   │   │   ├── dxva2.h
    │   │   │   │   ├── old_codec_ids.h
    │   │   │   │   ├── vaapi.h
    │   │   │   │   ├── vda.h
    │   │   │   │   ├── vdpau.h
    │   │   │   │   ├── version.h
    │   │   │   │   └── xvmc.h
    │   │   │   ├── libavdevice/
    │   │   │   │   ├── avdevice.h
    │   │   │   │   └── version.h
    │   │   │   ├── libavfilter/
    │   │   │   │   ├── asrc_abuffer.h
    │   │   │   │   ├── avcodec.h
    │   │   │   │   ├── avfilter.h
    │   │   │   │   ├── avfiltergraph.h
    │   │   │   │   ├── buffersink.h
    │   │   │   │   ├── buffersrc.h
    │   │   │   │   └── version.h
    │   │   │   ├── libavformat/
    │   │   │   │   ├── avformat.h
    │   │   │   │   ├── avio.h
    │   │   │   │   └── version.h
    │   │   │   ├── libavutil/
    │   │   │   │   ├── adler32.h
    │   │   │   │   ├── aes.h
    │   │   │   │   ├── attributes.h
    │   │   │   │   ├── audio_fifo.h
    │   │   │   │   ├── audioconvert.h
    │   │   │   │   ├── avassert.h
    │   │   │   │   ├── avconfig.h
    │   │   │   │   ├── avstring.h
    │   │   │   │   ├── avutil.h
    │   │   │   │   ├── base64.h
    │   │   │   │   ├── blowfish.h
    │   │   │   │   ├── bprint.h
    │   │   │   │   ├── bswap.h
    │   │   │   │   ├── buffer.h
    │   │   │   │   ├── channel_layout.h
    │   │   │   │   ├── common.h
    │   │   │   │   ├── cpu.h
    │   │   │   │   ├── crc.h
    │   │   │   │   ├── dict.h
    │   │   │   │   ├── downmix_info.h
    │   │   │   │   ├── error.h
    │   │   │   │   ├── eval.h
    │   │   │   │   ├── ffversion.h
    │   │   │   │   ├── fifo.h
    │   │   │   │   ├── file.h
    │   │   │   │   ├── frame.h
    │   │   │   │   ├── hmac.h
    │   │   │   │   ├── imgutils.h
    │   │   │   │   ├── intfloat.h
    │   │   │   │   ├── intfloat_readwrite.h
    │   │   │   │   ├── intreadwrite.h
    │   │   │   │   ├── lfg.h
    │   │   │   │   ├── log.h
    │   │   │   │   ├── lzo.h
    │   │   │   │   ├── macros.h
    │   │   │   │   ├── mathematics.h
    │   │   │   │   ├── md5.h
    │   │   │   │   ├── mem.h
    │   │   │   │   ├── murmur3.h
    │   │   │   │   ├── old_pix_fmts.h
    │   │   │   │   ├── opt.h
    │   │   │   │   ├── parseutils.h
    │   │   │   │   ├── pixdesc.h
    │   │   │   │   ├── pixfmt.h
    │   │   │   │   ├── random_seed.h
    │   │   │   │   ├── rational.h
    │   │   │   │   ├── ripemd.h
    │   │   │   │   ├── samplefmt.h
    │   │   │   │   ├── sha.h
    │   │   │   │   ├── sha512.h
    │   │   │   │   ├── stereo3d.h
    │   │   │   │   ├── time.h
    │   │   │   │   ├── timecode.h
    │   │   │   │   ├── timestamp.h
    │   │   │   │   ├── version.h
    │   │   │   │   └── xtea.h
    │   │   │   ├── libswresample/
    │   │   │   │   ├── swresample.h
    │   │   │   │   └── version.h
    │   │   │   ├── libswscale/
    │   │   │   │   ├── swscale.h
    │   │   │   │   └── version.h
    │   │   │   └── stdint.h
    │   │   └── lib/
    │   │       ├── avcodec.lib
    │   │       ├── avdevice.lib
    │   │       ├── avfilter.lib
    │   │       ├── avformat.lib
    │   │       ├── avutil.lib
    │   │       ├── swresample.lib
    │   │       └── swscale.lib
    │   ├── glut/
    │   │   ├── include/
    │   │   │   └── GL/
    │   │   │       └── glut.h
    │   │   └── lib/
    │   │       ├── glut.def
    │   │       └── glut32.lib
    │   ├── opencv/
    │   │   ├── include/
    │   │   │   ├── opencv/
    │   │   │   │   ├── cv.h
    │   │   │   │   ├── cv.hpp
    │   │   │   │   ├── cvaux.h
    │   │   │   │   ├── cvaux.hpp
    │   │   │   │   ├── cvwimage.h
    │   │   │   │   ├── cxcore.h
    │   │   │   │   ├── cxcore.hpp
    │   │   │   │   ├── cxeigen.hpp
    │   │   │   │   ├── cxmisc.h
    │   │   │   │   ├── highgui.h
    │   │   │   │   └── ml.h
    │   │   │   └── opencv2/
    │   │   │       ├── aruco/
    │   │   │       │   ├── charuco.hpp
    │   │   │       │   └── dictionary.hpp
    │   │   │       ├── aruco.hpp
    │   │   │       ├── bgsegm.hpp
    │   │   │       ├── bioinspired/
    │   │   │       │   ├── bioinspired.hpp
    │   │   │       │   ├── retina.hpp
    │   │   │       │   ├── retinafasttonemapping.hpp
    │   │   │       │   └── transientareassegmentationmodule.hpp
    │   │   │       ├── bioinspired.hpp
    │   │   │       ├── calib3d/
    │   │   │       │   ├── calib3d.hpp
    │   │   │       │   └── calib3d_c.h
    │   │   │       ├── calib3d.hpp
    │   │   │       ├── ccalib/
    │   │   │       │   ├── multicalib.hpp
    │   │   │       │   ├── omnidir.hpp
    │   │   │       │   └── randpattern.hpp
    │   │   │       ├── ccalib.hpp
    │   │   │       ├── core/
    │   │   │       │   ├── affine.hpp
    │   │   │       │   ├── base.hpp
    │   │   │       │   ├── bufferpool.hpp
    │   │   │       │   ├── core.hpp
    │   │   │       │   ├── core_c.h
    │   │   │       │   ├── cuda/
    │   │   │       │   │   ├── block.hpp
    │   │   │       │   │   ├── border_interpolate.hpp
    │   │   │       │   │   ├── color.hpp
    │   │   │       │   │   ├── common.hpp
    │   │   │       │   │   ├── datamov_utils.hpp
    │   │   │       │   │   ├── detail/
    │   │   │       │   │   │   ├── color_detail.hpp
    │   │   │       │   │   │   ├── reduce.hpp
    │   │   │       │   │   │   ├── reduce_key_val.hpp
    │   │   │       │   │   │   ├── transform_detail.hpp
    │   │   │       │   │   │   ├── type_traits_detail.hpp
    │   │   │       │   │   │   └── vec_distance_detail.hpp
    │   │   │       │   │   ├── dynamic_smem.hpp
    │   │   │       │   │   ├── emulation.hpp
    │   │   │       │   │   ├── filters.hpp
    │   │   │       │   │   ├── funcattrib.hpp
    │   │   │       │   │   ├── functional.hpp
    │   │   │       │   │   ├── limits.hpp
    │   │   │       │   │   ├── reduce.hpp
    │   │   │       │   │   ├── saturate_cast.hpp
    │   │   │       │   │   ├── scan.hpp
    │   │   │       │   │   ├── simd_functions.hpp
    │   │   │       │   │   ├── transform.hpp
    │   │   │       │   │   ├── type_traits.hpp
    │   │   │       │   │   ├── utility.hpp
    │   │   │       │   │   ├── vec_distance.hpp
    │   │   │       │   │   ├── vec_math.hpp
    │   │   │       │   │   ├── vec_traits.hpp
    │   │   │       │   │   ├── warp.hpp
    │   │   │       │   │   ├── warp_reduce.hpp
    │   │   │       │   │   └── warp_shuffle.hpp
    │   │   │       │   ├── cuda.hpp
    │   │   │       │   ├── cuda.inl.hpp
    │   │   │       │   ├── cuda_stream_accessor.hpp
    │   │   │       │   ├── cuda_types.hpp
    │   │   │       │   ├── cvdef.h
    │   │   │       │   ├── cvstd.hpp
    │   │   │       │   ├── cvstd.inl.hpp
    │   │   │       │   ├── directx.hpp
    │   │   │       │   ├── eigen.hpp
    │   │   │       │   ├── fast_math.hpp
    │   │   │       │   ├── hal/
    │   │   │       │   │   ├── hal.hpp
    │   │   │       │   │   ├── interface.h
    │   │   │       │   │   ├── intrin.hpp
    │   │   │       │   │   ├── intrin_cpp.hpp
    │   │   │       │   │   ├── intrin_neon.hpp
    │   │   │       │   │   └── intrin_sse.hpp
    │   │   │       │   ├── ippasync.hpp
    │   │   │       │   ├── mat.hpp
    │   │   │       │   ├── mat.inl.hpp
    │   │   │       │   ├── matx.hpp
    │   │   │       │   ├── neon_utils.hpp
    │   │   │       │   ├── ocl.hpp
    │   │   │       │   ├── ocl_genbase.hpp
    │   │   │       │   ├── opengl.hpp
    │   │   │       │   ├── operations.hpp
    │   │   │       │   ├── optim.hpp
    │   │   │       │   ├── persistence.hpp
    │   │   │       │   ├── private.cuda.hpp
    │   │   │       │   ├── private.hpp
    │   │   │       │   ├── ptr.inl.hpp
    │   │   │       │   ├── saturate.hpp
    │   │   │       │   ├── sse_utils.hpp
    │   │   │       │   ├── traits.hpp
    │   │   │       │   ├── types.hpp
    │   │   │       │   ├── types_c.h
    │   │   │       │   ├── utility.hpp
    │   │   │       │   ├── va_intel.hpp
    │   │   │       │   ├── version.hpp
    │   │   │       │   └── wimage.hpp
    │   │   │       ├── core.hpp
    │   │   │       ├── cvconfig.h
    │   │   │       ├── datasets/
    │   │   │       │   ├── ar_hmdb.hpp
    │   │   │       │   ├── ar_sports.hpp
    │   │   │       │   ├── dataset.hpp
    │   │   │       │   ├── fr_adience.hpp
    │   │   │       │   ├── fr_lfw.hpp
    │   │   │       │   ├── gr_chalearn.hpp
    │   │   │       │   ├── gr_skig.hpp
    │   │   │       │   ├── hpe_humaneva.hpp
    │   │   │       │   ├── hpe_parse.hpp
    │   │   │       │   ├── ir_affine.hpp
    │   │   │       │   ├── ir_robot.hpp
    │   │   │       │   ├── is_bsds.hpp
    │   │   │       │   ├── is_weizmann.hpp
    │   │   │       │   ├── msm_epfl.hpp
    │   │   │       │   ├── msm_middlebury.hpp
    │   │   │       │   ├── or_imagenet.hpp
    │   │   │       │   ├── or_mnist.hpp
    │   │   │       │   ├── or_pascal.hpp
    │   │   │       │   ├── or_sun.hpp
    │   │   │       │   ├── pd_caltech.hpp
    │   │   │       │   ├── pd_inria.hpp
    │   │   │       │   ├── slam_kitti.hpp
    │   │   │       │   ├── slam_tumindoor.hpp
    │   │   │       │   ├── tr_chars.hpp
    │   │   │       │   ├── tr_icdar.hpp
    │   │   │       │   ├── tr_svt.hpp
    │   │   │       │   ├── track_vot.hpp
    │   │   │       │   └── util.hpp
    │   │   │       ├── dnn/
    │   │   │       │   ├── blob.hpp
    │   │   │       │   ├── blob.inl.hpp
    │   │   │       │   ├── dict.hpp
    │   │   │       │   ├── dnn.hpp
    │   │   │       │   ├── dnn.inl.hpp
    │   │   │       │   └── layer.hpp
    │   │   │       ├── dnn.hpp
    │   │   │       ├── dpm.hpp
    │   │   │       ├── face/
    │   │   │       │   ├── facerec.hpp
    │   │   │       │   └── predict_collector.hpp
    │   │   │       ├── face.hpp
    │   │   │       ├── features2d/
    │   │   │       │   └── features2d.hpp
    │   │   │       ├── features2d.hpp
    │   │   │       ├── flann/
    │   │   │       │   ├── all_indices.h
    │   │   │       │   ├── allocator.h
    │   │   │       │   ├── any.h
    │   │   │       │   ├── autotuned_index.h
    │   │   │       │   ├── composite_index.h
    │   │   │       │   ├── config.h
    │   │   │       │   ├── defines.h
    │   │   │       │   ├── dist.h
    │   │   │       │   ├── dummy.h
    │   │   │       │   ├── dynamic_bitset.h
    │   │   │       │   ├── flann.hpp
    │   │   │       │   ├── flann_base.hpp
    │   │   │       │   ├── general.h
    │   │   │       │   ├── ground_truth.h
    │   │   │       │   ├── hdf5.h
    │   │   │       │   ├── heap.h
    │   │   │       │   ├── hierarchical_clustering_index.h
    │   │   │       │   ├── index_testing.h
    │   │   │       │   ├── kdtree_index.h
    │   │   │       │   ├── kdtree_single_index.h
    │   │   │       │   ├── kmeans_index.h
    │   │   │       │   ├── linear_index.h
    │   │   │       │   ├── logger.h
    │   │   │       │   ├── lsh_index.h
    │   │   │       │   ├── lsh_table.h
    │   │   │       │   ├── matrix.h
    │   │   │       │   ├── miniflann.hpp
    │   │   │       │   ├── nn_index.h
    │   │   │       │   ├── object_factory.h
    │   │   │       │   ├── params.h
    │   │   │       │   ├── random.h
    │   │   │       │   ├── result_set.h
    │   │   │       │   ├── sampling.h
    │   │   │       │   ├── saving.h
    │   │   │       │   ├── simplex_downhill.h
    │   │   │       │   └── timer.h
    │   │   │       ├── flann.hpp
    │   │   │       ├── fuzzy/
    │   │   │       │   ├── fuzzy_F0_math.hpp
    │   │   │       │   ├── fuzzy_image.hpp
    │   │   │       │   └── types.hpp
    │   │   │       ├── fuzzy.hpp
    │   │   │       ├── highgui/
    │   │   │       │   ├── highgui.hpp
    │   │   │       │   └── highgui_c.h
    │   │   │       ├── highgui.hpp
    │   │   │       ├── imgcodecs/
    │   │   │       │   ├── imgcodecs.hpp
    │   │   │       │   ├── imgcodecs_c.h
    │   │   │       │   └── ios.h
    │   │   │       ├── imgcodecs.hpp
    │   │   │       ├── imgproc/
    │   │   │       │   ├── detail/
    │   │   │       │   │   └── distortion_model.hpp
    │   │   │       │   ├── imgproc.hpp
    │   │   │       │   ├── imgproc_c.h
    │   │   │       │   └── types_c.h
    │   │   │       ├── imgproc.hpp
    │   │   │       ├── line_descriptor/
    │   │   │       │   └── descriptor.hpp
    │   │   │       ├── line_descriptor.hpp
    │   │   │       ├── ml/
    │   │   │       │   └── ml.hpp
    │   │   │       ├── ml.hpp
    │   │   │       ├── objdetect/
    │   │   │       │   ├── detection_based_tracker.hpp
    │   │   │       │   ├── objdetect.hpp
    │   │   │       │   └── objdetect_c.h
    │   │   │       ├── objdetect.hpp
    │   │   │       ├── opencv.hpp
    │   │   │       ├── opencv_modules.hpp
    │   │   │       ├── optflow/
    │   │   │       │   └── motempl.hpp
    │   │   │       ├── optflow.hpp
    │   │   │       ├── photo/
    │   │   │       │   ├── cuda.hpp
    │   │   │       │   ├── photo.hpp
    │   │   │       │   └── photo_c.h
    │   │   │       ├── photo.hpp
    │   │   │       ├── plot.hpp
    │   │   │       ├── reg/
    │   │   │       │   ├── map.hpp
    │   │   │       │   ├── mapaffine.hpp
    │   │   │       │   ├── mapper.hpp
    │   │   │       │   ├── mappergradaffine.hpp
    │   │   │       │   ├── mappergradeuclid.hpp
    │   │   │       │   ├── mappergradproj.hpp
    │   │   │       │   ├── mappergradshift.hpp
    │   │   │       │   ├── mappergradsimilar.hpp
    │   │   │       │   ├── mapperpyramid.hpp
    │   │   │       │   ├── mapprojec.hpp
    │   │   │       │   └── mapshift.hpp
    │   │   │       ├── rgbd/
    │   │   │       │   └── linemod.hpp
    │   │   │       ├── rgbd.hpp
    │   │   │       ├── saliency/
    │   │   │       │   ├── saliencyBaseClasses.hpp
    │   │   │       │   └── saliencySpecializedClasses.hpp
    │   │   │       ├── saliency.hpp
    │   │   │       ├── shape/
    │   │   │       │   ├── emdL1.hpp
    │   │   │       │   ├── hist_cost.hpp
    │   │   │       │   ├── shape.hpp
    │   │   │       │   ├── shape_distance.hpp
    │   │   │       │   └── shape_transformer.hpp
    │   │   │       ├── shape.hpp
    │   │   │       ├── stereo/
    │   │   │       │   ├── descriptor.hpp
    │   │   │       │   ├── matching.hpp
    │   │   │       │   └── stereo.hpp
    │   │   │       ├── stereo.hpp
    │   │   │       ├── stitching/
    │   │   │       │   ├── detail/
    │   │   │       │   │   ├── autocalib.hpp
    │   │   │       │   │   ├── blenders.hpp
    │   │   │       │   │   ├── camera.hpp
    │   │   │       │   │   ├── exposure_compensate.hpp
    │   │   │       │   │   ├── matchers.hpp
    │   │   │       │   │   ├── motion_estimators.hpp
    │   │   │       │   │   ├── seam_finders.hpp
    │   │   │       │   │   ├── timelapsers.hpp
    │   │   │       │   │   ├── util.hpp
    │   │   │       │   │   ├── util_inl.hpp
    │   │   │       │   │   ├── warpers.hpp
    │   │   │       │   │   └── warpers_inl.hpp
    │   │   │       │   └── warpers.hpp
    │   │   │       ├── stitching.hpp
    │   │   │       ├── structured_light/
    │   │   │       │   ├── graycodepattern.hpp
    │   │   │       │   └── structured_light.hpp
    │   │   │       ├── structured_light.hpp
    │   │   │       ├── superres/
    │   │   │       │   └── optical_flow.hpp
    │   │   │       ├── superres.hpp
    │   │   │       ├── surface_matching/
    │   │   │       │   ├── icp.hpp
    │   │   │       │   ├── pose_3d.hpp
    │   │   │       │   ├── ppf_helpers.hpp
    │   │   │       │   ├── ppf_match_3d.hpp
    │   │   │       │   └── t_hash_int.hpp
    │   │   │       ├── surface_matching.hpp
    │   │   │       ├── text/
    │   │   │       │   ├── erfilter.hpp
    │   │   │       │   └── ocr.hpp
    │   │   │       ├── text.hpp
    │   │   │       ├── tracking/
    │   │   │       │   ├── feature.hpp
    │   │   │       │   ├── kalman_filters.hpp
    │   │   │       │   ├── onlineBoosting.hpp
    │   │   │       │   ├── onlineMIL.hpp
    │   │   │       │   ├── tldDataset.hpp
    │   │   │       │   ├── tracker.hpp
    │   │   │       │   └── tracking.hpp
    │   │   │       ├── tracking.hpp
    │   │   │       ├── video/
    │   │   │       │   ├── background_segm.hpp
    │   │   │       │   ├── tracking.hpp
    │   │   │       │   ├── tracking_c.h
    │   │   │       │   └── video.hpp
    │   │   │       ├── video.hpp
    │   │   │       ├── videoio/
    │   │   │       │   ├── cap_ios.h
    │   │   │       │   ├── videoio.hpp
    │   │   │       │   └── videoio_c.h
    │   │   │       ├── videoio.hpp
    │   │   │       ├── videostab/
    │   │   │       │   ├── deblurring.hpp
    │   │   │       │   ├── fast_marching.hpp
    │   │   │       │   ├── fast_marching_inl.hpp
    │   │   │       │   ├── frame_source.hpp
    │   │   │       │   ├── global_motion.hpp
    │   │   │       │   ├── inpainting.hpp
    │   │   │       │   ├── log.hpp
    │   │   │       │   ├── motion_core.hpp
    │   │   │       │   ├── motion_stabilizing.hpp
    │   │   │       │   ├── optical_flow.hpp
    │   │   │       │   ├── outlier_rejection.hpp
    │   │   │       │   ├── ring_buffer.hpp
    │   │   │       │   ├── stabilizer.hpp
    │   │   │       │   └── wobble_suppression.hpp
    │   │   │       ├── videostab.hpp
    │   │   │       ├── xfeatures2d/
    │   │   │       │   ├── cuda.hpp
    │   │   │       │   └── nonfree.hpp
    │   │   │       ├── xfeatures2d.hpp
    │   │   │       ├── ximgproc/
    │   │   │       │   ├── disparity_filter.hpp
    │   │   │       │   ├── edge_filter.hpp
    │   │   │       │   ├── estimated_covariance.hpp
    │   │   │       │   ├── fast_hough_transform.hpp
    │   │   │       │   ├── lsc.hpp
    │   │   │       │   ├── seeds.hpp
    │   │   │       │   ├── segmentation.hpp
    │   │   │       │   ├── slic.hpp
    │   │   │       │   ├── sparse_match_interpolator.hpp
    │   │   │       │   └── structured_edge_detection.hpp
    │   │   │       ├── ximgproc.hpp
    │   │   │       ├── xobjdetect.hpp
    │   │   │       ├── xphoto/
    │   │   │       │   ├── dct_image_denoising.hpp
    │   │   │       │   ├── inpainting.hpp
    │   │   │       │   └── white_balance.hpp
    │   │   │       └── xphoto.hpp
    │   │   └── lib/
    │   │       ├── vs2010/
    │   │       │   ├── opencv_aruco310.lib
    │   │       │   ├── opencv_bgsegm310.lib
    │   │       │   ├── opencv_bioinspired310.lib
    │   │       │   ├── opencv_calib3d310.lib
    │   │       │   ├── opencv_ccalib310.lib
    │   │       │   ├── opencv_core310.lib
    │   │       │   ├── opencv_datasets310.lib
    │   │       │   ├── opencv_dnn310.lib
    │   │       │   ├── opencv_dpm310.lib
    │   │       │   ├── opencv_face310.lib
    │   │       │   ├── opencv_features2d310.lib
    │   │       │   ├── opencv_flann310.lib
    │   │       │   ├── opencv_fuzzy310.lib
    │   │       │   ├── opencv_highgui310.lib
    │   │       │   ├── opencv_imgcodecs310.lib
    │   │       │   ├── opencv_imgproc310.lib
    │   │       │   ├── opencv_line_descriptor310.lib
    │   │       │   ├── opencv_ml310.lib
    │   │       │   ├── opencv_objdetect310.lib
    │   │       │   ├── opencv_optflow310.lib
    │   │       │   ├── opencv_photo310.lib
    │   │       │   ├── opencv_plot310.lib
    │   │       │   ├── opencv_reg310.lib
    │   │       │   ├── opencv_rgbd310.lib
    │   │       │   ├── opencv_saliency310.lib
    │   │       │   ├── opencv_shape310.lib
    │   │       │   ├── opencv_stereo310.lib
    │   │       │   ├── opencv_stitching310.lib
    │   │       │   ├── opencv_structured_light310.lib
    │   │       │   ├── opencv_superres310.lib
    │   │       │   ├── opencv_surface_matching310.lib
    │   │       │   ├── opencv_text310.lib
    │   │       │   ├── opencv_tracking310.lib
    │   │       │   ├── opencv_video310.lib
    │   │       │   ├── opencv_videoio310.lib
    │   │       │   ├── opencv_videostab310.lib
    │   │       │   ├── opencv_xfeatures2d310.lib
    │   │       │   ├── opencv_ximgproc310.lib
    │   │       │   ├── opencv_xobjdetect310.lib
    │   │       │   └── opencv_xphoto310.lib
    │   │       ├── vs2012/
    │   │       │   ├── opencv_aruco310.lib
    │   │       │   ├── opencv_bgsegm310.lib
    │   │       │   ├── opencv_bioinspired310.lib
    │   │       │   ├── opencv_calib3d310.lib
    │   │       │   ├── opencv_ccalib310.lib
    │   │       │   ├── opencv_core310.lib
    │   │       │   ├── opencv_datasets310.lib
    │   │       │   ├── opencv_dnn310.lib
    │   │       │   ├── opencv_dpm310.lib
    │   │       │   ├── opencv_face310.lib
    │   │       │   ├── opencv_features2d310.lib
    │   │       │   ├── opencv_flann310.lib
    │   │       │   ├── opencv_fuzzy310.lib
    │   │       │   ├── opencv_highgui310.lib
    │   │       │   ├── opencv_imgcodecs310.lib
    │   │       │   ├── opencv_imgproc310.lib
    │   │       │   ├── opencv_line_descriptor310.lib
    │   │       │   ├── opencv_ml310.lib
    │   │       │   ├── opencv_objdetect310.lib
    │   │       │   ├── opencv_optflow310.lib
    │   │       │   ├── opencv_photo310.lib
    │   │       │   ├── opencv_plot310.lib
    │   │       │   ├── opencv_reg310.lib
    │   │       │   ├── opencv_rgbd310.lib
    │   │       │   ├── opencv_saliency310.lib
    │   │       │   ├── opencv_shape310.lib
    │   │       │   ├── opencv_stereo310.lib
    │   │       │   ├── opencv_stitching310.lib
    │   │       │   ├── opencv_structured_light310.lib
    │   │       │   ├── opencv_superres310.lib
    │   │       │   ├── opencv_surface_matching310.lib
    │   │       │   ├── opencv_text310.lib
    │   │       │   ├── opencv_tracking310.lib
    │   │       │   ├── opencv_video310.lib
    │   │       │   ├── opencv_videoio310.lib
    │   │       │   ├── opencv_videostab310.lib
    │   │       │   ├── opencv_xfeatures2d310.lib
    │   │       │   ├── opencv_ximgproc310.lib
    │   │       │   ├── opencv_xobjdetect310.lib
    │   │       │   └── opencv_xphoto310.lib
    │   │       ├── vs2013/
    │   │       │   ├── opencv_aruco310.lib
    │   │       │   ├── opencv_bgsegm310.lib
    │   │       │   ├── opencv_bioinspired310.lib
    │   │       │   ├── opencv_calib3d310.lib
    │   │       │   ├── opencv_ccalib310.lib
    │   │       │   ├── opencv_core310.lib
    │   │       │   ├── opencv_datasets310.lib
    │   │       │   ├── opencv_dnn310.lib
    │   │       │   ├── opencv_dpm310.lib
    │   │       │   ├── opencv_face310.lib
    │   │       │   ├── opencv_features2d310.lib
    │   │       │   ├── opencv_flann310.lib
    │   │       │   ├── opencv_fuzzy310.lib
    │   │       │   ├── opencv_highgui310.lib
    │   │       │   ├── opencv_imgcodecs310.lib
    │   │       │   ├── opencv_imgproc310.lib
    │   │       │   ├── opencv_line_descriptor310.lib
    │   │       │   ├── opencv_ml310.lib
    │   │       │   ├── opencv_objdetect310.lib
    │   │       │   ├── opencv_optflow310.lib
    │   │       │   ├── opencv_photo310.lib
    │   │       │   ├── opencv_plot310.lib
    │   │       │   ├── opencv_reg310.lib
    │   │       │   ├── opencv_rgbd310.lib
    │   │       │   ├── opencv_saliency310.lib
    │   │       │   ├── opencv_shape310.lib
    │   │       │   ├── opencv_stereo310.lib
    │   │       │   ├── opencv_stitching310.lib
    │   │       │   ├── opencv_structured_light310.lib
    │   │       │   ├── opencv_superres310.lib
    │   │       │   ├── opencv_surface_matching310.lib
    │   │       │   ├── opencv_text310.lib
    │   │       │   ├── opencv_tracking310.lib
    │   │       │   ├── opencv_video310.lib
    │   │       │   ├── opencv_videoio310.lib
    │   │       │   ├── opencv_videostab310.lib
    │   │       │   ├── opencv_xfeatures2d310.lib
    │   │       │   ├── opencv_ximgproc310.lib
    │   │       │   ├── opencv_xobjdetect310.lib
    │   │       │   └── opencv_xphoto310.lib
    │   │       └── vs2015/
    │   │           ├── opencv_aruco310.lib
    │   │           ├── opencv_bgsegm310.lib
    │   │           ├── opencv_bioinspired310.lib
    │   │           ├── opencv_calib3d310.lib
    │   │           ├── opencv_ccalib310.lib
    │   │           ├── opencv_core310.lib
    │   │           ├── opencv_datasets310.lib
    │   │           ├── opencv_dnn310.lib
    │   │           ├── opencv_dpm310.lib
    │   │           ├── opencv_face310.lib
    │   │           ├── opencv_features2d310.lib
    │   │           ├── opencv_flann310.lib
    │   │           ├── opencv_fuzzy310.lib
    │   │           ├── opencv_highgui310.lib
    │   │           ├── opencv_imgcodecs310.lib
    │   │           ├── opencv_imgproc310.lib
    │   │           ├── opencv_line_descriptor310.lib
    │   │           ├── opencv_ml310.lib
    │   │           ├── opencv_objdetect310.lib
    │   │           ├── opencv_optflow310.lib
    │   │           ├── opencv_photo310.lib
    │   │           ├── opencv_plot310.lib
    │   │           ├── opencv_reg310.lib
    │   │           ├── opencv_rgbd310.lib
    │   │           ├── opencv_saliency310.lib
    │   │           ├── opencv_shape310.lib
    │   │           ├── opencv_stereo310.lib
    │   │           ├── opencv_stitching310.lib
    │   │           ├── opencv_structured_light310.lib
    │   │           ├── opencv_superres310.lib
    │   │           ├── opencv_surface_matching310.lib
    │   │           ├── opencv_text310.lib
    │   │           ├── opencv_tracking310.lib
    │   │           ├── opencv_video310.lib
    │   │           ├── opencv_videoio310.lib
    │   │           ├── opencv_videostab310.lib
    │   │           ├── opencv_xfeatures2d310.lib
    │   │           ├── opencv_ximgproc310.lib
    │   │           ├── opencv_xobjdetect310.lib
    │   │           └── opencv_xphoto310.lib
    │   ├── packtpub/
    │   │   ├── BGRAVideoFrame.h
    │   │   ├── CameraCalibration.hpp
    │   │   ├── DebugHelpers.hpp
    │   │   ├── GeometryTypes.hpp
    │   │   ├── Marker.hpp
    │   │   ├── MarkerDetector.hpp
    │   │   └── TinyLA.hpp
    │   └── pthread/
    │       ├── include/
    │       │   ├── pthread.h
    │       │   ├── sched.h
    │       │   └── semaphore.h
    │       └── lib/
    │           └── pthreadVC2.lib
    ├── ardrone/
    │   ├── ardrone.cpp
    │   ├── ardrone.h
    │   ├── command.cpp
    │   ├── config.cpp
    │   ├── navdata.cpp
    │   ├── tcp.cpp
    │   ├── udp.cpp
    │   ├── uvlc.h
    │   ├── version.cpp
    │   └── video.cpp
    ├── main.cpp
    └── resource/
        ├── resource.rc
        └── test.exe.manifest

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================

*.ncb
*.suo

*.user
*.sdf

*.ipch

*.opensdf

*.o
*.a

obj

*.iobj
*.ipdb
*.exe

================================================
FILE: build/cleanup.bat
================================================
echo Let's clean them up.

echo Cleaning vs2005\...
del vs2005\*.ncb
del vs2005\*.user
del vs2005\*.suo /a:h
rmdir vs2005\obj /s /q

echo Cleaning vs2008\...
del vs2008\*.ncb
del vs2008\*.user
del vs2008\*.suo /a:h
rmdir vs2008\obj /s /q

echo Cleaning vs2010\...
del vs2010\*.sdf
del vs2010\*.user
del vs2010\*.suo /a:h
rmdir vs2010\ipch /s /q
rmdir vs2010\obj /s /q

echo Cleaning vs2012\...
del vs2012\*.sdf
del vs2012\*.user
del vs2012\*.suo /a:h
rmdir vs2012\ipch /s /q
rmdir vs2012\obj /s /q

echo Cleaning vs2013\...
del vs2013\*.sdf
del vs2013\*.user
del vs2013\*.suo /a:h
rmdir vs2013\ipch /s /q
rmdir vs2013\obj /s /q

echo Cleaning vs2015\...
del vs2015\*.sdf
del vs2015\*.user
del vs2015\*.suo /a:h
rmdir vs2015\.vs /s /q
rmdir vs2015\obj /s /q

echo Finished. Yeah !


================================================
FILE: build/unix/makefile
================================================
#sudo apt-get install build-essential
#sudo apt-get install ffmpeg
#sudo apt-get install libav-tools
#sudo apt-get install libopencv-dev

CXX           = g++
CXXFLAGS      = -O2 -Wall -D__STDC_CONSTANT_MACROS `pkg-config --libs --cflags opencv`
LIBS          = -lm                     \
                -lpthread               \
                -lavutil                \
                -lavformat              \
                -lavcodec               \
                -lswscale
OBJS          = ../../src/ardrone/ardrone.o \
                ../../src/ardrone/command.o \
                ../../src/ardrone/config.o  \
                ../../src/ardrone/udp.o     \
                ../../src/ardrone/tcp.o     \
                ../../src/ardrone/navdata.o \
                ../../src/ardrone/version.o \
                ../../src/ardrone/video.o   \
                ../../src/main.o
PROGRAM       = test.a

$(PROGRAM):     $(OBJS)
		$(CXX) $(OBJS) -o $(PROGRAM) $(CXXFLAGS) $(LDFLAGS) $(LIBS) 

clean:;         rm -f *.o *~ $(PROGRAM) $(OBJS)

install:        $(PROGRAM)
		install -s $(PROGRAM) $(DEST)


================================================
FILE: build/vs2010/test.sln
================================================

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.ActiveCfg = Release|Win32
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal


================================================
FILE: build/vs2010/test.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}</ProjectGuid>
    <RootNamespace>player</RootNamespace>
    <Keyword>Win32Proj</Keyword>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <WholeProgramOptimization>true</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\vs2010\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\obj\debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\vs2010\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\obj\release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;NDEBUG;_CONSOLE;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <DisableSpecificWarnings>4244;4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2010;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\release\release.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <StackReserveSize>0</StackReserveSize>
      <StackCommitSize>0</StackCommitSize>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;_DEBUG;_CONSOLE;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2010;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\debug\debug.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\ardrone\config.cpp" />
    <ClCompile Include="..\..\src\ardrone\tcp.cpp" />
    <ClCompile Include="..\..\src\ardrone\version.cpp" />
    <ClCompile Include="..\..\src\main.cpp" />
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp" />
    <ClCompile Include="..\..\src\ardrone\command.cpp" />
    <ClCompile Include="..\..\src\ardrone\navdata.cpp" />
    <ClCompile Include="..\..\src\ardrone\udp.cpp" />
    <ClCompile Include="..\..\src\ardrone\video.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>

================================================
FILE: build/vs2010/test.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Source Files\ardrone">
      <UniqueIdentifier>{550b0fc4-8368-48d8-b626-03df6c7d9121}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{06e2d9e1-74fe-4d29-9e94-f3ea80429740}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files\ardrone">
      <UniqueIdentifier>{19ba6cc5-e937-4c72-8c33-8d3581893111}</UniqueIdentifier>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{4cceaaea-23b5-4465-aeec-3b00075be422}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\command.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\navdata.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\udp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\video.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\tcp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\config.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\version.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h">
      <Filter>Header Files\ardrone</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc">
      <Filter>Resource Files</Filter>
    </ResourceCompile>
  </ItemGroup>
</Project>

================================================
FILE: build/vs2012/test.sln
================================================

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2012 for Windows Desktop
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.ActiveCfg = Release|Win32
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal


================================================
FILE: build/vs2012/test.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}</ProjectGuid>
    <RootNamespace>
    </RootNamespace>
    <Keyword>Win32Proj</Keyword>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\vs2012\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\obj\debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\vs2012\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\obj\release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;_DEBUG;_CONSOLE;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2012;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\debug\debug.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;NDEBUG;_CONSOLE;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <DisableSpecificWarnings>4244;4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2012;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\release\release.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <StackReserveSize>0</StackReserveSize>
      <StackCommitSize>0</StackCommitSize>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp" />
    <ClCompile Include="..\..\src\ardrone\command.cpp" />
    <ClCompile Include="..\..\src\ardrone\config.cpp" />
    <ClCompile Include="..\..\src\ardrone\navdata.cpp" />
    <ClCompile Include="..\..\src\ardrone\tcp.cpp" />
    <ClCompile Include="..\..\src\ardrone\udp.cpp" />
    <ClCompile Include="..\..\src\ardrone\version.cpp" />
    <ClCompile Include="..\..\src\ardrone\video.cpp" />
    <ClCompile Include="..\..\src\main.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>

================================================
FILE: build/vs2012/test.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Source Files\ardrone">
      <UniqueIdentifier>{550b0fc4-8368-48d8-b626-03df6c7d9121}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{06e2d9e1-74fe-4d29-9e94-f3ea80429740}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files\ardrone">
      <UniqueIdentifier>{19ba6cc5-e937-4c72-8c33-8d3581893111}</UniqueIdentifier>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{4cceaaea-23b5-4465-aeec-3b00075be422}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\command.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\navdata.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\udp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\video.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\tcp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\config.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\version.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h">
      <Filter>Header Files\ardrone</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc">
      <Filter>Resource Files</Filter>
    </ResourceCompile>
  </ItemGroup>
</Project>

================================================
FILE: build/vs2013/test.sln
================================================

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows Desktop
VisualStudioVersion = 12.0.30110.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.ActiveCfg = Release|Win32
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal


================================================
FILE: build/vs2013/test.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}</ProjectGuid>
    <RootNamespace>
    </RootNamespace>
    <Keyword>Win32Proj</Keyword>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v120</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\vs2013\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\obj\debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\vs2013\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\obj\release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;_DEBUG;_CONSOLE;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2013;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\debug\debug.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;NDEBUG;_CONSOLE;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <DisableSpecificWarnings>4244;4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2013;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\release\release.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <StackReserveSize>0</StackReserveSize>
      <StackCommitSize>0</StackCommitSize>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp" />
    <ClCompile Include="..\..\src\ardrone\command.cpp" />
    <ClCompile Include="..\..\src\ardrone\config.cpp" />
    <ClCompile Include="..\..\src\ardrone\navdata.cpp" />
    <ClCompile Include="..\..\src\ardrone\tcp.cpp" />
    <ClCompile Include="..\..\src\ardrone\udp.cpp" />
    <ClCompile Include="..\..\src\ardrone\version.cpp" />
    <ClCompile Include="..\..\src\ardrone\video.cpp" />
    <ClCompile Include="..\..\src\main.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>

================================================
FILE: build/vs2013/test.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Source Files\ardrone">
      <UniqueIdentifier>{550b0fc4-8368-48d8-b626-03df6c7d9121}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{06e2d9e1-74fe-4d29-9e94-f3ea80429740}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files\ardrone">
      <UniqueIdentifier>{19ba6cc5-e937-4c72-8c33-8d3581893111}</UniqueIdentifier>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{4cceaaea-23b5-4465-aeec-3b00075be422}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\command.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\navdata.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\udp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\video.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\tcp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\config.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\version.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h">
      <Filter>Header Files\ardrone</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc">
      <Filter>Resource Files</Filter>
    </ResourceCompile>
  </ItemGroup>
</Project>

================================================
FILE: build/vs2015/test.sln
================================================

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test", "test.vcxproj", "{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.ActiveCfg = Release|Win32
		{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal


================================================
FILE: build/vs2015/test.vcxproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{81224E4A-C4B9-418E-B87E-224D1ACD2FF1}</ProjectGuid>
    <RootNamespace>
    </RootNamespace>
    <Keyword>Win32Proj</Keyword>
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <PlatformToolset>v140</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <PlatformToolset>v140</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\vs2015\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\obj\debug\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\vs2015\</OutDir>
    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\obj\release\</IntDir>
    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <Optimization>Disabled</Optimization>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;_DEBUG;_CONSOLE;_TIMESPEC_DEFINED;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <MinimalRebuild>true</MinimalRebuild>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2015;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\debug\debug.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <AdditionalIncludeDirectories>..\..\src\3rdparty\opencv\include;..\..\src\3rdparty\ffmpeg\include;..\..\src\3rdparty\pthread\include;..\..\src\3rdparty\glut\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions>WIN32;NOMINMAX;NDEBUG;_CONSOLE;_TIMESPEC_DEFINED;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <PrecompiledHeader>
      </PrecompiledHeader>
      <WarningLevel>Level3</WarningLevel>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <DisableSpecificWarnings>4244;4819;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
    </ClCompile>
    <Link>
      <AdditionalDependencies>wsock32.lib;opencv_aruco310.lib;opencv_bgsegm310.lib;opencv_bioinspired310.lib;opencv_calib3d310.lib;opencv_ccalib310.lib;opencv_core310.lib;opencv_datasets310.lib;opencv_dnn310.lib;opencv_dpm310.lib;opencv_face310.lib;opencv_features2d310.lib;opencv_flann310.lib;opencv_fuzzy310.lib;opencv_highgui310.lib;opencv_imgcodecs310.lib;opencv_imgproc310.lib;opencv_line_descriptor310.lib;opencv_ml310.lib;opencv_objdetect310.lib;opencv_optflow310.lib;opencv_photo310.lib;opencv_plot310.lib;opencv_reg310.lib;opencv_rgbd310.lib;opencv_saliency310.lib;opencv_shape310.lib;opencv_stereo310.lib;opencv_stitching310.lib;opencv_structured_light310.lib;opencv_superres310.lib;opencv_surface_matching310.lib;opencv_text310.lib;opencv_tracking310.lib;opencv_video310.lib;opencv_videoio310.lib;opencv_videostab310.lib;opencv_xfeatures2d310.lib;opencv_ximgproc310.lib;opencv_xobjdetect310.lib;opencv_xphoto310.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;pthreadVC2.lib;glut32.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AdditionalLibraryDirectories>..\..\src\3rdparty\opencv\lib\vs2015;..\..\src\3rdparty\ffmpeg\lib;..\..\src\3rdparty\pthread\lib;..\..\src\3rdparty\glut\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <ProgramDatabaseFile>.\obj\release\release.pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <StackReserveSize>0</StackReserveSize>
      <StackCommitSize>0</StackCommitSize>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <TargetMachine>MachineX86</TargetMachine>
    </Link>
    <Manifest>
      <AdditionalManifestFiles>..\..\src\resource\test.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
    </Manifest>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp" />
    <ClCompile Include="..\..\src\ardrone\command.cpp" />
    <ClCompile Include="..\..\src\ardrone\config.cpp" />
    <ClCompile Include="..\..\src\ardrone\navdata.cpp" />
    <ClCompile Include="..\..\src\ardrone\tcp.cpp" />
    <ClCompile Include="..\..\src\ardrone\udp.cpp" />
    <ClCompile Include="..\..\src\ardrone\version.cpp" />
    <ClCompile Include="..\..\src\ardrone\video.cpp" />
    <ClCompile Include="..\..\src\main.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>
</Project>

================================================
FILE: build/vs2015/test.vcxproj.filters
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Source Files\ardrone">
      <UniqueIdentifier>{550b0fc4-8368-48d8-b626-03df6c7d9121}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files">
      <UniqueIdentifier>{06e2d9e1-74fe-4d29-9e94-f3ea80429740}</UniqueIdentifier>
    </Filter>
    <Filter Include="Header Files\ardrone">
      <UniqueIdentifier>{19ba6cc5-e937-4c72-8c33-8d3581893111}</UniqueIdentifier>
    </Filter>
    <Filter Include="Resource Files">
      <UniqueIdentifier>{4cceaaea-23b5-4465-aeec-3b00075be422}</UniqueIdentifier>
    </Filter>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\ardrone\ardrone.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\command.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\navdata.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\udp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\video.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\tcp.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\config.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\ardrone\version.cpp">
      <Filter>Source Files\ardrone</Filter>
    </ClCompile>
    <ClCompile Include="..\..\src\main.cpp">
      <Filter>Source Files</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\..\src\ardrone\ardrone.h">
      <Filter>Header Files\ardrone</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="..\..\src\resource\resource.rc">
      <Filter>Resource Files</Filter>
    </ResourceCompile>
  </ItemGroup>
</Project>

================================================
FILE: cvdrone-license-BSD.txt
================================================
CV Drone (= OpenCV + AR.Drone)
Copyright (C) 2013-2015 puku0x

Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice, this list of
      conditions and the following disclaimer.
      
    * Redistributions in binary form must reproduce the above copyright notice, this list 
      of conditions and the following disclaimer in the documentation and/or other materials 
      provided with the distribution.
      
    * Neither the name of the "CV Drone" nor the names of its contributors may be used
      to endorse or promote products derived from this software without specific prior
      written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
 DAMAGE.

================================================
FILE: cvdrone-license-LGPL.txt
================================================
		  GNU LESSER GENERAL PUBLIC LICENSE
		       Version 2.1, February 1999

 Copyright (C) 1991, 1999 Free Software Foundation, Inc.
     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

[This is the first released version of the Lesser GPL.  It also counts
 as the successor of the GNU Library Public License, version 2, hence
 the version number 2.1.]

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.

  This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it.  You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.

  When we speak of free software, we are referring to freedom of use,
not price.  Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.

  To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights.  These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.

  For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you.  You must make sure that they, too, receive or can get the source
code.  If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it.  And you must show them these terms so they know their rights.

  We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.

  To protect each distributor, we want to make it very clear that
there is no warranty for the free library.  Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.

  Finally, software patents pose a constant threat to the existence of
any free program.  We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder.  Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.

  Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License.  This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License.  We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.

  When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library.  The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom.  The Lesser General
Public License permits more lax criteria for linking other code with
the library.

  We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License.  It also provides other free software developers Less
of an advantage over competing non-free programs.  These disadvantages
are the reason we use the ordinary General Public License for many
libraries.  However, the Lesser license provides advantages in certain
special circumstances.

  For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard.  To achieve this, non-free programs must be
allowed to use the library.  A more frequent case is that a free
library does the same job as widely used non-free libraries.  In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.

  In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software.  For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.

  Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.

  The precise terms and conditions for copying, distribution and
modification follow.  Pay close attention to the difference between a
"work based on the library" and a "work that uses the library".  The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.

		  GNU LESSER GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".

  A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.

  The "Library", below, refers to any such software library or work
which has been distributed under these terms.  A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language.  (Hereinafter, translation is
included without limitation in the term "modification".)

  "Source code" for a work means the preferred form of the work for
making modifications to it.  For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.

  Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it).  Whether that is true depends on what the Library does
and what the program that uses the Library does.
  
  1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.

  You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.

  2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) The modified work must itself be a software library.

    b) You must cause the files modified to carry prominent notices
    stating that you changed the files and the date of any change.

    c) You must cause the whole of the work to be licensed at no
    charge to all third parties under the terms of this License.

    d) If a facility in the modified Library refers to a function or a
    table of data to be supplied by an application program that uses
    the facility, other than as an argument passed when the facility
    is invoked, then you must make a good faith effort to ensure that,
    in the event an application does not supply such function or
    table, the facility still operates, and performs whatever part of
    its purpose remains meaningful.

    (For example, a function in a library to compute square roots has
    a purpose that is entirely well-defined independent of the
    application.  Therefore, Subsection 2d requires that any
    application-supplied function or table used by this function must
    be optional: if the application does not supply it, the square
    root function must still compute square roots.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.

In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library.  To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License.  (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.)  Do not make any other change in
these notices.

  Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.

  This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.

  4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.

  If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.

  5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library".  Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

  However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library".  The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.

  When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library.  The
threshold for this to be true is not precisely defined by law.

  If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work.  (Executables containing this object code plus portions of the
Library will still fall under Section 6.)

  Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.

  6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.

  You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License.  You must supply a copy of this License.  If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License.  Also, you must do one
of these things:

    a) Accompany the work with the complete corresponding
    machine-readable source code for the Library including whatever
    changes were used in the work (which must be distributed under
    Sections 1 and 2 above); and, if the work is an executable linked
    with the Library, with the complete machine-readable "work that
    uses the Library", as object code and/or source code, so that the
    user can modify the Library and then relink to produce a modified
    executable containing the modified Library.  (It is understood
    that the user who changes the contents of definitions files in the
    Library will not necessarily be able to recompile the application
    to use the modified definitions.)

    b) Use a suitable shared library mechanism for linking with the
    Library.  A suitable mechanism is one that (1) uses at run time a
    copy of the library already present on the user's computer system,
    rather than copying library functions into the executable, and (2)
    will operate properly with a modified version of the library, if
    the user installs one, as long as the modified version is
    interface-compatible with the version that the work was made with.

    c) Accompany the work with a written offer, valid for at
    least three years, to give the same user the materials
    specified in Subsection 6a, above, for a charge no more
    than the cost of performing this distribution.

    d) If distribution of the work is made by offering access to copy
    from a designated place, offer equivalent access to copy the above
    specified materials from the same place.

    e) Verify that the user has already received a copy of these
    materials or that you have already sent this user a copy.

  For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it.  However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.

  It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system.  Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.

  7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:

    a) Accompany the combined library with a copy of the same work
    based on the Library, uncombined with any other library
    facilities.  This must be distributed under the terms of the
    Sections above.

    b) Give prominent notice with the combined library of the fact
    that part of it is a work based on the Library, and explaining
    where to find the accompanying uncombined form of the same work.

  8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License.  Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License.  However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.

  9. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Library or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.

  10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.

  11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all.  For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.

If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded.  In such case, this License incorporates the limitation as if
written in the body of this License.

  13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number.  If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation.  If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.

  14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission.  For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this.  Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.

			    NO WARRANTY

  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.

		     END OF TERMS AND CONDITIONS

           How to Apply These Terms to Your New Libraries

  If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change.  You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).

  To apply these terms, attach the following notices to the library.  It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.

    <one line to give the library's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Also add information on how to contact you by electronic and paper mail.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the
  library `Frob' (a library for tweaking knobs) written by James Random Hacker.

  <signature of Ty Coon>, 1 April 1990
  Ty Coon, President of Vice

That's all there is to it!


================================================
FILE: licenses/FFmpeg-LGPLv2.1.txt
================================================
                  GNU LESSER GENERAL PUBLIC LICENSE
                       Version 2.1, February 1999

 Copyright (C) 1991, 1999 Free Software Foundation, Inc.
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

[This is the first released version of the Lesser GPL.  It also counts
 as the successor of the GNU Library Public License, version 2, hence
 the version number 2.1.]

                            Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.

  This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it.  You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.

  When we speak of free software, we are referring to freedom of use,
not price.  Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.

  To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights.  These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.

  For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you.  You must make sure that they, too, receive or can get the source
code.  If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it.  And you must show them these terms so they know their rights.

  We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.

  To protect each distributor, we want to make it very clear that
there is no warranty for the free library.  Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.

  Finally, software patents pose a constant threat to the existence of
any free program.  We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder.  Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.

  Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License.  This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License.  We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.

  When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library.  The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom.  The Lesser General
Public License permits more lax criteria for linking other code with
the library.

  We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License.  It also provides other free software developers Less
of an advantage over competing non-free programs.  These disadvantages
are the reason we use the ordinary General Public License for many
libraries.  However, the Lesser license provides advantages in certain
special circumstances.

  For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard.  To achieve this, non-free programs must be
allowed to use the library.  A more frequent case is that a free
library does the same job as widely used non-free libraries.  In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.

  In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software.  For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.

  Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.

  The precise terms and conditions for copying, distribution and
modification follow.  Pay close attention to the difference between a
"work based on the library" and a "work that uses the library".  The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.

                  GNU LESSER GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".

  A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.

  The "Library", below, refers to any such software library or work
which has been distributed under these terms.  A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language.  (Hereinafter, translation is
included without limitation in the term "modification".)

  "Source code" for a work means the preferred form of the work for
making modifications to it.  For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.

  Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it).  Whether that is true depends on what the Library does
and what the program that uses the Library does.

  1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.

  You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.

  2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) The modified work must itself be a software library.

    b) You must cause the files modified to carry prominent notices
    stating that you changed the files and the date of any change.

    c) You must cause the whole of the work to be licensed at no
    charge to all third parties under the terms of this License.

    d) If a facility in the modified Library refers to a function or a
    table of data to be supplied by an application program that uses
    the facility, other than as an argument passed when the facility
    is invoked, then you must make a good faith effort to ensure that,
    in the event an application does not supply such function or
    table, the facility still operates, and performs whatever part of
    its purpose remains meaningful.

    (For example, a function in a library to compute square roots has
    a purpose that is entirely well-defined independent of the
    application.  Therefore, Subsection 2d requires that any
    application-supplied function or table used by this function must
    be optional: if the application does not supply it, the square
    root function must still compute square roots.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.

In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library.  To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License.  (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.)  Do not make any other change in
these notices.

  Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.

  This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.

  4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.

  If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.

  5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library".  Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.

  However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library".  The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.

  When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library.  The
threshold for this to be true is not precisely defined by law.

  If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work.  (Executables containing this object code plus portions of the
Library will still fall under Section 6.)

  Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.

  6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.

  You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License.  You must supply a copy of this License.  If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License.  Also, you must do one
of these things:

    a) Accompany the work with the complete corresponding
    machine-readable source code for the Library including whatever
    changes were used in the work (which must be distributed under
    Sections 1 and 2 above); and, if the work is an executable linked
    with the Library, with the complete machine-readable "work that
    uses the Library", as object code and/or source code, so that the
    user can modify the Library and then relink to produce a modified
    executable containing the modified Library.  (It is understood
    that the user who changes the contents of definitions files in the
    Library will not necessarily be able to recompile the application
    to use the modified definitions.)

    b) Use a suitable shared library mechanism for linking with the
    Library.  A suitable mechanism is one that (1) uses at run time a
    copy of the library already present on the user's computer system,
    rather than copying library functions into the executable, and (2)
    will operate properly with a modified version of the library, if
    the user installs one, as long as the modified version is
    interface-compatible with the version that the work was made with.

    c) Accompany the work with a written offer, valid for at
    least three years, to give the same user the materials
    specified in Subsection 6a, above, for a charge no more
    than the cost of performing this distribution.

    d) If distribution of the work is made by offering access to copy
    from a designated place, offer equivalent access to copy the above
    specified materials from the same place.

    e) Verify that the user has already received a copy of these
    materials or that you have already sent this user a copy.

  For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it.  However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.

  It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system.  Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.

  7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:

    a) Accompany the combined library with a copy of the same work
    based on the Library, uncombined with any other library
    facilities.  This must be distributed under the terms of the
    Sections above.

    b) Give prominent notice with the combined library of the fact
    that part of it is a work based on the Library, and explaining
    where to find the accompanying uncombined form of the same work.

  8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License.  Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License.  However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.

  9. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Library or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.

  10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.

  11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all.  For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.

If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded.  In such case, this License incorporates the limitation as if
written in the body of this License.

  13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number.  If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation.  If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.

  14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission.  For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this.  Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.

                            NO WARRANTY

  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.

                     END OF TERMS AND CONDITIONS

           How to Apply These Terms to Your New Libraries

  If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change.  You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).

  To apply these terms, attach the following notices to the library.  It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.

    <one line to give the library's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Also add information on how to contact you by electronic and paper mail.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the
  library `Frob' (a library for tweaking knobs) written by James Random Hacker.

  <signature of Ty Coon>, 1 April 1990
  Ty Coon, President of Vice

That's all there is to it!


================================================
FILE: licenses/ffmpeg.txt
================================================
This is a FFmpeg Win32 Shared build by puku0x.

ffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr 17 2014 00:33:55 with gcc 4.7.2 (GCC)
  configuration: --enable-shared --disable-gpl
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100

ffmpeg is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

ffmpeg is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with ffmpeg; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA


================================================
FILE: licenses/glut.txt
================================================


                GLUT for Win32 README
                ---------------------


VERSION/INFO:

    This is GLUT for Win32 version 3.7.6 as of Nov 8th 2001.
    See the COPYRIGHT section for distribution and copyright notices.
    Send all bug reports and questions for this version of GLUT to 
    Nate Robins [nate@pobox.com].

    For more information about GLUT for Win32, see the web page:
    www.pobox.com/~nate/glut.html or subscribe to the GLUT for Win32 
    mailing list by sending e-mail to majordomo@perp.com with 
    "subscribe glut" in the body of the message.

    For general information about GLUT, see the GLUT web page:
    http://reality.sgi.com/opengl/glut3/glut3.html and be sure to
    check the GLUT FAQ first for any questions that you may have:
    http://reality.sgi.com/opengl/glut3/glut-faq.html


COMPILING/INSTALLATION:

    o  Precompiled versions of the DLL and import library can be
       found on the GLUT for Win32 web page mentioned above.

    o  Microsoft Developer Studio 6 workspace and project files have
       been included in the source code distribution.
       
       To build the glut dll: 
       First, open Microsoft Developer Studio.
       Then, select File -> Open Workspace and find the glut.dsw file
       in the file dialog and double-click on it.  
       Finally, select Build -> Build glut32.dll.
       When the build is finished, it will copy:
       glut32.dll to %WinDir%\System, 
       glut32.lib to $(MSDevDir)\..\..\VC98\lib, and 
       glut.h     to $(MSDevDir)\..\..\VC98\include\GL.
       
       Additional workspace files have been included in the progs, test
       and lib directories to build the progs, tests and libs respectively.


BORLAND NOTES:

    From what I understand, Borland supplies a utility that
    converts Microsoft Visual C++ .libs into Borland compatible
    files.  Therefore, the best method for Borland users is
    probably to get the precompiled versions of the library and
    convert the library.  To create an import library for Borland 
    from the DLLs, use the following command (from a command prompt):
          IMPLIB glut32.lib glut32.dll
    If IMPLIB crashes when called this way, try
          IMPLIB glut32.lib glut32.def
    using the glut32.def file in this distribution.


FORTRAN NOTES:

    Bill Mitchell [william.mitchell@nist.gov] has put considerable
    effort into getting GLUT to work with different compilers for
    Fortran 90.  He indicates that you should copy the f90glut.h
    file to your $(MSDevDir)\..\..\VC98\include\GL directory.  
    Then, just build GLUT as usual.  The Fortran 90 interface, f90gl, 
    can be obtained at http://math.nist.gov/f90gl and contains 
    installation instructions and usage examples.


MISC NOTES:

    o  Overlay support is not implemented, nor are there any plans to 
       implement it in the near future.

    o  To customize the windows icon, you can use the resource name
       GLUT_ICON.  For example, create an icon named "glut.ico", and
       create a file called glut.rc that contains the following:
       GLUT_ICON ICON glut.ico
       then compile the glut.rc file with the following:
       rc /r glut
       and link the resulting glut.res file into your executable
       (just like you would an object file).
       Alternatively, you can simply add the glut.rc file to your
       project if you are using Microsoft Developer Studio.


IMPLEMENTATION DEPENDENT DIFFERENCES:

    There are a few differences between the Win32 version of GLUT
    and the X11 version of GLUT.  Those are outlined here.  Note
    that MOST of these differences are allowed by the GLUT
    specification.  Bugs and unsupported features are outlined in
    the UNSUPPORTED/BUGS section.

    o  glutInit:
       The following command line options have no meaning (and are
       ignored) in GLUT for Win32:
       -display, -indirect, -direct, -sync.

    o  glutInitWindowPosition, glutPositionWindow:
       Win32 has two different coordinate systems for windows.
       One is in terms of client space and the other is the whole
       window space (including the decorations).  If you
       glutPositionWindow(0, 0), GLUT for Win32 will place the
       window CLIENT area at 0, 0.  This will cause the window
       decorations (title bar and left edge) to be OFF-SCREEN, but
       it gives the user the most flexibility in positioning.
       HOWEVER, if the user specifies glutInitWindowPosition(0, 0),
       the window is placed relative to window space at 0, 0.
       This will cause the window to be opened in the upper left
       corner with all the decorations showing.  This behaviour is
       acceptable under the current GLUT specification.

    o  glutSetIconTitle, glutSetWindowTitle:
       There is no separation between Icon title and Window title
       in Win32.  Therefore, setting an icon title in Win32 has
       no effect.

    o  glutSetCursor:
       As indicated in the GLUT specification, cursors may be
       different on different platforms.  This is the case in GLUT
       for Win32.  For the most part, the cursors will match the
       meaning, but not necessarily the shape.  Notable exceptions
       are the GLUT_CURSOR_INFO & GLUT_CURSOR_SPRAY which use the
       crosshair cursor and the GLUT_CURSOR_CYCLE which uses the
       'no' or 'destroy' cursor in Win32.

    o  glutVisibilityFunc:
       Win32 seems to be unable to determine if a window is fully
       obscured.  Therefore, the visibility of a GLUT window is
       only reflected by its Iconic, Hidden or Shown state.  That
       is, even if a window is fully obscured, in GLUT for Win32,
       it is still "visible".

    o  glutEntryFunc:
       Window Focus is handled differently in Win32 and X.
       Specifically, the "window manager" in Win32 uses a "click to
       focus" policy.  That is, in order for a window to receive
       focus, a mouse button must be clicked in it.  Likewise, in
       order for a window to loose focus, a mouse button must be
       clicked outside the window (or in another window).
       Therefore, the Enter and Leave notification provided by GLUT
       may behave differently in the Win32 and in X11 versions.
       There is a viable workaround for this.  A program called
       "Tweak UI" is provided by Microsoft which can be used to
       change the focus policy in Win32 to "focus follows mouse".
       It is available from the Microsoft Web Pages:
       http://www.microsoft.com/windows/software/PowerToy.htm

    o  glutCopyColormap:
       GLUT for Win32 always copies the colormap.  There is never
       any sharing of colormaps.  This is probably okay, since
       Win32 merges the logical palette and the physical palette
       anyway, so even if there are two windows with totally
       different colors in their colormaps, Win32 will find a
       (hopefully) good match between them.

    o  glutIdleFunc + menus:
       The glut idle function will NOT be called when a menu is
       active.  This causes all animation to stop when a menu is
       active (in general, this is probably okay).  Timer
       functions will still fire, however.  If the timer callback
       draws into the rendering context, the drawing will not show
       up until after the menu has finished, though.


UNSUPPORTED/BUGS:

    o  glutAttachMenu:
       Win32 only likes to work with left and right mouse buttons.
       Especially so with popup menus.  Therefore, when attaching
       the menu to the middle mouse button, the LEFT mouse button
       must be used to select from the menu.

    o  glutSpaceball*, glutButtonBox*, glutTablet*, glutDials*:
       None of the special input devices are supported at this
       time.

    o  When resizing or moving a GLUT for Win32 window, no updating
       is performed.  This causes the window to leave "tracks" on
       the screen when getting bigger or when previously obscured
       parts are being revealed.  I put in a bit of a kludgy
       workaround for those that absolutely can't have the weird
       lines.  The reshape callback is called multiple times for
       reshapes.  Therefore, in the reshape callback, some drawing
       can be done.  It should probably be limited to a color buffer 
       clear.

    o  The video resizing capabilities of GLUT 3.3+ for X11 is
       currently unimplemented (this is probably ok, since it
       really isn't part of the spec until 4.0).  I doubt that
       this will ever be part of GLUT for Win32, since there is no
       hardware to support it.  A hack could simply change the
       resolution of the desktop.


CHANGES/FIXES:

    (Nov 8, '01)
    x  Released 3.7.6

    (Nov 8, '01)
    x  Changed fullscreen mode from TOPMOST back to simply TOP, since 
       (it turns out) many people use windows atop a GLUT window.

    (Nov 8, '01)
    x  Added code to prevent CPU spiking when no idle function is 
       registered.  Otherwise, if an idle function is registered, spike
       CPU so that the idle function gets all the attention it needs and
       if this is a problem on the program side, the user can stick a 
       sleep() in their idle function.  I believe that this strikes the
       best balance betweeen GLUT being fast, and also being "nice" to 
       other processes.  Thanks to James Wright for reporting this bug.

    (Nov 8, '01)
    x  Fixed bug in motion callback handler which wasn't setting the
       current window, so multiple window apps (e.g., any GLUI app)
       wouldn't get the callback correctly.

    (Oct 4, '01)
    x  Fixed bug in glutEnterGameMode() that caused new windows to not 
       be in "fullscreen" mode, so they got window decorations.

    (Oct 4, '01)
    x  Fixed bug in glutEnterGameMode() that caused new windows to not 
       be in "fullscreen" mode, so they got window decorations.

    (Oct 3, '01)
    x  Fixed bug in getVisualInfoFromString(): visuals not reloaded on 
       display mode change.  Reload visuals each time they are queried.
       This fixes a problem with Win32 because the list of availabe Visuals
       (Pixelformats) changes after a change in displaymode. The problem 
       occurs when switching to gamemode and back.  Thanks to Michael 
       Wimmer for pointing this out & providing the fix.

    (Oct 3, '01)
    x  Fixed bug in XGetVisualInfo(): pixelformats enumerated incorrectly.
       Passing 0 as a pixelformat index to DescribePixelFormat gives
       unpredictible results (e.g., this fails on the Voodoo opengl32.dll 
       and always reports 0 as the last available pixelformat index).
       Thanks to Michael Wimmer for pointing this out & providing the fix.

    (Oct 3, '01)
    x  Fixed bug in glXGetConfig(): pixelformats enumerated incorrectly.  The
       test was OpenGL support OR draw to window, but should be AND.  Thanks
       to Michael Wimmer for pointing this out & providing the fix.

    (Sep 28, '01)
    x  Fixed glutChangeToSubMenu()/glutChangeToMenuEntry() bug where if you 
       went back and forth between a submenu and a plain entry, the submenu 
       wouldn't be updated properly.

    (Sep 28, '01)
    x  glutSetIconTitle() is now a nop.

    (Sep 28, '01)
    x  glutFullScreen() now sets the window as TOPMOST, therefore, the 
    window will always be on top (this essentially disables alt-tabbing).

    (Sep 28, '01)
    x  The key repeat ignore flag is now honored correctly.

    (Sep 28, '01)
    x  Key presses are now reported more accurately and fully, in 
       particular, modified up events (i.e., SHIFT-2) are now reported 
       correctly.

    (Sep 28, '01)
    x  Subwindows nested arbitrarily deep get their keyboard callbacks 
       correctly now.

    (Sep 28, '01)
    x  Major rewrite of the window procedure code to clean it up and make
       way for other bug fixes.

    (Sep 23, '01)
    x  Fixed noof example program to use RAND_MAX instead of assumed
       max of 2147483647.0.  (Now it looks _much_ better!)

    (Sep 22, '01)
    x  Fixed sunlight example program.  globe.raw data file was corrupt,
       added a new one.

    (Sep 22, '01)
    x  Fixed zcomposite example program to print message if overlay
       support is not found (instead of crashing).

    (Jan 22, '01)
    x  Fixed malloc(0) bug in Win32 version of XGetVisualInfo.  Thanks 
       to Kekoa Proudfoot for bringing this to my attention.

    (Dec 12, '00)
    x  Added data files for the advanced & advanced97 programs.

    (Dec 12, '00)
    x  Added Developer Studio 6 project and workspace files for pretty 
       much everything (the stuff left out was usually unix specific).

    (Dec 7, '00)
    x  Fixed several compilation problems & corrupt files.  Thanks to 
       Alexander Stohr for bringing these to my attention and providing 
       detailed fixes.

    (Dec 6, '00)
    x  Fixed compiler support for lcc.  Thanks to Gordon for bringing 
       this to my attention and debugging fixes.

    (Nov 8, '00)
    x  Fixed submenu problem (sometimes the menu callback was not 
       called for valid items).  Thanks to Michael Keeley.

    (Oct 16, '00)
    x  Corrected corrupt duck.iv file.  Thanks to Jon Willeke for finding 
       this problem.

    (Sept 27, '00)
    x  Fixed bug in processWorkList that could cause a hang.  Thanks to
       Bill Volz & Daniel Azuma.

    (Sept 26, '00)
    x  Added mui DLL project file (thanks to DMWeldy@ugsolutions.com).

    (Sept  9, '00)
    x  Fixed Delete key bug (crash when no keyboard callback was
       registered, but a special key callback was).  Thanks to
       Kent Bowling (kent_bowling@hotmail.com) for finding this bug.

    (May 18, '00)
    x  Fixed subwindow keyboard callbacks.

    (May 22, '97)
    o  Menus don't work under Windows 95
    x  Fixed!  Added a unique identifier to each menu item, and a 
       search function to grab a menu item given the unique identifier.

    (May 21, '97)
    o  A few minor bug fixes here and there.
    x  Thanks to Bruce Silberman and Chris Vale for their help with
       this.  We now have a DLL!

    (Apr 25, '97)
    o  DLL version of the library is coming (as soon as I figure out
       how to do it -- if you know, let me know).
    x  Thanks to Bruce Silberman and Chris Vale for their help with
       this.  We now have a DLL!

    (Apr 24, '97)
    x  Added returns to KEY_DOWN etc messages so that the F10 key
       doesn't toggle the system menu anymore.

    (Apr 7, '97)
    o  Palette is incorrect for modes other than TrueColor.
    x  Fixed this by forcing a default palette in modes that aren't
       Truecolor in order to 'simulate' it.  The applications
       program shouldn't have to do this IMHO, but I guess we
       can't argue with Microsoft (well, we can, but what good
       will it do?).

    (Apr 2, '97)
    x  Added glut.ide file for Borland users.

    (Apr 2, '97)
    x  Fixed a bug in the WM_QUERYNEWPALETTE message.  Wasn't
       checking for a null colormap, then de-ref'd it.  Oops.

    (Mar 13, '97)
    o  glutTimerFunc: 
       Currently, GLUT for Win32 programs busy waits when there is
       an outstanding timer event (i.e., there is no select()
       call).  I haven't found this to be a problem, but I plan to
       fix it just because I can't bear the thought of a busy wait.
    x  Added a timer event and a wait in the main loop.  This fixes
       the CPU spike.

    (Mar 11, '97)
    x  Fixed subwindow visibility.  The visibility callback of
       subwindows wasn't being called, now it is.

    (Mar 11, '97)
    o  glutGetHDC, glutGetHWND:
       In order to support additional dialog boxes, wgl fonts, and
       a host of other Win32 dependent structures, two functions
       have been added that operate on the current window in GLUT.
       The first (glutGetHDC) returns a handle to the current
       windows device context.  The second (glutGetHWND) returns
       handle to the current window.
    x  Took these out to preserve GLUT portability.

    (Mar 11, '97)
    x  Fixed the glutWarpPointer() coordinates.  Were relative to
       the screen, now relative to window (client area) origin
       (which is what they're supposed to be).

    (Mar 11, '97)
    o  glutCreateMenu, glutIdleFunc:
       Menu's are modal in Win32.  That is, they don't allow any
       messages to be processed while they are up.  Therefore, if
       an idle function exists, it will not be called while
       processing a menu.
    x  Fixed!  I've put in a timer function that fires every
       millisecond while a menu is up.  The timer function handles
       idle and timer events only (which should be the only
       functions that are firing when a menu is up anyway).

    (Mar 7 '97)
    x  Fixed minor bugs tracked down by the example programs.

    (Mar 6, '97)
    x  Merged 3.3 GLUT for X11 into 3.2 GLUT for Win32.  New code
       structure allows for EASY merging!

    o  In Win32, the parent gets the right to set the cursor of
       any of its children.  Therefore, a child windows cursor
       will 'blink' between its cursor and its parent.
    x  Fixed this by checking whether the cursor is in a child
       window or not.

    (Feb 28 '97)
    o  On initial bringup apps are getting 2 display callbacks.
    x  Fixed by the Fev 28 re-write.

    o  Some multiple window (not subwindow) functionality is messed up.
       See the sphere.exe program.
    x  Fixed by the Feb 28 re-write.

    o  GLUT for Win32 supports color index mode ONLY in a paletted
       display mode (i.e., 256 or 16 color mode).
    x  Fixed this in the re-write.  If you can get a color index
       visual (pixel format) you can use color index mode.

    (Feb 28 '97)
    o  Quite a few bugs (and incompatibilities) were being caused
       by the structure that I used in the previous port of GLUT.
       Therefore I decided that it would be best to "get back to
       the roots".  I re-implemented most of glut trying to stick
       with the structure layed out by Mark.  The result is a much
       more stable version that passes ALL (!) (except overlay)
       the tests provided by Mark.  In addition, this new
       structure will allow future enhancements by Mark to be
       integrated much more quickly into the Win32 version.  Also,
       I'm now ordering the bugs in reverse, so that the most
       recently fixed appear at the top of the list.

    (9/8/96)
    o  Changed the glutGetModifiers code to produce an error if not
       called in the core input callbacks.

    (9/11/96)
    o  If the alt key is pressed with more than one other modifier key
       it acts as if it is stuck -- it stays selected until pressed
       and released again.
    x  Fixed. 

    (9/12/96)
    o  When a submenu is attached to a menu, sometimes a GPF occurs.
       Fixed.  Needed to set the submenu before referencing it's members.

    o  Kenny: Also, one little problem, I attached the menu to the 
       right-button, but when the left-button is pressed I detach
       it to give the right-button new meaning; if I pop-up the menu and I
       don't want to select anything, like most users, I click off of the
       menu to make it disappear. When I do this, I get a GLUT error and 
       the program terminates because I am altering the menu attachment 
       from within the button press while the menu is active. 
    x  Fixed.  Needed to finish the menu when the user presses the button,
       not just when a button is released.

    o GLUT for Win32 emulates a middle mouse button by checking if
       both mouse buttons are down.  This causes a lot of problems with 
       the menu and other multiple mouse button things.  
    x  Fixed.  No more middle mouse button emulation.  Perhaps it would
       be a good idea to emulate the middle mouse button (if not present)
       with a key?

    (9/15/96)
    o  Added code to accept a user defined icon.  If no icon is provided,
       a default icon is loaded.

    (9/19/96)
    o  Shane: Command line options seem to be screwed up. (9/13)
    x  Fixed.  The geometry command line was broken, and so was the
       gldebug command line.

    o  Fixed a bug in the default glut reshape.  It was looking for the
       parent of the current window and GPF'ing if there wasn't a parent.
       Put in a check for a parent, and if none is there, use the
       child.

    o  Idle function sucks up all processor cycles. (9/8/96)
    x  I don't know if this is avoidable.  If you have a tight rendering
       loop, it may be that the processor time is going to be sucked up
       no matter what.  You can add a sleep() to the end of your render
       loop if you would like to yeild to other processes and you don't
       care too much about the speed of your rendering loop.  If you have
       Hardware that supports OpenGL (like a 3Dpro card, or GLint card) 
       then this should be less of a problem, since it won't be rendering
       in software. (9/11/96)

    o  If a window is fully obscured by another window, the visibility
       callback is NOT called.  As far as I can tell, this is a limitation
       of the Win32 api, but a workaround is being searched for. (9/8/96)
    x  Limitation of the Win32 API

    o  Fixed the entry functions.  They only work if the keyboard focus
       changes.  Therefore, in most Win32 systems, the mouse must be
       pressed outside of the window to get a GLUT_LEFT message and
       then pressed inside the window for a GLUT_ENTERED message.

    o  Alt modifier key doesn't work with keyboard callback. (9/8/96)
    x  Probably okay, because the glut spec says that these keys can
       be intercepted by the system (which the alt key is...) (9/11/96)

    (11/17/96)
    o  glutRemoveMenuItem() not working properly.
    x  Thanks to Gary (grc@maple.civeng.rutgers.edu) for the fix to
       this one.

    o  Timer functions are messed up.
    x  Thanks to Joseph Galbraith for the fix to this one.

    (12/9/96)
    o  One (minor) difference came up between the X version of glut
       and the nt one which you should know about. It is not a new
       problem, and it concerns co-ords returned to the pointer
       callbacks. (glutMotionFunc, glutMouseFunc)
       Under X, you get co-ords in the range 0 +/- 2^15, under NT
       you get 0..2^16. This is only really a problem when moving
       above or to the left of the window.
       eg dragging one pixel ABOVE the window will give :-
       under x11 :      y = -1
       under nt  :      y = 2^16 -1
    x  Put in fix provided by Shane Clauson.

    (12/17/96)
    o  Idle functions not working properly for multiple windows.
    x  Fixed this by posting an idle message to every window in the 
       window list when idle.

    (12/18/96)
    o  glutSetCursor() was misbehaving (lthomas@cco.caltech.edu).
    x  Win32 requires that the hCursor member of the window class
       be set to NULL when the class is registered or whenever the
       mouse is moved, the original cursor is replaced (go
       figure!).  Now sets the cursor whenever a WM_MOUSEMOVE message
       is received, because the WM_SETCURSOR event resets the cursor
       even when in the decoration area.

    o  Geometry is not being handled quite right.  The numbers don't
       take into account the window decorations.  That is, if I say
       make a window 100x100, then the WHOLE window (not just the
       client area) is 100x100.  Therefore, the client (opengl) area
       is smaller than 100x100. (9/8/96)
    x  Fixed.  Added code to subtract the decoration size on glutGet()
       and add the decoration size on glutReshapeWindow().

    o  Multiple glutPostRedisplay() calls are NOT being combined.
       To get round the "coalesce" problem on glutPostRedisplay,
       the easiest solution is to roll-your-own coalesce by
       keeping a global "dirty" flag in the app (eg replace all
       calls to glutPostRedisplay with image_dirty=TRUE;), and to
       handle image_dirty with a single glutPostRedisplay in the
       idle callback when required.  (erk - but increases
       performance for my particular app (a rendering engine on
       the end of a pipleine with a stream of graphics updates) by
       a couple of orders of magnitude ! ) (9/8/96)
    x  Added code to coalesce redisplays.  Every idle cycle, a
       check is made to see which windows need redisplay, if they
       need it, a redisplay is posted.  The glutPostRedisplay()
       call is just a stub that sets a flag.


THANKS:

    Special thanks to the following people for extensive testing, 
    suggestions, fixes and help:

    Alexander Stohr
    Shane Clauson
    Kenny Hoff
    Richard Readings
    Paul McQuesten
    Philip Winston
    JaeWoo Ahn
    Joseph Galbraith
    Paula Higgins
    Sam Fortin
    Chris Vale
    Bill Mitchell

    and of course, the original author of GLUT:
    Mark Kilgard.

    and many others...


COPYRIGHT:

The OpenGL Utility Toolkit distribution for Win32 (Windows NT &
Windows 95) contains source code modified from the original source
code for GLUT version 3.3 which was developed by Mark J. Kilgard.  The
original source code for GLUT is Copyright 1997 by Mark J. Kilgard.
GLUT for Win32 is Copyright 1997 by Nate Robins and is not in the
public domain, but it is freely distributable without licensing fees.
It is provided without guarantee or warrantee expressed or implied.
It was ported with the permission of Mark J. Kilgard by Nate Robins.

THIS SOURCE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OpenGL (R) is a registered trademark of Silicon Graphics, Inc.


================================================
FILE: licenses/opencv.txt
================================================
By downloading, copying, installing or using the software you agree to this license.
If you do not agree to this license, do not download, install,
copy or use the software.


                          License Agreement
               For Open Source Computer Vision Library
                       (3-clause BSD License)

Copyright (C) 2000-2015, Intel Corporation, all rights reserved.
Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.
Copyright (C) 2009-2015, NVIDIA Corporation, all rights reserved.
Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
Copyright (C) 2015, OpenCV Foundation, all rights reserved.
Copyright (C) 2015, Itseez Inc., all rights reserved.
Third party copyrights are property of their respective owners.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

  * Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

  * Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

  * Neither the names of the copyright holders nor the names of the contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.

This software is provided by the copyright holders and contributors "as is" and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are disclaimed.
In no event shall copyright holders or contributors be liable for any direct,
indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused
and on any theory of liability, whether in contract, strict liability,
or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such damage.


================================================
FILE: licenses/parrot.txt
================================================
IMPORTANT: INSTRUCTION TO USE AND TO APPLY THE TERMS OF THE LICENSE TO ANY NEW PROGRAM

READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING
   

Copyright (C) 2007-2011, PARROT SA, all rights reserved.


You may use, copy, modify the PARROT AR.Drone SDK and APIs or any portion of it, and thus form a work based on Parrot SDK and APIs, and copy and redistribute in source code and binary forms, with or without modification, provided that you comply with following conditions:

	Redistribution in source code, with or without modification, must retain Parrot copyright notice, the following disclaimer and the license to develop and use in a text file named Parrot License.

	Redistribution in binary form must reproduce Parrot copyright notice, the following disclaimer in the product documentation or legal notice.

	The name of Parrot may not be used to endorse or promote products derived from the APIs without specific prior written permission.


DISCLAIMER
The APIs is provided by PARROT and contributors "AS IS" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall PARROT and contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.  


DEVELOPMENT LICENSE OF THE PARROT AR.DRONE SDK and APIs V2.0
(Creation of games for the Parrot AR.DRONE)




Article 1: Purpose 
The purpose of the present Development License is to define the terms and conditions under which the Developer is authorized to use the source codes of the PARROT SDK and APIs to create under its own responsibility a Game for the AR.Drone and to market it for free or against payment.

Article 2: Definitions
The terms defined hereunder, used in singular or plural, shall have the following meaning:

- PARROT SDK and APIs : means the AR.Drone software development kit and AR.Drone APIs and  associated documentation, allowing to pilot the PARROT AR.Drone, from a mobile phone, a console game, a computer or any other electronic device, and which source codes are provided for free to the Developer;
-  Developer  means a physical person, of age, having the capacity to accept the terms of the present License or a person, representing a company and having all powers to that effect to bind the company; 
- PARROT AR.Drone or PARROT AR.Drone or  PARROT Drone means the augmented reality drone developed by PARROT, without pilot, remote-controlled by a mobile phone, a console game, a computer or any other electronic device;
-  Interoperability : means the ability of an application to exchange information with the Parrot AR.Drone or any its accessories;
-  Game for AR.Drone : means a software or a video game, created by the Developer from the PARROT SDK and APIs  or any modified version, and which functionalities shall exclusively be dedicated to the use of the PARROT AR.Drone  for entertaining, game, leisure or training purpose or any other purpose compatible with the terms of the present license;
-  License  means the present license of development and use of the APIs; 
-  User Account means the information relating to the identification of a Developer, such as first name, surname, email address, login, password, company, title;
-  User : means any physical person using the PARROT Drone or a Game for AR.Drone.

ARTICLE 3  Identification
3.1 The downloading of the APIs is subject to the Identification of the Developer by filling in the online registration form and accept the terms of the License by clicking the acceptance box on https://projects.ardrone.org .  
3.2 The Developer commits to provide accurate information and to update the information, if necessary. 

3.3 The User Account is personal and confidential; it cannot be assigned to a third party.

3.4 The Developer commits to inform PARROT immediately of any disclosure, non authorized use by a third party of the login and/or password of its User Account. In such case, PARROT shall be entitled to invalid the login and the password.  


ARTICLE 4   Conditions of Use
Notwithstanding the limitation and restrictions mentioned in article 5, PARROT grants to the Developer, who accepts, a personal, non-assignable, non-exclusive, worldwide, free license of development of the PARROT SDK and APIs authorizing the Developer to: 
	reproduce, without number limitation, the APIs on any device under its responsibility, and necessary to create the Game for AR.Drone;
	translate, adapt, arrange, modify the APIs  in order to create a Game for AR.Drone in the software and hardware environment chosen by the Developer;
	to market, for free or against fees, copies of the Game for AR.Drone created ;
	to grant licenses of the Game for AR.Drone to the Users of the PARROT Drone.


ARTICLE 5  Restrictions to the license
5.1 The License of development and use of the APIs is subject to the acceptance and to the respect by the Developer without any reserves of all restrictions and limitations listed hereafter:  

Consequently, PARROT expressly forbids the Developer:
(i) 	To access or use of the PARROT SDK and APIs from a technology or means others than those provided with the APIs;
(ii) 	To market copies of the APIs, for free or against fees, and to distribute, sub-license, rent, sell, transfer, commercialize, publish or generally put the APIs to a third party disposal; 
(iii) 	To do reverse engineering, decompile or attempt to extract the Source Codes of the PARROT Drone; under special legal conditions, necessary information for interoperability purpose might be requested from PARROT ;
(iv) 	To destroy, or alter any warning and copyrights notices;
(v) 	To use the PARROT SDK and APIs to develop an application other than a Game for AR.Drone. The Game for AR.Drone, shall have for sole purpose to be used by a User for entertaining, game, leisure or training. The creation of applications for the use of the PARROT Drone  for professional use or use such as but not limited to military, and, without limitation, security, watching, spying, defence, cartography, is strictly forbidden. 
(vi) 	To use the PARROT SDK and APIs or to create a Game for AR.Drone breaching the terms of: 
(1)  The License;
(2)  Third party rights; 
(3)  Applicable laws and regulations; 
(4)  Any instruction provided by PARROT. 

5.2 Therefore, and without limitation, the Developer commits when using the APIs or when creating a Game for AR.Drone:
a) not to infringe any applicable laws and regulation which the Developer shall determine whatever the country where he intends to develop and/or market the Game for AR.Drone ; 
b) not to reproduce, represent, put contents which infringe copyrights, patents, trademarks, design, model, know-how, commercial secret and any intellectual property rights belonging to PARROT or to third parties ;
c) not to falsify or remove copyrights, trademarks notices of any other proprietary rights of PARROT figuring in the Application;
d) not to display a Game for AR.Drone which falsely or implied would suggest an endorsement or any approbation from PARROT ;
e) not to collect  or treat, or store, with the Game for AR.Drone, personal data from third, especially User of the Game for AR.Drone without having previously asked for their consent. Shall the Game for AR.Drone store personal data, it should be in compliance with the applicable law 

5.3 PARROT is sole judge of the compliance of the Game for AR.Drone with the terms and conditions of the present License.

5.4 PARROT reserves the right to correct or modify the PARROT SDK and APIs during the License duration. 

ARTICLE 6  Duration of the License

The License of the PARROT SDK and APIs is granted for the duration of the intellectual property rights of the Game for AR.Drone. It enters into force upon acceptance by the Developers by clicking the acceptance box or using a modified release of the PARROT SDK and APIs.


ARTICLE 7  Termination of the License

7.1 PARROT reserves the right to terminate the present License, without notice, in following cases:  

i.	The Developer  has created a Game for AR.Drone in violation of the present License terms, any applicable law and regulation or PARROT has objective reasons to believe that the Game for AR.Drone is infringing the License or any applicable law and regulation ;
ii.	The Developer has created a Game for AR.Drone in violation of PARROTs intellectual property rights  or PARROT has objective reasons to believe that the Game for AR.Drone is infringing its rights ; 
iii.	The Developer  has created a Game for AR.Drone in violation of a third partys intellectual property rights  or PARROT has objective reasons to believe that the Game for AR.Drone is infringing a third partys rights ; 
iv.	The Developer has created a Game for AR.Drone containing bugs, viruses, worms, defects, Trojan horses, or any items of a destructive nature or PARROT has objective reasons to believe that the Game for AR.Drone contains of this item;

7.2 Termination of the License shall be notified by email to any user breaching the terms of the License.

7.3 In case of closing of a User Account or termination of the License, for whatever reason, articles which by their nature shall survive shall continue to be applicable, in particular articles 11.RIGHTS OF PARROT; 12.DISCLAIMER; 13.LIMITATION OF RESPONSIBILITY; 14.INDEMNITY; 17.GENERALS PROVISIONS. 

ARTICLE 8  Specific Development

Upon request of a video game editor, PARROT may perform specific development of the PARROT SDK and APIs, in order to enable the creation of a Game for AR.Drone for commercial purpose by such editor. The development services provide by PARROT shall be subject to a separate agreement between PARROT and the editor. PARROT and the editor shall share the revenues gained from the sale of games created thanks to the specific development for an amount to be determined by agreement between the parties. 


ARTICLE 9  Upgrade of the APIs 
9.1 Due to technological innovations and for quality and/ or security reasons, the Developer acknowledges and agrees that PARROT may at any time modify the APIs, namely by adjunction, removal, improvement of functionalities, or that PARROT may temporarily or definitely suspend the access to the APIs, at its sole discretion and without notice. PARROT warrants  as far as possible and with no result obligation, the ascendant compatibility of the APIs.  

9.2 PARROT shall notify any modification by publication on https://projects.ardrone.org, or per email, or by any other appropriate mean in PARROT judgment. From the notification, the use of the APIs by the Developer to create new Game for AR.Drone shall be deemed as the acceptance by the Developer of the modified License of the PARROT SDK and APIs.


 

ARTICLE 10  License granted to Parrot by the Developper
10.1 The Developer is owner of all copyrights and other intellectual property rights on the Game for AR.Drone that he creates. If the Developer is posting his Game for AR.Drone on https://projects.ardrone.org , he grants PARROT a perpetual, irrevocable, worldwide, free and non-exclusive license to reproduce, represent, adapt, arrange , modify, translate, publish, operate and display the Game for AR.Drone by any means of communication, numerical, analogical, electronic..to the public and namely by any network(internet, intranet), wireless or not, by mobile phone, email, by satellite, par optical fibre, par television and on any media.

10.2 This license shall be granted in order to allow PARROT to display, promote, and distribute the PARROT SDK and APIs and/or the PARROT AR.Drone. 

10.3 This license includes the right for PARROT to make the Game for AR.Drone available  totally or partially  to any Users of the AR.DRONE PARROT or to any person with who PARROT is in relationship, and to use the Game for AR.Drone for information or advertisement purpose.

10.4 The Developer agrees that PARROT for technical or for improvement purpose, may (a) transmit or communicate the Game for AR.Drone on public network others than internet (wireless or not, namely mobile telephony) and various media (graphic, magnetic, optical, numerical, analogical); and (b) make any modification necessary to adapt and make the Game for AR.Drone compliant to technical specifications so to make it interoperable with networks or devices.  

10.5 The Developer warrants PARROT that he has the rights to grant the license. 


ARTICLE 11: Parrot Rights
11.1 Intellectual and industrial property rights. 
PARROT is and remains the owner of all rights and interests on the PARROT SDK and APIs and on the PARROT AR.Drone, including without limitation all rights of intellectual and industrial property (copyrights, database rights, patents, trademark, design and model, semi-conductor topography) and/or any rights on the know-how, schemes, plans, algorythme,  technologies, ideas, concepts.

It is expressly specified that PARROT is owner of patents on the PARROT AR.Drone and that a right to use such patent is granted within the frame of the present License. No other rights on the patents are granted to the Developer who commits no to use the technologies issued from those patents for purpose not in the scope of the present License.  

11.2 Trademarks and logos.
11.2.1 PARROT is owner of the intellectual property rights on its commercial trade name, trademarks, logos, domain names and any others brand features. PARROT grants the Developer a non-exclusive, non assignable, non transferable, non sub-licensable, free license to use PARROT trademarks and logos for the sole purpose of mentioning that he uses the PARROT SDK and APIs.

11.2.2 When using PARROTs trademarks and logos, the Developer undertakes: 
i.	Not to display a trademark or a logo in any manner that implies a relationship or affiliation with, sponsorship, or endorsement by PARROT or that can be reasonably interpreted to suggest editorial content has been authored by, or represents the views or opinions of PARROT;
ii.	Not to use PARROT brand features to disparage PARROT or its products; 
iii.	Not to display a trademark or a logo on its website if it contains or displays adult content or promotes illegal activities, gambling, or the sale of tobacco or alcohol to persons under eighteen (18) years of age;
iv.	Not to display the PARROT trademark and logo as the most prominent element in any part of the Game for AR.Drone created by the Developer or its packaging;
v.	Not to display the PARROT logo as the most prominent logo in the Game for AR.Drone ;
vi.	Not to display PARROT trademark or logo in a manner that is misleading, defamatory, infringing, libelous, disparaging, obscene or otherwise objectionable to PARROT;
vii.	Not to display a PARROT trademark or logo on a site that violates any law or regulation ; 
viii.	Not to remove, distort or alter any element of a PARROT brand feature (including squeezing, stretching, inverting, discoloring, etc.). 

11.3 The Developer undertakes during the term of the License and after its expiration, not to register or attempt to register any trademark, logo, domain name similar to or confusing with PARROT trademark or logo, in any manner (phonetic, intellectual, visual). PARROT reserves the right to sue for counterfeiting and unfair competition, any Developer who would not respect this commitment and use the trademarks and/or domain name PARROT AR.DRONE OU AR.DRONE in breach of the License.
 
11.4 The Developer undertakes to immediately remedy to any breach notified by PARROT per email or any other mean concerning any infringement to PARROT intellectual property rights.   

11.5 The Developer, company or physical person, is owner, as applicable, on the intellectual property rights on his name, commercial name, trademarks, logos and any other brand features. He expressly grants PARROT a non exclusive, worldwide and free license to mention his name, commercial name, trademarks, logos, as applicable, to mention that he uses the PARROT SDK and APIs and/or that he has created a Game for AR.Drone. 


ARTICLE 12: DISCLAIMER
12.1 THE PARROT SDK AND APIs IS PROVIDED AS IS . IN PARTICULAR, PARROT, ITS SUBSIDIARIES, LICENSORS AND THEIR SUPPLIERS, DO NOT REPRESENT OR WARRANT THE DEVELOPER THAT: 
1. ITS USE OF THE APIs WILL MEET ITS REQUIREMENTS; 
2. ITS USE OF THE APIs WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR OR WILL OFFER CONSTANT PERFORMANCE;
3. THAT DEFECTS OR ERRORS WILL BE CORRECTED OR THAT THE APIs WILL BE UPGRADE, PARROT HAVING NO OBLIGATION TO PROVIDE CURATIVE OR EVOLUTIVE SUPPORT;
4. THE APIs IS COMPLIANT TO ANY SPECIFICATIONS;
5.  ANY UPGRADE OF THE PARROT SDK AND APIs WILL BE COMPATIBLE WITH PREVIOUS RELEASE.
 
12.2 PARROT, ITS SUBSIDIARIES, LICENSORS AND THEIR SUPPLIERS, DO NOT REPRESENT OR WARRANT THE DEVELOPER THAT ITS USER ACCOUNT WILL BE AVAILABLE WITHOUT INTERRUPTION. 

12.3 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY THE DEVELOPER FROM PARROT, ITS SUBSIDIARERIES, OR THROUGH THE APIs, SHALL BE CONSTRUED A WARRANTY PROVIDED BY PARROT.

12.4 PARROT, ITS SUBSIDIARIES, ITS LICENSORS DO NOT WARRANT, ANY RESULT, EXPRESS OR IMPLIED, OF ANY NATURE (TECHNICAL, COMMERCIAL, FINANCIAL OR OTHER) FROM THE USE OF THE APPLICATION.

12.5 PARROT DECLARES THAT TO THE BEST OF ITS KNOWLEDGE THE PARROT SDK AND APIs DOES NOT INFRINGE ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.


ARTICLE 13: LIMITATION OF RESPONSABILITY
13.1 THE PROVISION EXCLUSING OR LIMITING PARROTS LIABILITY SHALL ONLY BE APPLICABLE IN COUNTRIES WHERE SUCH PROVISIONS ARE LEGAL. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR CERTAIN TYPES OF LOSS OR DAMAGES. ACCORDINGLY, PARROTS LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW.

13.2 THE DEVELOPER EXPRESSLY ACKNOWLEDGES AND AGREES THAT THE USE HE DOES OF ITS USER ACCOUNT, THE APIs, THE GAME FOR AR.DRONE THAT HE CREATES, ARE AT ITS SOLE RISK AND RESPONSABILITY. IN PARTICULAR, THE DEVELOPER SHALL BE SOLELY RESPONSIBLE FOR ANY DAMAGE TO ITS COMPUTER SYSTEM OR OTHER DEVICE, LOSS OF DATA, OR ANY OTHER DAMAGE OR INJURY THAT RESULTS FROM THE DOWNLOAD OR USE OF THE APIs.

13.3 THE DEVELOPER EXPRESSLY ACKNOWLEDGES AND AGREES THAT HE SHALL BE SOLELY RESPONSIBLE FOR ALL COSTS, EXPENSES  INCURRING FOR THE USE OF ITEMS MENTIONED ABOVE AS WELL AS ANY DEVELOPMENT AND PRODUCTION COSTS ASSOCIATED TO THE GAME OF AR.DRONE THAT HE IS CREATING. 

13.4 PARROT, ITS SUPPLIERS, LICENSORS, AFFILIATES, ARE NOT RESPONSIBLE FOR ANY DIRECTS OR INDIRECTS, MATERIALS OR IMMATERIALS, CONSECUTIVES OR NON CONSECUTIVES DAMAGES, INCLUDING, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS, THAT DEVELOPER OR A THIRD PARTY MAY INCURR FROM:

1- THE USE BY THE DEVELOPER OF ITS USER ACCOUNT, THE PARROT SDK AND APIs, THE GAME FOR AR.DRONE THAT HE CREATES;
2- THE MARKETING OF THE GAME FOR AR.DRONE FOR FREE OR AGAINST FEES;
3- THE MODIFICATION OF THE APIs BY PARROT;
4- THE CLOSING OF THE USER ACCOUNT, THE MODIFICATION OR THE EXPIRATION OR TERMINATION OF THE LICENSE;
5-   ANY NON ACCURATE OR NON UPDATED INFORMATION PROVIDED BY PARROT, 



ARTICLE 14: INDEMNITY
The Developer warrants and hereby agrees to indemnify, defend and hold PARROT harmless from and against any claim or liability arising out of: (a) the use of the APIs in breach of the License and/or any instruction provided by PARROT; (b) the Game for AR.Drone; (c) any use by Users of the Game for AR.Drone; (d) any claim that the Game for AR.Drone breaches laws or infringes third party rights;  consequently, assume all costs and damages to which PARROT could be condemned by a jurisdiction on such a basis. The Developer shall cooperate as fully as reasonably required in the defence of any claim and PARROT reserves the right, at its own expense, to assume the exclusive defence and control of any matter subject to indemnification by the Developer. And if necessary, to seek equitable relief, including but not limited to preliminary injunction and injunction, in addition to all other remedies.

ARTICLE 15: Hyperlinks
15.1. The https://project.ardrone.org ardrone.org website may include hyperlinks to other web sites or content or resources provided by third parties and companies. PARROT has no control or authority over any web sites, resources, third parties. The Developer acknowledges and agrees that PARROT is not responsible for the availability of any such external sites or resources, and does not endorse any advertising, products or other materials on or available from such web sites or resources.

15.2. The Developer acknowledges and agrees that PARROT is not liable for any loss or damage that may be incurred by the Developer as a result of the availability of those external sites or resources, or as a result of any reliance placed by you on the completeness, accuracy or existence of any advertising, products, or other materials on, or available from, such web sites or resources.


ARTICLE 16: Language and interpretation
16.1 The English version of the License shall prevail over any translation, which might only be provided for convenience purpose. Therefore any translation might be provided only for convenience purpose.

16.2 If there is any contradiction between the English language version of the License and a translation of the License, the English language version will take precedence. 

16.3 Titles are provided for convenience purpose only; the content of an article shall have precedence on the title. 

ARTICLE 17: General provisions
17.1 The License constitutes the entire legal agreement between Parrot and the Developer and completely replace and supersede any prior agreements between PARROT and the Developer.
 
17.2 The waiver by PARROT to prevail itself from a provision of the License shall not be construed as a waiver to prevail  itself of any right obligation under the License in the future.  

17.3 If any court of law having jurisdiction rules that any provision of this License is invalid, then that provision will be removed from the License without affecting the rest of the License. The remaining provisions of the License will continue to be valid and enforceable.

17.4 Any notice sent by PARROT to the Developer or exchange between the Parties will be validly delivered per email at the address provided by the Developer in its User Account and at legal@ardrone.org for PARROT. 

ARTICLE 18: Applicable law and jurisdiction
The License is governed by French Law, without regard to its conflict of Laws provisions. Any dispute arising out of its interpretation, execution or termination shall be submitted to the exclusive jurisdiction of the relevant court of Paris, even for urgency proceedings or plurality of defendants. Notwithstanding this, PARROT shall be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction


ARTICLE 19 - Privacy
19.1 All information about our privacy policy are provided on www.parrot.com . This policy explains how PARROT treats any personal data which are disclosed to her and protect your privacy. 

19.2 The Developer agrees that PARROT may use its personal data in compliance with its privacy policy.   


ARTICLE 20  Acceptance of the license 
By clicking the acceptance box, downloading or  using the PARROT SDK and APIs or an adapted or modified release of the PARROT SDK and APIs, the Developer or any user accepts without reserve all terms and conditions of the License concluded between him and PARROT SA  registered under N 394 149 496 and located 174 quai de Jemmapes FRANCE -  which he commits to respect.  



Last update: November 2010 
Document revision V2.0 


================================================
FILE: licenses/parrotdisclaimer.txt
================================================
Copyright (C) 2007-2011, PARROT SA, all rights reserved.

DISCLAIMER
The APIs is provided by PARROT and contributors "AS IS" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall PARROT and contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

================================================
FILE: licenses/pthreads-w32.txt
================================================
	pthreads-win32 - a POSIX threads library for Microsoft Windows


This file is Copyrighted
------------------------

    This file is covered under the following Copyright:

	Copyright (C) 2001 Ross P. Johnson
	All rights reserved.

	Everyone is permitted to copy and distribute verbatim copies
	of this license document, but changing it is not allowed.

Pthreads-win32 is covered by the GNU Lesser General Public License
------------------------------------------------------------------

    Pthreads-win32 is open software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public License
    as published by the Free Software Foundation version 2.1 of the
    License.

    Pthreads-win32 is several binary link libraries, several modules,
    associated interface definition files and scripts used to control
    its compilation and installation.

    Pthreads-win32 is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    A copy of the GNU Lesser General Public License is distributed with
    pthreads-win32 under the filename:

	    COPYING.LIB

    You should have received a copy of the version 2.1 GNU Lesser General
    Public License with pthreads-win32; if not, write to:

	    Free Software Foundation, Inc.
	    59 Temple Place
	    Suite 330
	    Boston, MA	02111-1307
	    USA

    The contact addresses for pthreads-win32 is as follows:

	Web:	http://sources.redhat.com/pthreads-win32
        Email:  Ross Johnson <rpj@ise.canberra.edu.au>, or
                Ross.Johnson@canberra.edu.au



Pthreads-win32 copyrights and exception files
---------------------------------------------

    With the exception of the files listed below, Pthreads-win32
    is covered under the following GNU Lesser General Public License
    Copyrights:

	Pthreads-win32 - POSIX Threads Library for Win32
	Copyright(C) 1998 John E. Bossom
	Copyright(C) 1999,2002 Pthreads-win32 contributors

	The current list of contributors is contained
        in the file CONTRIBUTORS included with the source
	code distribution. The current list of CONTRIBUTORS
	can also be seen at the following WWW location:
        http://sources.redhat.com/pthreads-win32/contributors.html

	Contact Email: rpj@ise.canberra.edu.au

    These files are not covered under one of the Copyrights listed above:

            COPYING
	    COPYING.LIB
            tests/rwlock7.c

    This file, COPYING, is distributed under the Copyright found at the
    top of this file.  It is important to note that you may distribute
    verbatim copies of this file but you may not modify this file.

    The file COPYING.LIB, which contains a copy of the version 2.1
    GNU Lesser General Public License, is itself copyrighted by the
    Free Software Foundation, Inc.  Please note that the Free Software
    Foundation, Inc. does NOT have a copyright over Pthreads-win32,
    only the COPYING.LIB that is supplied with pthreads-win32.

    The file tests/rwlock7.c is derived from code written by
    Dave Butenhof for his book 'Programming With POSIX(R) Threads'.
    The original code was obtained by free download from his website
    http://home.earthlink.net/~anneart/family/Threads/source.html
    and did not contain a copyright or author notice. It is assumed to
    be freely distributable.

    In all cases one may use and distribute these exception files freely.
    And because one may freely distribute the LGPL covered files, the
    entire pthreads-win32 source may be freely used and distributed.



General Copyleft and License info
---------------------------------

    For general information on Copylefts, see:

	http://www.gnu.org/copyleft/

    For information on GNU Lesser General Public Licenses, see:

	http://www.gnu.org/copyleft/lesser.html
	http://www.gnu.org/copyleft/lesser.txt


Why pthreads-win32 did not use the GNU General Public License
-------------------------------------------------------------

    The goal of the pthreads-win32 project has been to
    provide a quality and complete implementation of the POSIX
    threads API for Microsoft Windows within the limits imposed
    by virtue of it being a stand-alone library and not
    linked directly to other POSIX compliant libraries. For
    example, some functions and features, such as those based
    on POSIX signals, are missing.

    Pthreads-win32 is a library, available in several different
    versions depending on supported compilers, and may be used
    as a dynamically linked module or a statically linked set of
    binary modules. It is not an application on it's own.

    It was fully intended that pthreads-win32 be usable with
    commercial software not covered by either the GPL or the LGPL
    licenses. Pthreads-win32 has many contributors to it's
    code base, many of whom have done so because they have
    used the library in commercial or proprietry software
    projects.

    Releasing pthreads-win32 under the LGPL ensures that the
    library can be used widely, while at the same time ensures
    that bug fixes and improvements to the pthreads-win32 code
    itself is returned to benefit all current and future users
    of the library.

    Although pthreads-win32 makes it possible for applications
    that use POSIX threads to be ported to Win32 platforms, the
    broader goal of the project is to encourage the use of open
    standards, and in particular, to make it just a little easier
    for developers writing Win32 applications to consider
    widening the potential market for their products.


================================================
FILE: readme.txt
================================================
-----------------------------------------------------------------
 CV Drone (= OpenCV + AR.Drone)
 Copyright (C) 2016 puku0x
 https://github.com/puku0x/cvdrone
-----------------------------------------------------------------

INTRODUCTION
  CV Drone is free software; you can redistribute it and/or
  modify it under the terms of EITHER:
   (1) The GNU Lesser General Public License as published by the Free
       Software Foundation; either version 2.1 of the License, or (at
       your option) any later version. The text of the GNU Lesser
       General Public License is included with this library in the
       file cvdrone-license-LGPL.txt.
   (2) The BSD-style license that is included with this library in
       the file cvdrone-license-BSD.txt.

  This software is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files
  cvdrone-license-LGPL.txt and cvdrone-license-BSD.txt for more details.

HOW TO INSTALL
  Please unzip "cvdrone-master.zip" into an arbitrary directory.

HOW TO UNINSTALL
  Please delete the cvdrone folder.

BEFORE YOU BUILD
  You should install Visual Studio before you build CV Drone.
  CV Drone supports VC++2010/2012/2013/2015.
  To download VS, please see http://www.microsoft.com/visualstudio/eng/downloads .

HOW TO USE
  1. Open \build\vs20xx\test.sln
  2. Press F7 to build.
  3. Press F5 (or Ctrl+F5) to run.
  4. You can play around with OpenCV. Sample codes are in "src\samples".

FOR AR.DRONE 1.0 USERS
  Please update your AR.Drone's firmware to 1.11.5.

FOR AR.DRONE 2.0 USERS
  Please update your AR.Drone's firmware to 2.4.8.

FOR VS2010 USERS
  You can not build CV Drone by VS2010 after you installed VS2012.
  To build VS2010, 
    1) You should install "Visual Studio 2010 SP1".  [Recommended]
    or,
    2) You should uninstall ".Net Framework 4.5" and re-install "4.0".

LIBRARY DEPENDENCIES
  CV Drone uses following libraries.
  - OpenCV 3.1.0 <3-clause BSD license>
    http://opencv.org/
  - FFmpeg 2.2.3 <LGPL v2.1 license>
    http://www.ffmpeg.org/
  - stdint.h/inttypes.h for Microsoft Visual Studio r26 <BSD license>
    https://code.google.com/p/msinttypes/
  - POSIX Threads for Win32 2.9.1 <LGPL v2.1 license>
    http://www.sourceware.org/pthreads-win32/

  Marker-based AR sample uses following libraries adding to the above.
  - GLUT for Win32 3.7.6
    http://user.xmission.com/~nate/glut.html
  - MarkerDetector
    https://github.com/MasteringOpenCV/code/tree/master/Chapter2_iPhoneAR/Example_MarkerBasedAR/Example_MarkerBasedAR

  License files for each library can be found in the 'licenses' folder.

Thank you.

================================================
FILE: samples/camera.xml
================================================
<?xml version="1.0"?>
<opencv_storage>
<intrinsic type_id="opencv-matrix">
  <rows>3</rows>
  <cols>3</cols>
  <dt>f</dt>
  <data>
    5.81399719e+002 0. 3.17410492e+002 0. 5.78456116e+002
    1.37808365e+002 0. 0. 1.</data></intrinsic>
<distortion type_id="opencv-matrix">
  <rows>1</rows>
  <cols>4</cols>
  <dt>f</dt>
  <data>
    -5.16806960e-001 2.71592855e-001 4.40666080e-003 -1.29973365e-003</data></distortion>
</opencv_storage>


================================================
FILE: samples/old/sample_camera_calibration.cpp
================================================
#include "ardrone/ardrone.h"

// Execute calibration
#define CALIB_MODE  1                   // ON:1 OFF:0

// Parameter for calibration pattern
#define PAT_ROW    (7)                  // Rows of pattern
#define PAT_COL    (10)                 // Columns of pattern
#define PAT_SIZE   (PAT_ROW*PAT_COL)
#define CHESS_SIZE (24.0)               // Size of a pattern [mm]

// --------------------------------------------------------------------------
// cvDrawText(Image, Drowing point, Messages)
// Description  : Draw the specified text.
// Return value : NONE
// --------------------------------------------------------------------------
inline void cvDrawText(IplImage *image, CvPoint point, const char *fmt, ...)
{
    // Font
    static CvFont font = cvFont(1.0);

    // Apply format
    char text[256];
    va_list ap;
    va_start(ap, fmt);
    vsprintf(text, fmt, ap);
    va_end(ap);

    // Draw the text
    cvPutText(image, text, point, &font, CV_RGB(0, 255, 0));
}

// --------------------------------------------------------------------------
// cvAsk(Message)
// Description  : Show a question.
// Return value : NO:0 YES:1
// --------------------------------------------------------------------------
inline int cvAsk(const char *message, ...)
{
    char *arg;
    char str[256];

    // Apply format
    va_start(arg, message);
    vsprintf(str, message, arg);
    va_end(arg);

    // Show message box
    #ifndef _WIN32
    //return (MessageBox(NULL, str, "QUESTION", MB_YESNO|MB_ICONQUESTION|MB_TOPMOST|MB_SETFOREGROUND) == IDYES);
    #else
    char c = 'n';
    printf(str);
    scanf("%c", &c);
    return (c == 'y' || c == 'Y');
    #endif
}

#if CALIB_MODE
// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        printf("Failed to initialize.\n");
        return -1;
    }

    // Images
    std::vector<IplImage*> images;
    printf("Press space key to take a sample picture !\n");

    // Main loop
    while (1) {
        // Key input
        int key = cvWaitKey(1);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        IplImage *image = ardrone.getImage();

        // Convert the camera image to grayscale
        IplImage *gray = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);
        cvCvtColor(image, gray, CV_BGR2GRAY);

        // Detect the chessboard
        int corner_count = 0;
        CvSize size = cvSize(PAT_COL, PAT_ROW);
        CvPoint2D32f corners[PAT_SIZE];
        int found = cvFindChessboardCorners(gray, size, corners, &corner_count, CV_CALIB_CB_ADAPTIVE_THRESH+CV_CALIB_CB_NORMALIZE_IMAGE|CV_CALIB_CB_FAST_CHECK);

        // Chessboard detected
        if (found) {
            // Draw corners
            cvDrawChessboardCorners(image, size, corners, corner_count, found);

            // If you push Space key
            if (key == ' ') {
                // Add to buffer
                images.push_back(gray);
            }
            else {
                // Release the image
                cvReleaseImage(&gray);
            }
        }
        // Failed to detect
        else {
            // Release the image
            cvReleaseImage(&gray);
        }

        // Display the image
        cvDrawText(image, cvPoint(15, 20), "NUM = %d", (int)images.size());
        cvShowImage("camera", image);
    }

    // Destroy the window
    cvDestroyWindow("camera");

    // At least one image was taken
    if (!images.empty()) {
        // Total number of images
        const int num = (int)images.size();

        //// For debug
        //for (int i = 0; i < num; i++) {
        //    char name[256];
        //    sprintf(name, "images[%d/%d]", i+1, num);
        //    cvShowImage(name, images[i]);
        //    cvWaitKey(0);
        //    cvDestroyWindow(name);
        //}

        // Ask save parameters or not
        if (cvAsk("Do you save the camera parameters ? (y/n)\n")) {
            // Detect coners
            int *p_count = (int*)malloc(sizeof(int) * num);
            CvPoint2D32f *corners = (CvPoint2D32f*)cvAlloc(sizeof(CvPoint2D32f) * num * PAT_SIZE);
            for (int i = 0; i < num; i++) {
                // Detect chessboard
                int corner_count = 0;
                CvSize size = cvSize(PAT_COL, PAT_ROW);
                int found = cvFindChessboardCorners(images[i], size, &corners[i * PAT_SIZE], &corner_count);

                // Convert the corners to sub-pixel
                cvFindCornerSubPix(images[i], &corners[i * PAT_SIZE], corner_count, cvSize(3, 3), cvSize(-1, -1), cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS, 20, 0.03));
                p_count[i] = corner_count;
            }

            // Set the 3D position of patterns
            CvPoint3D32f *objects = (CvPoint3D32f*)cvAlloc(sizeof(CvPoint3D32f) * num * PAT_SIZE);
            for (int i = 0; i < num; i++) {
                for (int j = 0; j < PAT_ROW; j++) {
                    for (int k = 0; k < PAT_COL; k++) {
                        objects[i * PAT_SIZE + j * PAT_COL + k].x = j * CHESS_SIZE;
                        objects[i * PAT_SIZE + j * PAT_COL + k].y = k * CHESS_SIZE;
                        objects[i * PAT_SIZE + j * PAT_COL + k].z = 0.0;
                    }
                }
            }

            // Create matrices
            CvMat object_points, image_points, point_counts;
            cvInitMatHeader(&object_points, num * PAT_SIZE, 3, CV_32FC1, objects);
            cvInitMatHeader(&image_points,  num * PAT_SIZE, 1, CV_32FC2, corners);
            cvInitMatHeader(&point_counts,  num,            1, CV_32SC1, p_count);

            // Estimate intrinsic parameters and distortion coefficients
            printf("Calicurating parameters...");
            CvMat *intrinsic   = cvCreateMat(3, 3, CV_32FC1);
            CvMat *distortion  = cvCreateMat(1, 4, CV_32FC1);
            cvCalibrateCamera2(&object_points, &image_points, &point_counts, cvGetSize(images[0]), intrinsic, distortion);
            printf("Finished !\n");

            // Output a file
            printf("Generating a XML file...");
            CvFileStorage *fs = cvOpenFileStorage("camera.xml", 0, CV_STORAGE_WRITE);
            cvWrite(fs, "intrinsic", intrinsic);
            cvWrite(fs, "distortion", distortion);
            cvReleaseFileStorage(&fs);    
            printf("Finished !\n");

            // Release the matrices
            free(p_count);
            cvFree(&corners);
            cvFree(&objects);
            cvReleaseMat(&intrinsic);
            cvReleaseMat(&distortion);
        }

        // Release the images
        for (int i = 0; i < num; i++) cvReleaseImage(&images[i]);
    }

    // See you
    ardrone.close();

    return 0;
}
#else
// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        printf("Failed to initialize.\n");
        return -1;
    }

    // Image of AR.Drone's camera
    IplImage *image = ardrone.getImage();

    // Read intrincis camera parameters
    CvFileStorage *fs = cvOpenFileStorage("camera.xml", 0, CV_STORAGE_READ);
    CvMat *intrinsic = (CvMat*)cvRead(fs, cvGetFileNodeByName(fs, NULL, "intrinsic"));
    CvMat *distortion = (CvMat*)cvRead(fs, cvGetFileNodeByName(fs, NULL, "distortion"));

    // Initialize undistortion maps
    CvMat *mapx = cvCreateMat(image->height, image->width, CV_32FC1);
    CvMat *mapy = cvCreateMat(image->height, image->width, CV_32FC1);
    cvInitUndistortMap(intrinsic, distortion, mapx, mapy);

    // Main loop
    while (1) {
        // Key input
        int key = cvWaitKey(1);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        image = ardrone.getImage();

        // Remap the image
        cvRemap(image, image, mapx, mapy);

        // Display the image
        cvShowImage("camera", image);
    }

    // Release the matrices
    cvReleaseMat(&mapx);
    cvReleaseMat(&mapy);
    cvReleaseFileStorage(&fs);

    // See you
    ardrone.close();

    return 0;
}
#endif

================================================
FILE: samples/old/sample_condens_tracking.cpp
================================================
#include "ardrone/ardrone.h"
#include "opencv2/legacy/legacy.hpp"
#include "opencv2/legacy/compat.hpp"

// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        printf("Failed to initialize.\n");
        return -1;
    }

    // Particle filter
    CvConDensation *con = cvCreateConDensation(4, 0, 3000);

    // Setup
    CvMat *lowerBound = cvCreateMat(4, 1, CV_32FC1);
    CvMat *upperBound = cvCreateMat(4, 1, CV_32FC1);
    cvmSet(lowerBound, 0, 0, 0);
    cvmSet(lowerBound, 1, 0, 0);
    cvmSet(lowerBound, 2, 0, -10);
    cvmSet(lowerBound, 3, 0, -10);
    cvmSet(upperBound, 0, 0, ardrone.getImage()->width);
    cvmSet(upperBound, 1, 0, ardrone.getImage()->height);
    cvmSet(upperBound, 2, 0, 10);
    cvmSet(upperBound, 3, 0, 10);

    // Initialize particle filter
    cvConDensInitSampleSet(con, lowerBound, upperBound);

    // Linear system
    con->DynamMatr[0]  = 1.0; con->DynamMatr[1]  = 0.0; con->DynamMatr[2]  = 1.0; con->DynamMatr[3]  = 0.0; 
    con->DynamMatr[4]  = 0.0; con->DynamMatr[5]  = 1.0; con->DynamMatr[6]  = 0.0; con->DynamMatr[7]  = 1.0; 
    con->DynamMatr[8]  = 0.0; con->DynamMatr[9]  = 0.0; con->DynamMatr[10] = 1.0; con->DynamMatr[11] = 0.0; 
    con->DynamMatr[12] = 0.0; con->DynamMatr[13] = 0.0; con->DynamMatr[14] = 0.0; con->DynamMatr[15] = 1.0; 

    // Noises
    cvRandInit(&(con->RandS[0]), -25, 25, (int)cvGetTickCount());
    cvRandInit(&(con->RandS[1]), -25, 25, (int)cvGetTickCount());
    cvRandInit(&(con->RandS[2]),  -5,  5, (int)cvGetTickCount());
    cvRandInit(&(con->RandS[3]),  -5,  5, (int)cvGetTickCount());

    // Thresholds
    int minH = 0, maxH = 255;
    int minS = 0, maxS = 255;
    int minV = 0, maxV = 255;

    // Create a window
    cvNamedWindow("binalized");
    cvCreateTrackbar("H max", "binalized", &maxH, 255);
    cvCreateTrackbar("H min", "binalized", &minH, 255);
    cvCreateTrackbar("S max", "binalized", &maxS, 255);
    cvCreateTrackbar("S min", "binalized", &minS, 255);
    cvCreateTrackbar("V max", "binalized", &maxV, 255);
    cvCreateTrackbar("V min", "binalized", &minV, 255);
    cvResizeWindow("binalized", 0, 0);

    // Main loop
    while (1) {
        // Key input
        int key = cvWaitKey(1);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        IplImage *image = ardrone.getImage();

        // HSV image
        IplImage *hsv = cvCloneImage(image);
        cvCvtColor(image, hsv, CV_RGB2HSV_FULL);

        // Binalized image
        IplImage *binalized = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);

        // Binalize
        CvScalar lower = cvScalar(minH, minS, minV);
        CvScalar upper = cvScalar(maxH, maxS, maxV);
        cvInRangeS(hsv, lower, upper, binalized);

        // Show result
        cvShowImage("binalized", binalized);

        // De-noising
        cvMorphologyEx(binalized, binalized, NULL, NULL, CV_MOP_CLOSE);
 
        // Detect contours
        CvSeq *contour = NULL, *maxContour = NULL;
        CvMemStorage *contourStorage = cvCreateMemStorage();
        cvFindContours(binalized, contourStorage, &contour, sizeof(CvContour), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);

        // Find largest contour
        double max_area = 0.0;
        while (contour) {
            double area = fabs(cvContourArea(contour));
            if ( area > max_area) {
                maxContour = contour;
                max_area = area;
            }
            contour = contour->h_next;
        }

        // Object detected
        if (maxContour) {
            // Draw a contour
            cvZero(binalized);
            cvDrawContours(binalized, maxContour, cvScalarAll(255), cvScalarAll(255), 0, CV_FILLED);

            // Calculate the moments
            CvMoments moments;
            cvMoments(binalized, &moments, 1);
            int my = (int)(moments.m01/moments.m00);
            int mx = (int)(moments.m10/moments.m00);
            cvCircle(image, cvPoint(mx, my), 10, CV_RGB(255,0,0));

            // Calculate confidences
            for (int i = 0; i < con->SamplesNum; i++) {
                // Sample points
                float x = (con->flSamples[i][0]);
                float y = (con->flSamples[i][1]);

                // Valid sample point
                if (x > 0 && x < image->width && y > 0 && y < image->height) {
                    // Assume as gauss distribution
                    double sigma = 50.0;
                    double dist = hypot(x - mx, y - my);    // Distance to moment
                    con->flConfidence[i] = 1.0 / (sqrt (2.0 * CV_PI) * sigma) * expf (-dist*dist / (2.0 * sigma*sigma));
                }
                else con->flConfidence[i] = 0.0;
                cvCircle(image, cvPointFrom32f(cvPoint2D32f(x, y)), 3, CV_RGB(0,128,con->flConfidence[i] * 50000));
            }
        }

        // Update phase
        cvConDensUpdateByTime(con);

        // Sum of positions and confidences for calcurate weighted mean value
        double sumX = 0, sumY = 0, sumConf = 0;
        for (int i = 0; i < con->SamplesNum; i++) {
            sumX += con->flConfidence[i] * con->flSamples[i][0];
            sumY += con->flConfidence[i] * con->flSamples[i][1];
            sumConf += con->flConfidence[i];
        }

        // Estimated value
        if (sumConf > 0.0) {
            float x = sumX / sumConf;
            float y = sumY / sumConf;
            cvCircle(image, cvPointFrom32f(cvPoint2D32f(x, y)), 10, CV_RGB(0,255,0));
        }

        // Display the image
        cvShowImage("camera", image);

        // Release memories
        cvReleaseImage(&hsv);
        cvReleaseImage(&binalized);
        cvReleaseMemStorage(&contourStorage);
    }

    // Release the particle filter
    cvReleaseMat(&lowerBound);
    cvReleaseMat(&upperBound);
    cvReleaseConDensation(&con);

    // See you
    ardrone.close();

    return 0;
}

================================================
FILE: samples/old/sample_deadreckoning.cpp
================================================
#include "ardrone/ardrone.h"

// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        printf("Failed to initialize.\n");
        return -1;
    }

    // Battery
    printf("Battery = %d%%\n", ardrone.getBatteryPercentage());

    // Map
    IplImage *map = cvCreateImage(cvSize(500, 500), IPL_DEPTH_8U, 3);
    cvZero(map);

    // Position matrix
    cv::Mat P = cv::Mat::zeros(3, 1, CV_64FC1);

    // Main loop
    while (1) {
        // Key input
        int key = cvWaitKey(33);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        IplImage *image = ardrone.getImage();

        // Orientation
        double roll  = ardrone.getRoll();
        double pitch = ardrone.getPitch();
        double yaw   = ardrone.getYaw();

        // Velocity
        double vx, vy, vz;
        double velocity = ardrone.getVelocity(&vx, &vy, &vz);

        // Rotation matrices
        double _RX[] = {        1.0,       0.0,        0.0,
                                0.0, cos(roll), -sin(roll),
                                0.0, sin(roll),  cos(roll)};
        double _RY[] = { cos(pitch),       0.0,  sin(pitch),
                                0.0,       1.0,        0.0,
                        -sin(pitch),       0.0,  cos(pitch)};
        double _RZ[] = {   cos(yaw), -sin(yaw),        0.0,
                           sin(yaw),  cos(yaw),        0.0,
                                0.0,       0.0,        1.0};
        cv::Mat RX(3, 3, CV_64FC1, _RX);
        cv::Mat RY(3, 3, CV_64FC1, _RY);
        cv::Mat RZ(3, 3, CV_64FC1, _RZ);

        // Time
        static int64 last = cv::getTickCount();
        double dt = (cv::getTickCount() - last) / cv::getTickFrequency();
        last = cv::getTickCount();

        // Local movement
        double _M[] = {vx * dt, vy * dt, vz * dt};
        cv::Mat M(3, 1, CV_64FC1, _M);

        // Dead reckoning
        P = P + RZ * RY * RX * M;

        // Position (x, y, z)
        double pos[3] = {P.at<double>(0,0), P.at<double>(1,0), P.at<double>(2,0)};
        printf("x = %3.2f, y = %3.2f, z = %3.2f", pos[0], pos[1], pos[2]);

        // Take off / Landing 
        if (key == ' ') {
            if (ardrone.onGround()) ardrone.takeoff();
            else                    ardrone.landing();
        }

        // Move
        double x = 0.0, y = 0.0, z = 0.0, r = 0.0;
        if (key == 0x260000) x =  1.0;
        if (key == 0x280000) x = -1.0;
        if (key == 0x250000) r =  1.0;
        if (key == 0x270000) r = -1.0;
        if (key == 'q')      z =  1.0;
        if (key == 'a')      z = -1.0;
        ardrone.move3D(x, y, z, r);

        // Change camera
        static int mode = 0;
        if (key == 'c') ardrone.setCamera(++mode%4);

        // Display the image
        cvDrawCircle(map, cvPoint(-pos[1]*30.0 + map->width/2, -pos[0]*30.0 + map->height/2), 2, CV_RGB(255,0,0));
        cvShowImage("map", map);
        cvShowImage("camera", image);
    }

    // See you
    ardrone.close();
    cvReleaseImage(&map);

    return 0;
}

================================================
FILE: samples/old/sample_default.cpp
================================================
#include "ardrone/ardrone.h"

// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        printf("Failed to initialize.\n");
        return -1;
    }

    // Battery
    printf("Battery = %d%%\n", ardrone.getBatteryPercentage());

    // Instructions
    printf("***************************************\n");
    printf("*       CV Drone sample program       *\n");
    printf("*           - How to Play -           *\n");
    printf("***************************************\n");
    printf("*                                     *\n");
    printf("* - Controls -                        *\n");
    printf("*    'Space' -- Takeoff/Landing       *\n");
    printf("*    'Up'    -- Move forward          *\n");
    printf("*    'Down'  -- Move backward         *\n");
    printf("*    'Left'  -- Turn left             *\n");
    printf("*    'Right' -- Turn right            *\n");
    printf("*    'Q'     -- Move upward           *\n");
    printf("*    'A'     -- Move downward         *\n");
    printf("*                                     *\n");
    printf("* - Others -                          *\n");
    printf("*    'C'     -- Change camera         *\n");
    printf("*    'Esc'   -- Exit                  *\n");
    printf("*                                     *\n");
    printf("***************************************\n\n");

    while (1) {
        // Key input
        int key = cvWaitKey(33);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        IplImage *image = ardrone.getImage();

        // Take off / Landing 
        if (key == ' ') {
            if (ardrone.onGround()) ardrone.takeoff();
            else                    ardrone.landing();
        }

        // Move
        double vx = 0.0, vy = 0.0, vz = 0.0, vr = 0.0;
        if (key == 0x260000) vx =  1.0;
        if (key == 0x280000) vx = -1.0;
        if (key == 0x250000) vr =  1.0;
        if (key == 0x270000) vr = -1.0;
        if (key == 'q')      vz =  1.0;
        if (key == 'a')      vz = -1.0;
        ardrone.move3D(vx, vy, vz, vr);

        // Change camera
        static int mode = 0;
        if (key == 'c') ardrone.setCamera(++mode%4);

        // Display the image
        cvShowImage("camera", image);
    }

    // See you
    ardrone.close();

    return 0;
}

================================================
FILE: samples/old/sample_default2.cpp
================================================
#include "ardrone/ardrone.h"

// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        std::cout << "Failed to initialize." << std::endl;
        return -1;
    }

    // Battery
    std::cout << "Battery = " << ardrone.getBatteryPercentage() << "%" << std::endl;

    // Instructions
    std::cout << "***************************************" << std::endl;
    std::cout << "*       CV Drone sample program       *" << std::endl;
    std::cout << "*           - How to Play -           *" << std::endl;
    std::cout << "***************************************" << std::endl;
    std::cout << "*                                     *" << std::endl;
    std::cout << "* - Controls -                        *" << std::endl;
    std::cout << "*    'Space' -- Takeoff/Landing       *" << std::endl;
    std::cout << "*    'Up'    -- Move forward          *" << std::endl;
    std::cout << "*    'Down'  -- Move backward         *" << std::endl;
    std::cout << "*    'Left'  -- Turn left             *" << std::endl;
    std::cout << "*    'Right' -- Turn right            *" << std::endl;
    std::cout << "*    'Q'     -- Move upward           *" << std::endl;
    std::cout << "*    'A'     -- Move downward         *" << std::endl;
    std::cout << "*                                     *" << std::endl;
    std::cout << "* - Others -                          *" << std::endl;
    std::cout << "*    'C'     -- Change camera         *" << std::endl;
    std::cout << "*    'Esc'   -- Exit                  *" << std::endl;
    std::cout << "*                                     *" << std::endl;
    std::cout << "***************************************\n" << std::endl;

    while (1) {
        // Key input
        int key = cv::waitKey(33);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        cv::Mat image = ardrone.getImage();

        // Take off / Landing 
        if (key == ' ') {
            if (ardrone.onGround()) ardrone.takeoff();
            else                    ardrone.landing();
        }

        // Move
        double vx = 0.0, vy = 0.0, vz = 0.0, vr = 0.0;
        if (key == 0x260000) vx =  1.0;
        if (key == 0x280000) vx = -1.0;
        if (key == 0x250000) vr =  1.0;
        if (key == 0x270000) vr = -1.0;
        if (key == 'q')      vz =  1.0;
        if (key == 'a')      vz = -1.0;
        ardrone.move3D(vx, vy, vz, vr);

        // Change camera
        static int mode = 0;
        if (key == 'c') ardrone.setCamera(++mode%4);

        // Display the image
        cv::imshow("camera", image);
    }

    // See you
    ardrone.close();

    return 0;
}

================================================
FILE: samples/old/sample_detection.cpp
================================================
#include "ardrone/ardrone.h"

// --------------------------------------------------------------------------
// main(Number of arguments, Argument values)
// Description  : This is the entry point of the program.
// Return value : SUCCESS:0  ERROR:-1
// --------------------------------------------------------------------------
int main(int argc, char **argv)
{
    // AR.Drone class
    ARDrone ardrone;

    // Initialize
    if (!ardrone.open()) {
        printf("Failed to initialize.\n");
        return -1;
    }

    // Thresholds
    int minH = 0, maxH = 255;
    int minS = 0, maxS = 255;
    int minV = 0, maxV = 255;

    // Create a window
    cvNamedWindow("binalized");
    cvCreateTrackbar("H max", "binalized", &maxH, 255);
    cvCreateTrackbar("H min", "binalized", &minH, 255);
    cvCreateTrackbar("S max", "binalized", &maxS, 255);
    cvCreateTrackbar("S min", "binalized", &minS, 255);
    cvCreateTrackbar("V max", "binalized", &maxV, 255);
    cvCreateTrackbar("V min", "binalized", &minV, 255);
    cvResizeWindow("binalized", 0, 0);

    // Main loop
    while (1) {
        // Key input
        int key = cvWaitKey(33);
        if (key == 0x1b) break;

        // Update
        if (!ardrone.update()) break;

        // Get an image
        IplImage *image = ardrone.getImage();

        // HSV image
        IplImage *hsv = cvCloneImage(image);
        cvCvtColor(image, hsv, CV_RGB2HSV_FULL);

        // Binalized image
        IplImage *binalized = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);

        // Binalize
        CvScalar lower = cvScalar(minH, minS, minV);
        CvScalar upper = cvScalar(maxH, maxS, maxV);
        cvInRangeS(hsv, lower, upper, binalized);

        // Show result
        cvShowImage("binalized", binalized);

        // De-noising
        cvMorphologyEx(binalized, binalized, NULL, NULL, CV_MOP_CLOSE);
 
        // Detect contours
        CvSeq *contour = NULL, *maxContour = NULL;
        CvMemStorage *contourStorage = cvCreateMemStorage();
        cvFindContours(binalized, contourStorage, &contour, sizeof(CvContour), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);

        // Find largest contour
        double max_area = 0.0;
        while (contour) {
            double area = fabs(cvContourArea(contour));
            if (area > max_area) {
                maxContour = contour;
                max_area = area;
            }
            contour = contour->h_next;
        }

        // Object detected
        if (maxContour) {
            // Show result
            CvRect rect = cvBoundingRect(maxContour);
            CvPoint minPoint, maxPoint;
            minPoint.x = rect.x;
            minPoint.y = rect.y;
            maxPoint.x = rect.x + rect.width;
            maxPoint.y = rect.y + rect.height;
            cvRectangle(image, minPoint, maxPoint, CV_RGB(0,255,0));
        }

        // Release memory
        cvReleaseMemStorage(&contourStorage);

        // Display the image
        cvShowImage("camera", image);

        // Release images
        cvReleaseImage(&hsv);
        cvReleaseImage(&binalized);
    }

    // See you
    ardrone.close();

    return 0;
}

================================================
FILE: samples/old/sample_detection2.cpp
================================================
#include "ardrone/ardrone.h"

// ----
Download .txt
gitextract_ueim0nzk/

├── .gitignore
├── build/
│   ├── cleanup.bat
│   ├── unix/
│   │   └── makefile
│   ├── vs2010/
│   │   ├── test.sln
│   │   ├── test.vcxproj
│   │   └── test.vcxproj.filters
│   ├── vs2012/
│   │   ├── test.sln
│   │   ├── test.vcxproj
│   │   └── test.vcxproj.filters
│   ├── vs2013/
│   │   ├── test.sln
│   │   ├── test.vcxproj
│   │   └── test.vcxproj.filters
│   └── vs2015/
│       ├── test.sln
│       ├── test.vcxproj
│       └── test.vcxproj.filters
├── cvdrone-license-BSD.txt
├── cvdrone-license-LGPL.txt
├── licenses/
│   ├── FFmpeg-LGPLv2.1.txt
│   ├── ffmpeg.txt
│   ├── glut.txt
│   ├── opencv.txt
│   ├── parrot.txt
│   ├── parrotdisclaimer.txt
│   └── pthreads-w32.txt
├── readme.txt
├── samples/
│   ├── camera.xml
│   ├── old/
│   │   ├── sample_camera_calibration.cpp
│   │   ├── sample_condens_tracking.cpp
│   │   ├── sample_deadreckoning.cpp
│   │   ├── sample_deadreckoning_kalman.cpp
│   │   ├── sample_default.cpp
│   │   ├── sample_default2.cpp
│   │   ├── sample_detection.cpp
│   │   ├── sample_detection2.cpp
│   │   ├── sample_flight_animation.cpp
│   │   ├── sample_hog.cpp
│   │   ├── sample_hough_circle.cpp
│   │   ├── sample_kalman_tracking.cpp
│   │   ├── sample_led_animation.cpp
│   │   ├── sample_marker_based_ar.cpp
│   │   ├── sample_minimal.cpp
│   │   ├── sample_navdata.cpp
│   │   ├── sample_optical_flow.cpp
│   │   ├── sample_stitching.cpp
│   │   ├── sample_vanishing_point.cpp
│   │   ├── sample_video_record.cpp
│   │   └── sample_video_writer.cpp
│   ├── sample_camera_calibration.cpp
│   ├── sample_deadreckoning.cpp
│   ├── sample_deadreckoning_kalman.cpp
│   ├── sample_default.cpp
│   ├── sample_detection.cpp
│   ├── sample_flight_animation.cpp
│   ├── sample_hog.cpp
│   ├── sample_kalman_tracking.cpp
│   ├── sample_led_animation.cpp
│   ├── sample_marker_based_ar.cpp
│   ├── sample_minimal.cpp
│   ├── sample_navdata.cpp
│   ├── sample_optical_flow.cpp
│   ├── sample_stitching.cpp
│   ├── sample_tracking.cpp
│   ├── sample_video_record.cpp
│   └── sample_video_writer.cpp
└── src/
    ├── 3rdparty/
    │   ├── ffmpeg/
    │   │   ├── include/
    │   │   │   ├── inttypes.h
    │   │   │   ├── libavcodec/
    │   │   │   │   ├── avcodec.h
    │   │   │   │   ├── avfft.h
    │   │   │   │   ├── dxva2.h
    │   │   │   │   ├── old_codec_ids.h
    │   │   │   │   ├── vaapi.h
    │   │   │   │   ├── vda.h
    │   │   │   │   ├── vdpau.h
    │   │   │   │   ├── version.h
    │   │   │   │   └── xvmc.h
    │   │   │   ├── libavdevice/
    │   │   │   │   ├── avdevice.h
    │   │   │   │   └── version.h
    │   │   │   ├── libavfilter/
    │   │   │   │   ├── asrc_abuffer.h
    │   │   │   │   ├── avcodec.h
    │   │   │   │   ├── avfilter.h
    │   │   │   │   ├── avfiltergraph.h
    │   │   │   │   ├── buffersink.h
    │   │   │   │   ├── buffersrc.h
    │   │   │   │   └── version.h
    │   │   │   ├── libavformat/
    │   │   │   │   ├── avformat.h
    │   │   │   │   ├── avio.h
    │   │   │   │   └── version.h
    │   │   │   ├── libavutil/
    │   │   │   │   ├── adler32.h
    │   │   │   │   ├── aes.h
    │   │   │   │   ├── attributes.h
    │   │   │   │   ├── audio_fifo.h
    │   │   │   │   ├── audioconvert.h
    │   │   │   │   ├── avassert.h
    │   │   │   │   ├── avconfig.h
    │   │   │   │   ├── avstring.h
    │   │   │   │   ├── avutil.h
    │   │   │   │   ├── base64.h
    │   │   │   │   ├── blowfish.h
    │   │   │   │   ├── bprint.h
    │   │   │   │   ├── bswap.h
    │   │   │   │   ├── buffer.h
    │   │   │   │   ├── channel_layout.h
    │   │   │   │   ├── common.h
    │   │   │   │   ├── cpu.h
    │   │   │   │   ├── crc.h
    │   │   │   │   ├── dict.h
    │   │   │   │   ├── downmix_info.h
    │   │   │   │   ├── error.h
    │   │   │   │   ├── eval.h
    │   │   │   │   ├── ffversion.h
    │   │   │   │   ├── fifo.h
    │   │   │   │   ├── file.h
    │   │   │   │   ├── frame.h
    │   │   │   │   ├── hmac.h
    │   │   │   │   ├── imgutils.h
    │   │   │   │   ├── intfloat.h
    │   │   │   │   ├── intfloat_readwrite.h
    │   │   │   │   ├── intreadwrite.h
    │   │   │   │   ├── lfg.h
    │   │   │   │   ├── log.h
    │   │   │   │   ├── lzo.h
    │   │   │   │   ├── macros.h
    │   │   │   │   ├── mathematics.h
    │   │   │   │   ├── md5.h
    │   │   │   │   ├── mem.h
    │   │   │   │   ├── murmur3.h
    │   │   │   │   ├── old_pix_fmts.h
    │   │   │   │   ├── opt.h
    │   │   │   │   ├── parseutils.h
    │   │   │   │   ├── pixdesc.h
    │   │   │   │   ├── pixfmt.h
    │   │   │   │   ├── random_seed.h
    │   │   │   │   ├── rational.h
    │   │   │   │   ├── ripemd.h
    │   │   │   │   ├── samplefmt.h
    │   │   │   │   ├── sha.h
    │   │   │   │   ├── sha512.h
    │   │   │   │   ├── stereo3d.h
    │   │   │   │   ├── time.h
    │   │   │   │   ├── timecode.h
    │   │   │   │   ├── timestamp.h
    │   │   │   │   ├── version.h
    │   │   │   │   └── xtea.h
    │   │   │   ├── libswresample/
    │   │   │   │   ├── swresample.h
    │   │   │   │   └── version.h
    │   │   │   ├── libswscale/
    │   │   │   │   ├── swscale.h
    │   │   │   │   └── version.h
    │   │   │   └── stdint.h
    │   │   └── lib/
    │   │       ├── avcodec.lib
    │   │       ├── avdevice.lib
    │   │       ├── avfilter.lib
    │   │       ├── avformat.lib
    │   │       ├── avutil.lib
    │   │       ├── swresample.lib
    │   │       └── swscale.lib
    │   ├── glut/
    │   │   ├── include/
    │   │   │   └── GL/
    │   │   │       └── glut.h
    │   │   └── lib/
    │   │       ├── glut.def
    │   │       └── glut32.lib
    │   ├── opencv/
    │   │   ├── include/
    │   │   │   ├── opencv/
    │   │   │   │   ├── cv.h
    │   │   │   │   ├── cv.hpp
    │   │   │   │   ├── cvaux.h
    │   │   │   │   ├── cvaux.hpp
    │   │   │   │   ├── cvwimage.h
    │   │   │   │   ├── cxcore.h
    │   │   │   │   ├── cxcore.hpp
    │   │   │   │   ├── cxeigen.hpp
    │   │   │   │   ├── cxmisc.h
    │   │   │   │   ├── highgui.h
    │   │   │   │   └── ml.h
    │   │   │   └── opencv2/
    │   │   │       ├── aruco/
    │   │   │       │   ├── charuco.hpp
    │   │   │       │   └── dictionary.hpp
    │   │   │       ├── aruco.hpp
    │   │   │       ├── bgsegm.hpp
    │   │   │       ├── bioinspired/
    │   │   │       │   ├── bioinspired.hpp
    │   │   │       │   ├── retina.hpp
    │   │   │       │   ├── retinafasttonemapping.hpp
    │   │   │       │   └── transientareassegmentationmodule.hpp
    │   │   │       ├── bioinspired.hpp
    │   │   │       ├── calib3d/
    │   │   │       │   ├── calib3d.hpp
    │   │   │       │   └── calib3d_c.h
    │   │   │       ├── calib3d.hpp
    │   │   │       ├── ccalib/
    │   │   │       │   ├── multicalib.hpp
    │   │   │       │   ├── omnidir.hpp
    │   │   │       │   └── randpattern.hpp
    │   │   │       ├── ccalib.hpp
    │   │   │       ├── core/
    │   │   │       │   ├── affine.hpp
    │   │   │       │   ├── base.hpp
    │   │   │       │   ├── bufferpool.hpp
    │   │   │       │   ├── core.hpp
    │   │   │       │   ├── core_c.h
    │   │   │       │   ├── cuda/
    │   │   │       │   │   ├── block.hpp
    │   │   │       │   │   ├── border_interpolate.hpp
    │   │   │       │   │   ├── color.hpp
    │   │   │       │   │   ├── common.hpp
    │   │   │       │   │   ├── datamov_utils.hpp
    │   │   │       │   │   ├── detail/
    │   │   │       │   │   │   ├── color_detail.hpp
    │   │   │       │   │   │   ├── reduce.hpp
    │   │   │       │   │   │   ├── reduce_key_val.hpp
    │   │   │       │   │   │   ├── transform_detail.hpp
    │   │   │       │   │   │   ├── type_traits_detail.hpp
    │   │   │       │   │   │   └── vec_distance_detail.hpp
    │   │   │       │   │   ├── dynamic_smem.hpp
    │   │   │       │   │   ├── emulation.hpp
    │   │   │       │   │   ├── filters.hpp
    │   │   │       │   │   ├── funcattrib.hpp
    │   │   │       │   │   ├── functional.hpp
    │   │   │       │   │   ├── limits.hpp
    │   │   │       │   │   ├── reduce.hpp
    │   │   │       │   │   ├── saturate_cast.hpp
    │   │   │       │   │   ├── scan.hpp
    │   │   │       │   │   ├── simd_functions.hpp
    │   │   │       │   │   ├── transform.hpp
    │   │   │       │   │   ├── type_traits.hpp
    │   │   │       │   │   ├── utility.hpp
    │   │   │       │   │   ├── vec_distance.hpp
    │   │   │       │   │   ├── vec_math.hpp
    │   │   │       │   │   ├── vec_traits.hpp
    │   │   │       │   │   ├── warp.hpp
    │   │   │       │   │   ├── warp_reduce.hpp
    │   │   │       │   │   └── warp_shuffle.hpp
    │   │   │       │   ├── cuda.hpp
    │   │   │       │   ├── cuda.inl.hpp
    │   │   │       │   ├── cuda_stream_accessor.hpp
    │   │   │       │   ├── cuda_types.hpp
    │   │   │       │   ├── cvdef.h
    │   │   │       │   ├── cvstd.hpp
    │   │   │       │   ├── cvstd.inl.hpp
    │   │   │       │   ├── directx.hpp
    │   │   │       │   ├── eigen.hpp
    │   │   │       │   ├── fast_math.hpp
    │   │   │       │   ├── hal/
    │   │   │       │   │   ├── hal.hpp
    │   │   │       │   │   ├── interface.h
    │   │   │       │   │   ├── intrin.hpp
    │   │   │       │   │   ├── intrin_cpp.hpp
    │   │   │       │   │   ├── intrin_neon.hpp
    │   │   │       │   │   └── intrin_sse.hpp
    │   │   │       │   ├── ippasync.hpp
    │   │   │       │   ├── mat.hpp
    │   │   │       │   ├── mat.inl.hpp
    │   │   │       │   ├── matx.hpp
    │   │   │       │   ├── neon_utils.hpp
    │   │   │       │   ├── ocl.hpp
    │   │   │       │   ├── ocl_genbase.hpp
    │   │   │       │   ├── opengl.hpp
    │   │   │       │   ├── operations.hpp
    │   │   │       │   ├── optim.hpp
    │   │   │       │   ├── persistence.hpp
    │   │   │       │   ├── private.cuda.hpp
    │   │   │       │   ├── private.hpp
    │   │   │       │   ├── ptr.inl.hpp
    │   │   │       │   ├── saturate.hpp
    │   │   │       │   ├── sse_utils.hpp
    │   │   │       │   ├── traits.hpp
    │   │   │       │   ├── types.hpp
    │   │   │       │   ├── types_c.h
    │   │   │       │   ├── utility.hpp
    │   │   │       │   ├── va_intel.hpp
    │   │   │       │   ├── version.hpp
    │   │   │       │   └── wimage.hpp
    │   │   │       ├── core.hpp
    │   │   │       ├── cvconfig.h
    │   │   │       ├── datasets/
    │   │   │       │   ├── ar_hmdb.hpp
    │   │   │       │   ├── ar_sports.hpp
    │   │   │       │   ├── dataset.hpp
    │   │   │       │   ├── fr_adience.hpp
    │   │   │       │   ├── fr_lfw.hpp
    │   │   │       │   ├── gr_chalearn.hpp
    │   │   │       │   ├── gr_skig.hpp
    │   │   │       │   ├── hpe_humaneva.hpp
    │   │   │       │   ├── hpe_parse.hpp
    │   │   │       │   ├── ir_affine.hpp
    │   │   │       │   ├── ir_robot.hpp
    │   │   │       │   ├── is_bsds.hpp
    │   │   │       │   ├── is_weizmann.hpp
    │   │   │       │   ├── msm_epfl.hpp
    │   │   │       │   ├── msm_middlebury.hpp
    │   │   │       │   ├── or_imagenet.hpp
    │   │   │       │   ├── or_mnist.hpp
    │   │   │       │   ├── or_pascal.hpp
    │   │   │       │   ├── or_sun.hpp
    │   │   │       │   ├── pd_caltech.hpp
    │   │   │       │   ├── pd_inria.hpp
    │   │   │       │   ├── slam_kitti.hpp
    │   │   │       │   ├── slam_tumindoor.hpp
    │   │   │       │   ├── tr_chars.hpp
    │   │   │       │   ├── tr_icdar.hpp
    │   │   │       │   ├── tr_svt.hpp
    │   │   │       │   ├── track_vot.hpp
    │   │   │       │   └── util.hpp
    │   │   │       ├── dnn/
    │   │   │       │   ├── blob.hpp
    │   │   │       │   ├── blob.inl.hpp
    │   │   │       │   ├── dict.hpp
    │   │   │       │   ├── dnn.hpp
    │   │   │       │   ├── dnn.inl.hpp
    │   │   │       │   └── layer.hpp
    │   │   │       ├── dnn.hpp
    │   │   │       ├── dpm.hpp
    │   │   │       ├── face/
    │   │   │       │   ├── facerec.hpp
    │   │   │       │   └── predict_collector.hpp
    │   │   │       ├── face.hpp
    │   │   │       ├── features2d/
    │   │   │       │   └── features2d.hpp
    │   │   │       ├── features2d.hpp
    │   │   │       ├── flann/
    │   │   │       │   ├── all_indices.h
    │   │   │       │   ├── allocator.h
    │   │   │       │   ├── any.h
    │   │   │       │   ├── autotuned_index.h
    │   │   │       │   ├── composite_index.h
    │   │   │       │   ├── config.h
    │   │   │       │   ├── defines.h
    │   │   │       │   ├── dist.h
    │   │   │       │   ├── dummy.h
    │   │   │       │   ├── dynamic_bitset.h
    │   │   │       │   ├── flann.hpp
    │   │   │       │   ├── flann_base.hpp
    │   │   │       │   ├── general.h
    │   │   │       │   ├── ground_truth.h
    │   │   │       │   ├── hdf5.h
    │   │   │       │   ├── heap.h
    │   │   │       │   ├── hierarchical_clustering_index.h
    │   │   │       │   ├── index_testing.h
    │   │   │       │   ├── kdtree_index.h
    │   │   │       │   ├── kdtree_single_index.h
    │   │   │       │   ├── kmeans_index.h
    │   │   │       │   ├── linear_index.h
    │   │   │       │   ├── logger.h
    │   │   │       │   ├── lsh_index.h
    │   │   │       │   ├── lsh_table.h
    │   │   │       │   ├── matrix.h
    │   │   │       │   ├── miniflann.hpp
    │   │   │       │   ├── nn_index.h
    │   │   │       │   ├── object_factory.h
    │   │   │       │   ├── params.h
    │   │   │       │   ├── random.h
    │   │   │       │   ├── result_set.h
    │   │   │       │   ├── sampling.h
    │   │   │       │   ├── saving.h
    │   │   │       │   ├── simplex_downhill.h
    │   │   │       │   └── timer.h
    │   │   │       ├── flann.hpp
    │   │   │       ├── fuzzy/
    │   │   │       │   ├── fuzzy_F0_math.hpp
    │   │   │       │   ├── fuzzy_image.hpp
    │   │   │       │   └── types.hpp
    │   │   │       ├── fuzzy.hpp
    │   │   │       ├── highgui/
    │   │   │       │   ├── highgui.hpp
    │   │   │       │   └── highgui_c.h
    │   │   │       ├── highgui.hpp
    │   │   │       ├── imgcodecs/
    │   │   │       │   ├── imgcodecs.hpp
    │   │   │       │   ├── imgcodecs_c.h
    │   │   │       │   └── ios.h
    │   │   │       ├── imgcodecs.hpp
    │   │   │       ├── imgproc/
    │   │   │       │   ├── detail/
    │   │   │       │   │   └── distortion_model.hpp
    │   │   │       │   ├── imgproc.hpp
    │   │   │       │   ├── imgproc_c.h
    │   │   │       │   └── types_c.h
    │   │   │       ├── imgproc.hpp
    │   │   │       ├── line_descriptor/
    │   │   │       │   └── descriptor.hpp
    │   │   │       ├── line_descriptor.hpp
    │   │   │       ├── ml/
    │   │   │       │   └── ml.hpp
    │   │   │       ├── ml.hpp
    │   │   │       ├── objdetect/
    │   │   │       │   ├── detection_based_tracker.hpp
    │   │   │       │   ├── objdetect.hpp
    │   │   │       │   └── objdetect_c.h
    │   │   │       ├── objdetect.hpp
    │   │   │       ├── opencv.hpp
    │   │   │       ├── opencv_modules.hpp
    │   │   │       ├── optflow/
    │   │   │       │   └── motempl.hpp
    │   │   │       ├── optflow.hpp
    │   │   │       ├── photo/
    │   │   │       │   ├── cuda.hpp
    │   │   │       │   ├── photo.hpp
    │   │   │       │   └── photo_c.h
    │   │   │       ├── photo.hpp
    │   │   │       ├── plot.hpp
    │   │   │       ├── reg/
    │   │   │       │   ├── map.hpp
    │   │   │       │   ├── mapaffine.hpp
    │   │   │       │   ├── mapper.hpp
    │   │   │       │   ├── mappergradaffine.hpp
    │   │   │       │   ├── mappergradeuclid.hpp
    │   │   │       │   ├── mappergradproj.hpp
    │   │   │       │   ├── mappergradshift.hpp
    │   │   │       │   ├── mappergradsimilar.hpp
    │   │   │       │   ├── mapperpyramid.hpp
    │   │   │       │   ├── mapprojec.hpp
    │   │   │       │   └── mapshift.hpp
    │   │   │       ├── rgbd/
    │   │   │       │   └── linemod.hpp
    │   │   │       ├── rgbd.hpp
    │   │   │       ├── saliency/
    │   │   │       │   ├── saliencyBaseClasses.hpp
    │   │   │       │   └── saliencySpecializedClasses.hpp
    │   │   │       ├── saliency.hpp
    │   │   │       ├── shape/
    │   │   │       │   ├── emdL1.hpp
    │   │   │       │   ├── hist_cost.hpp
    │   │   │       │   ├── shape.hpp
    │   │   │       │   ├── shape_distance.hpp
    │   │   │       │   └── shape_transformer.hpp
    │   │   │       ├── shape.hpp
    │   │   │       ├── stereo/
    │   │   │       │   ├── descriptor.hpp
    │   │   │       │   ├── matching.hpp
    │   │   │       │   └── stereo.hpp
    │   │   │       ├── stereo.hpp
    │   │   │       ├── stitching/
    │   │   │       │   ├── detail/
    │   │   │       │   │   ├── autocalib.hpp
    │   │   │       │   │   ├── blenders.hpp
    │   │   │       │   │   ├── camera.hpp
    │   │   │       │   │   ├── exposure_compensate.hpp
    │   │   │       │   │   ├── matchers.hpp
    │   │   │       │   │   ├── motion_estimators.hpp
    │   │   │       │   │   ├── seam_finders.hpp
    │   │   │       │   │   ├── timelapsers.hpp
    │   │   │       │   │   ├── util.hpp
    │   │   │       │   │   ├── util_inl.hpp
    │   │   │       │   │   ├── warpers.hpp
    │   │   │       │   │   └── warpers_inl.hpp
    │   │   │       │   └── warpers.hpp
    │   │   │       ├── stitching.hpp
    │   │   │       ├── structured_light/
    │   │   │       │   ├── graycodepattern.hpp
    │   │   │       │   └── structured_light.hpp
    │   │   │       ├── structured_light.hpp
    │   │   │       ├── superres/
    │   │   │       │   └── optical_flow.hpp
    │   │   │       ├── superres.hpp
    │   │   │       ├── surface_matching/
    │   │   │       │   ├── icp.hpp
    │   │   │       │   ├── pose_3d.hpp
    │   │   │       │   ├── ppf_helpers.hpp
    │   │   │       │   ├── ppf_match_3d.hpp
    │   │   │       │   └── t_hash_int.hpp
    │   │   │       ├── surface_matching.hpp
    │   │   │       ├── text/
    │   │   │       │   ├── erfilter.hpp
    │   │   │       │   └── ocr.hpp
    │   │   │       ├── text.hpp
    │   │   │       ├── tracking/
    │   │   │       │   ├── feature.hpp
    │   │   │       │   ├── kalman_filters.hpp
    │   │   │       │   ├── onlineBoosting.hpp
    │   │   │       │   ├── onlineMIL.hpp
    │   │   │       │   ├── tldDataset.hpp
    │   │   │       │   ├── tracker.hpp
    │   │   │       │   └── tracking.hpp
    │   │   │       ├── tracking.hpp
    │   │   │       ├── video/
    │   │   │       │   ├── background_segm.hpp
    │   │   │       │   ├── tracking.hpp
    │   │   │       │   ├── tracking_c.h
    │   │   │       │   └── video.hpp
    │   │   │       ├── video.hpp
    │   │   │       ├── videoio/
    │   │   │       │   ├── cap_ios.h
    │   │   │       │   ├── videoio.hpp
    │   │   │       │   └── videoio_c.h
    │   │   │       ├── videoio.hpp
    │   │   │       ├── videostab/
    │   │   │       │   ├── deblurring.hpp
    │   │   │       │   ├── fast_marching.hpp
    │   │   │       │   ├── fast_marching_inl.hpp
    │   │   │       │   ├── frame_source.hpp
    │   │   │       │   ├── global_motion.hpp
    │   │   │       │   ├── inpainting.hpp
    │   │   │       │   ├── log.hpp
    │   │   │       │   ├── motion_core.hpp
    │   │   │       │   ├── motion_stabilizing.hpp
    │   │   │       │   ├── optical_flow.hpp
    │   │   │       │   ├── outlier_rejection.hpp
    │   │   │       │   ├── ring_buffer.hpp
    │   │   │       │   ├── stabilizer.hpp
    │   │   │       │   └── wobble_suppression.hpp
    │   │   │       ├── videostab.hpp
    │   │   │       ├── xfeatures2d/
    │   │   │       │   ├── cuda.hpp
    │   │   │       │   └── nonfree.hpp
    │   │   │       ├── xfeatures2d.hpp
    │   │   │       ├── ximgproc/
    │   │   │       │   ├── disparity_filter.hpp
    │   │   │       │   ├── edge_filter.hpp
    │   │   │       │   ├── estimated_covariance.hpp
    │   │   │       │   ├── fast_hough_transform.hpp
    │   │   │       │   ├── lsc.hpp
    │   │   │       │   ├── seeds.hpp
    │   │   │       │   ├── segmentation.hpp
    │   │   │       │   ├── slic.hpp
    │   │   │       │   ├── sparse_match_interpolator.hpp
    │   │   │       │   └── structured_edge_detection.hpp
    │   │   │       ├── ximgproc.hpp
    │   │   │       ├── xobjdetect.hpp
    │   │   │       ├── xphoto/
    │   │   │       │   ├── dct_image_denoising.hpp
    │   │   │       │   ├── inpainting.hpp
    │   │   │       │   └── white_balance.hpp
    │   │   │       └── xphoto.hpp
    │   │   └── lib/
    │   │       ├── vs2010/
    │   │       │   ├── opencv_aruco310.lib
    │   │       │   ├── opencv_bgsegm310.lib
    │   │       │   ├── opencv_bioinspired310.lib
    │   │       │   ├── opencv_calib3d310.lib
    │   │       │   ├── opencv_ccalib310.lib
    │   │       │   ├── opencv_core310.lib
    │   │       │   ├── opencv_datasets310.lib
    │   │       │   ├── opencv_dnn310.lib
    │   │       │   ├── opencv_dpm310.lib
    │   │       │   ├── opencv_face310.lib
    │   │       │   ├── opencv_features2d310.lib
    │   │       │   ├── opencv_flann310.lib
    │   │       │   ├── opencv_fuzzy310.lib
    │   │       │   ├── opencv_highgui310.lib
    │   │       │   ├── opencv_imgcodecs310.lib
    │   │       │   ├── opencv_imgproc310.lib
    │   │       │   ├── opencv_line_descriptor310.lib
    │   │       │   ├── opencv_ml310.lib
    │   │       │   ├── opencv_objdetect310.lib
    │   │       │   ├── opencv_optflow310.lib
    │   │       │   ├── opencv_photo310.lib
    │   │       │   ├── opencv_plot310.lib
    │   │       │   ├── opencv_reg310.lib
    │   │       │   ├── opencv_rgbd310.lib
    │   │       │   ├── opencv_saliency310.lib
    │   │       │   ├── opencv_shape310.lib
    │   │       │   ├── opencv_stereo310.lib
    │   │       │   ├── opencv_stitching310.lib
    │   │       │   ├── opencv_structured_light310.lib
    │   │       │   ├── opencv_superres310.lib
    │   │       │   ├── opencv_surface_matching310.lib
    │   │       │   ├── opencv_text310.lib
    │   │       │   ├── opencv_tracking310.lib
    │   │       │   ├── opencv_video310.lib
    │   │       │   ├── opencv_videoio310.lib
    │   │       │   ├── opencv_videostab310.lib
    │   │       │   ├── opencv_xfeatures2d310.lib
    │   │       │   ├── opencv_ximgproc310.lib
    │   │       │   ├── opencv_xobjdetect310.lib
    │   │       │   └── opencv_xphoto310.lib
    │   │       ├── vs2012/
    │   │       │   ├── opencv_aruco310.lib
    │   │       │   ├── opencv_bgsegm310.lib
    │   │       │   ├── opencv_bioinspired310.lib
    │   │       │   ├── opencv_calib3d310.lib
    │   │       │   ├── opencv_ccalib310.lib
    │   │       │   ├── opencv_core310.lib
    │   │       │   ├── opencv_datasets310.lib
    │   │       │   ├── opencv_dnn310.lib
    │   │       │   ├── opencv_dpm310.lib
    │   │       │   ├── opencv_face310.lib
    │   │       │   ├── opencv_features2d310.lib
    │   │       │   ├── opencv_flann310.lib
    │   │       │   ├── opencv_fuzzy310.lib
    │   │       │   ├── opencv_highgui310.lib
    │   │       │   ├── opencv_imgcodecs310.lib
    │   │       │   ├── opencv_imgproc310.lib
    │   │       │   ├── opencv_line_descriptor310.lib
    │   │       │   ├── opencv_ml310.lib
    │   │       │   ├── opencv_objdetect310.lib
    │   │       │   ├── opencv_optflow310.lib
    │   │       │   ├── opencv_photo310.lib
    │   │       │   ├── opencv_plot310.lib
    │   │       │   ├── opencv_reg310.lib
    │   │       │   ├── opencv_rgbd310.lib
    │   │       │   ├── opencv_saliency310.lib
    │   │       │   ├── opencv_shape310.lib
    │   │       │   ├── opencv_stereo310.lib
    │   │       │   ├── opencv_stitching310.lib
    │   │       │   ├── opencv_structured_light310.lib
    │   │       │   ├── opencv_superres310.lib
    │   │       │   ├── opencv_surface_matching310.lib
    │   │       │   ├── opencv_text310.lib
    │   │       │   ├── opencv_tracking310.lib
    │   │       │   ├── opencv_video310.lib
    │   │       │   ├── opencv_videoio310.lib
    │   │       │   ├── opencv_videostab310.lib
    │   │       │   ├── opencv_xfeatures2d310.lib
    │   │       │   ├── opencv_ximgproc310.lib
    │   │       │   ├── opencv_xobjdetect310.lib
    │   │       │   └── opencv_xphoto310.lib
    │   │       ├── vs2013/
    │   │       │   ├── opencv_aruco310.lib
    │   │       │   ├── opencv_bgsegm310.lib
    │   │       │   ├── opencv_bioinspired310.lib
    │   │       │   ├── opencv_calib3d310.lib
    │   │       │   ├── opencv_ccalib310.lib
    │   │       │   ├── opencv_core310.lib
    │   │       │   ├── opencv_datasets310.lib
    │   │       │   ├── opencv_dnn310.lib
    │   │       │   ├── opencv_dpm310.lib
    │   │       │   ├── opencv_face310.lib
    │   │       │   ├── opencv_features2d310.lib
    │   │       │   ├── opencv_flann310.lib
    │   │       │   ├── opencv_fuzzy310.lib
    │   │       │   ├── opencv_highgui310.lib
    │   │       │   ├── opencv_imgcodecs310.lib
    │   │       │   ├── opencv_imgproc310.lib
    │   │       │   ├── opencv_line_descriptor310.lib
    │   │       │   ├── opencv_ml310.lib
    │   │       │   ├── opencv_objdetect310.lib
    │   │       │   ├── opencv_optflow310.lib
    │   │       │   ├── opencv_photo310.lib
    │   │       │   ├── opencv_plot310.lib
    │   │       │   ├── opencv_reg310.lib
    │   │       │   ├── opencv_rgbd310.lib
    │   │       │   ├── opencv_saliency310.lib
    │   │       │   ├── opencv_shape310.lib
    │   │       │   ├── opencv_stereo310.lib
    │   │       │   ├── opencv_stitching310.lib
    │   │       │   ├── opencv_structured_light310.lib
    │   │       │   ├── opencv_superres310.lib
    │   │       │   ├── opencv_surface_matching310.lib
    │   │       │   ├── opencv_text310.lib
    │   │       │   ├── opencv_tracking310.lib
    │   │       │   ├── opencv_video310.lib
    │   │       │   ├── opencv_videoio310.lib
    │   │       │   ├── opencv_videostab310.lib
    │   │       │   ├── opencv_xfeatures2d310.lib
    │   │       │   ├── opencv_ximgproc310.lib
    │   │       │   ├── opencv_xobjdetect310.lib
    │   │       │   └── opencv_xphoto310.lib
    │   │       └── vs2015/
    │   │           ├── opencv_aruco310.lib
    │   │           ├── opencv_bgsegm310.lib
    │   │           ├── opencv_bioinspired310.lib
    │   │           ├── opencv_calib3d310.lib
    │   │           ├── opencv_ccalib310.lib
    │   │           ├── opencv_core310.lib
    │   │           ├── opencv_datasets310.lib
    │   │           ├── opencv_dnn310.lib
    │   │           ├── opencv_dpm310.lib
    │   │           ├── opencv_face310.lib
    │   │           ├── opencv_features2d310.lib
    │   │           ├── opencv_flann310.lib
    │   │           ├── opencv_fuzzy310.lib
    │   │           ├── opencv_highgui310.lib
    │   │           ├── opencv_imgcodecs310.lib
    │   │           ├── opencv_imgproc310.lib
    │   │           ├── opencv_line_descriptor310.lib
    │   │           ├── opencv_ml310.lib
    │   │           ├── opencv_objdetect310.lib
    │   │           ├── opencv_optflow310.lib
    │   │           ├── opencv_photo310.lib
    │   │           ├── opencv_plot310.lib
    │   │           ├── opencv_reg310.lib
    │   │           ├── opencv_rgbd310.lib
    │   │           ├── opencv_saliency310.lib
    │   │           ├── opencv_shape310.lib
    │   │           ├── opencv_stereo310.lib
    │   │           ├── opencv_stitching310.lib
    │   │           ├── opencv_structured_light310.lib
    │   │           ├── opencv_superres310.lib
    │   │           ├── opencv_surface_matching310.lib
    │   │           ├── opencv_text310.lib
    │   │           ├── opencv_tracking310.lib
    │   │           ├── opencv_video310.lib
    │   │           ├── opencv_videoio310.lib
    │   │           ├── opencv_videostab310.lib
    │   │           ├── opencv_xfeatures2d310.lib
    │   │           ├── opencv_ximgproc310.lib
    │   │           ├── opencv_xobjdetect310.lib
    │   │           └── opencv_xphoto310.lib
    │   ├── packtpub/
    │   │   ├── BGRAVideoFrame.h
    │   │   ├── CameraCalibration.hpp
    │   │   ├── DebugHelpers.hpp
    │   │   ├── GeometryTypes.hpp
    │   │   ├── Marker.hpp
    │   │   ├── MarkerDetector.hpp
    │   │   └── TinyLA.hpp
    │   └── pthread/
    │       ├── include/
    │       │   ├── pthread.h
    │       │   ├── sched.h
    │       │   └── semaphore.h
    │       └── lib/
    │           └── pthreadVC2.lib
    ├── ardrone/
    │   ├── ardrone.cpp
    │   ├── ardrone.h
    │   ├── command.cpp
    │   ├── config.cpp
    │   ├── navdata.cpp
    │   ├── tcp.cpp
    │   ├── udp.cpp
    │   ├── uvlc.h
    │   ├── version.cpp
    │   └── video.cpp
    ├── main.cpp
    └── resource/
        ├── resource.rc
        └── test.exe.manifest
Download .txt
Showing preview only (803K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4433 symbols across 376 files)

FILE: samples/old/sample_camera_calibration.cpp
  function cvDrawText (line 17) | inline void cvDrawText(IplImage *image, CvPoint point, const char *fmt, ...
  function cvAsk (line 38) | inline int cvAsk(const char *message, ...)
  function main (line 65) | int main(int argc, char **argv)
  function main (line 217) | int main(int argc, char **argv)

FILE: samples/old/sample_condens_tracking.cpp
  function main (line 10) | int main(int argc, char **argv)

FILE: samples/old/sample_deadreckoning.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_default.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_default2.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_detection.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_detection2.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_flight_animation.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_hog.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/old/sample_kalman_tracking.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_led_animation.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_marker_based_ar.cpp
  function Matrix44 (line 32) | Matrix44 buildProjectionMatrix(Matrix33 cameraMatrix, int screen_width, ...
  function idle (line 72) | void idle(void)
  function display (line 83) | void display(void)
  function key (line 212) | void key(unsigned char key, int x, int y) {
  function resize (line 227) | void resize(int w, int h)
  function main (line 243) | int main(int argc, char *argv[])

FILE: samples/old/sample_minimal.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_navdata.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_optical_flow.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_video_record.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/old/sample_video_writer.cpp
  function main (line 8) | int main(int argc, char **argv)

FILE: samples/sample_camera_calibration.cpp
  function main (line 13) | int main(int argc, char *argv[])

FILE: samples/sample_deadreckoning.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_default.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_detection.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_flight_animation.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_hog.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_kalman_tracking.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_led_animation.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_marker_based_ar.cpp
  function Matrix44 (line 32) | Matrix44 buildProjectionMatrix(Matrix33 cameraMatrix, int screen_width, ...
  function idle (line 72) | void idle(void)
  function display (line 83) | void display(void)
  function key (line 212) | void key(unsigned char key, int x, int y) {
  function main (line 227) | int main(int argc, char *argv[])

FILE: samples/sample_minimal.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_navdata.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_optical_flow.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_tracking.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_video_record.cpp
  function main (line 8) | int main(int argc, char *argv[])

FILE: samples/sample_video_writer.cpp
  function main (line 11) | int main(int argc, char *argv[])

FILE: src/3rdparty/ffmpeg/include/inttypes.h
  type imaxdiv_t (line 47) | typedef struct {
  function _inline (line 276) | static

FILE: src/3rdparty/ffmpeg/include/libavcodec/avcodec.h
  type AVCodecID (line 107) | enum AVCodecID {
  type AVCodecDescriptor (line 538) | typedef struct AVCodecDescriptor {
  type Motion_Est_ID (line 605) | enum Motion_Est_ID {
  type AVDiscard (line 621) | enum AVDiscard{
  type AVColorPrimaries (line 632) | enum AVColorPrimaries{
  type AVColorTransferCharacteristic (line 644) | enum AVColorTransferCharacteristic{
  type AVChromaLocation (line 667) | enum AVChromaLocation{
  type AVAudioServiceType (line 678) | enum AVAudioServiceType {
  type RcOverride (line 694) | typedef struct RcOverride{
  type AVPanScan (line 909) | typedef struct AVPanScan{
  type AVPacketSideDataType (line 963) | enum AVPacketSideDataType {
  type AVPacket (line 1092) | typedef struct AVPacket {
  type AVSideDataParamChangeFlags (line 1168) | enum AVSideDataParamChangeFlags {
  type AVCodecInternal (line 1178) | struct AVCodecInternal
  type AVFieldOrder (line 1180) | enum AVFieldOrder {
  type AVCodecContext (line 1198) | typedef struct AVCodecContext {
  type AVProfile (line 3019) | typedef struct AVProfile {
  type AVCodecDefault (line 3024) | typedef struct AVCodecDefault AVCodecDefault;
  type AVSubtitle (line 3026) | struct AVSubtitle
  type AVCodec (line 3031) | typedef struct AVCodec {
  type MpegEncContext (line 3127) | struct MpegEncContext
  type AVHWAccel (line 3132) | typedef struct AVHWAccel {
  type AVPicture (line 3244) | typedef struct AVPicture {
  type AVSubtitleType (line 3253) | enum AVSubtitleType {
  type AVSubtitleRect (line 3273) | typedef struct AVSubtitleRect {
  type AVSubtitle (line 3299) | typedef struct AVSubtitle {
  type AVPacketSideDataType (line 3610) | enum AVPacketSideDataType
  type AVPacketSideDataType (line 3621) | enum AVPacketSideDataType
  type AVPacketSideDataType (line 3632) | enum AVPacketSideDataType
  type AVCodecID (line 3733) | enum AVCodecID
  type AVChromaLocation (line 3799) | enum AVChromaLocation
  type AVChromaLocation (line 3810) | enum AVChromaLocation
  type AVPictureStructure (line 4000) | enum AVPictureStructure {
  type AVCodecParserContext (line 4007) | typedef struct AVCodecParserContext {
  type AVCodecParser (line 4163) | typedef struct AVCodecParser {
  type AVCodecID (line 4242) | enum AVCodecID
  type ReSampleContext (line 4397) | struct ReSampleContext
  type AVResampleContext (line 4398) | struct AVResampleContext
  type ReSampleContext (line 4400) | typedef struct ReSampleContext ReSampleContext;
  type AVSampleFormat (line 4421) | enum AVSampleFormat
  type AVSampleFormat (line 4422) | enum AVSampleFormat
  type AVResampleContext (line 4461) | struct AVResampleContext
  type AVResampleContext (line 4477) | struct AVResampleContext
  type AVResampleContext (line 4479) | struct AVResampleContext
  type AVPixelFormat (line 4505) | enum AVPixelFormat
  type AVPixelFormat (line 4540) | enum AVPixelFormat
  type AVPixelFormat (line 4560) | enum AVPixelFormat
  type AVPixelFormat (line 4576) | enum AVPixelFormat
  type AVPixelFormat (line 4586) | enum AVPixelFormat
  type AVPixelFormat (line 4592) | enum AVPixelFormat
  type AVPixelFormat (line 4598) | enum AVPixelFormat
  type AVPixelFormat (line 4603) | enum AVPixelFormat
  type AVPixelFormat (line 4641) | enum AVPixelFormat
  type AVPixelFormat (line 4648) | enum AVPixelFormat
  type AVPixelFormat (line 4675) | enum AVPixelFormat
  type AVPixelFormat (line 4675) | enum AVPixelFormat
  type AVPixelFormat (line 4695) | enum AVPixelFormat
  type AVPixelFormat (line 4695) | enum AVPixelFormat
  type AVPixelFormat (line 4696) | enum AVPixelFormat
  type AVPixelFormat (line 4729) | enum AVPixelFormat
  type AVPixelFormat (line 4729) | enum AVPixelFormat
  type AVPixelFormat (line 4729) | enum AVPixelFormat
  type AVPixelFormat (line 4730) | enum AVPixelFormat
  type AVPixelFormat (line 4734) | enum AVPixelFormat
  type AVPixelFormat (line 4734) | enum AVPixelFormat
  type AVPixelFormat (line 4735) | enum AVPixelFormat
  type AVPixelFormat (line 4738) | enum AVPixelFormat
  type AVPixelFormat (line 4738) | enum AVPixelFormat
  type AVPixelFormat (line 4738) | enum AVPixelFormat
  type AVPixelFormat (line 4739) | enum AVPixelFormat
  type AVPixelFormat (line 4743) | enum AVPixelFormat
  type AVCodecContext (line 4743) | struct AVCodecContext
  type AVPixelFormat (line 4743) | enum AVPixelFormat
  type AVSampleFormat (line 4807) | enum AVSampleFormat
  type AVCodecID (line 4827) | enum AVCodecID
  type AVCodecID (line 4835) | enum AVCodecID
  type AVSampleFormat (line 4835) | enum AVSampleFormat
  type AVCodecID (line 4845) | enum AVCodecID
  type AVBitStreamFilterContext (line 4858) | typedef struct AVBitStreamFilterContext {
  type AVBitStreamFilter (line 4866) | typedef struct AVBitStreamFilter {
  type AVLockOp (line 5023) | enum AVLockOp {
  type AVLockOp (line 5043) | enum AVLockOp
  type AVMediaType (line 5048) | enum AVMediaType
  type AVCodecID (line 5048) | enum AVCodecID
  type AVCodecID (line 5054) | enum AVCodecID
  type AVCodecID (line 5075) | enum AVCodecID

FILE: src/3rdparty/ffmpeg/include/libavcodec/avfft.h
  type FFTSample (line 35) | typedef float FFTSample;
  type FFTComplex (line 37) | typedef struct FFTComplex {
  type FFTContext (line 41) | typedef struct FFTContext FFTContext;
  type RDFTransformType (line 71) | enum RDFTransformType {
  type RDFTContext (line 78) | typedef struct RDFTContext RDFTContext;
  type RDFTransformType (line 85) | enum RDFTransformType
  type DCTContext (line 91) | typedef struct DCTContext DCTContext;
  type DCTTransformType (line 93) | enum DCTTransformType {
  type DCTTransformType (line 110) | enum DCTTransformType

FILE: src/3rdparty/ffmpeg/include/libavcodec/dxva2.h
  type dxva_context (line 59) | struct dxva_context {

FILE: src/3rdparty/ffmpeg/include/libavcodec/vaapi.h
  type vaapi_context (line 50) | struct vaapi_context {

FILE: src/3rdparty/ffmpeg/include/libavcodec/vda.h
  type vda_context (line 63) | struct vda_context {
  type vda_context (line 157) | struct vda_context
  type vda_context (line 162) | struct vda_context

FILE: src/3rdparty/ffmpeg/include/libavcodec/vdpau.h
  type AVCodecContext (line 69) | struct AVCodecContext
  type AVFrame (line 70) | struct AVFrame
  type AVCodecContext (line 72) | struct AVCodecContext
  type AVFrame (line 72) | struct AVFrame
  type AVVDPAUContext (line 90) | typedef struct AVVDPAUContext {
  type vdpau_render_state (line 189) | struct vdpau_render_state {

FILE: src/3rdparty/ffmpeg/include/libavcodec/xvmc.h
  function attribute_deprecated (line 46) | attribute_deprecated struct xvmc_pix_fmt {

FILE: src/3rdparty/ffmpeg/include/libavdevice/avdevice.h
  type AVDeviceRect (line 69) | typedef struct AVDeviceRect {
  type AVAppToDevMessageType (line 79) | enum AVAppToDevMessageType {
  type AVDevToAppMessageType (line 110) | enum AVDevToAppMessageType {
  type AVFormatContext (line 176) | struct AVFormatContext
  type AVAppToDevMessageType (line 177) | enum AVAppToDevMessageType
  type AVFormatContext (line 190) | struct AVFormatContext
  type AVDevToAppMessageType (line 191) | enum AVDevToAppMessageType
  type AVDeviceInfo (line 197) | typedef struct AVDeviceInfo {
  type AVDeviceInfoList (line 205) | typedef struct AVDeviceInfoList {
  type AVFormatContext (line 224) | struct AVFormatContext

FILE: src/3rdparty/ffmpeg/include/libavfilter/avcodec.h
  type AVMediaType (line 64) | enum AVMediaType

FILE: src/3rdparty/ffmpeg/include/libavfilter/avfilter.h
  type AVFilterContext (line 64) | typedef struct AVFilterContext AVFilterContext;
  type AVFilterLink (line 65) | typedef struct AVFilterLink    AVFilterLink;
  type AVFilterPad (line 66) | typedef struct AVFilterPad     AVFilterPad;
  type AVFilterFormats (line 67) | typedef struct AVFilterFormats AVFilterFormats;
  type AVFilterBuffer (line 75) | typedef struct AVFilterBuffer {
  type AVFilterBufferRefAudioProps (line 125) | typedef struct AVFilterBufferRefAudioProps {
  type AVFilterBufferRefVideoProps (line 137) | typedef struct AVFilterBufferRefVideoProps {
  type AVFilterBufferRef (line 158) | typedef struct AVFilterBufferRef {
  type AVFilterPad (line 256) | struct AVFilterPad {
  type AVMediaType (line 424) | enum AVMediaType
  type AVFilter (line 470) | typedef struct AVFilter {
  type AVFilterInternal (line 630) | typedef struct AVFilterInternal AVFilterInternal;
  type AVFilterContext (line 633) | struct AVFilterContext {
  type AVFilterLink (line 696) | struct AVFilterLink {
  type AVPixelFormat (line 915) | enum AVPixelFormat
  type AVSampleFormat (line 936) | enum AVSampleFormat
  type AVSampleFormat (line 956) | enum AVSampleFormat
  type AVFilterGraphInternal (line 1136) | typedef struct AVFilterGraphInternal AVFilterGraphInternal;
  type AVFilterGraph (line 1167) | typedef struct AVFilterGraph {
  type AVFilterInOut (line 1347) | typedef struct AVFilterInOut {

FILE: src/3rdparty/ffmpeg/include/libavfilter/buffersink.h
  type AVBufferSinkParams (line 122) | typedef struct {
  type AVABufferSinkParams (line 136) | typedef struct {

FILE: src/3rdparty/ffmpeg/include/libavformat/avformat.h
  type AVFormatContext (line 262) | struct AVFormatContext
  type AVDeviceInfoList (line 264) | struct AVDeviceInfoList
  type AVFrac (line 377) | typedef struct AVFrac {
  type AVCodecTag (line 384) | struct AVCodecTag
  type AVProbeData (line 389) | typedef struct AVProbeData {
  type AVOutputFormat (line 443) | typedef struct AVOutputFormat {
  type AVInputFormat (line 543) | typedef struct AVInputFormat {
  type AVStreamParseType (line 673) | enum AVStreamParseType {
  type AVIndexEntry (line 684) | typedef struct AVIndexEntry {
  type AVStream (line 743) | typedef struct AVStream {
  type AVProgram (line 1017) | typedef struct AVProgram {
  type AVChapter (line 1046) | typedef struct AVChapter {
  type AVFormatContext (line 1057) | struct AVFormatContext
  type AVDurationEstimationMethod (line 1065) | enum AVDurationEstimationMethod {
  type AVFormatInternal (line 1071) | typedef struct AVFormatInternal AVFormatInternal;
  type AVFormatContext (line 1081) | typedef struct AVFormatContext {
  type AVDurationEstimationMethod (line 1571) | enum AVDurationEstimationMethod
  type AVPacketList (line 1573) | typedef struct AVPacketList {
  type AVMediaType (line 1896) | enum AVMediaType
  type AVCodecID (line 2210) | enum AVCodecID
  type AVMediaType (line 2212) | enum AVMediaType
  type AVFormatContext (line 2229) | struct AVFormatContext
  type AVCodecID (line 2305) | enum AVCodecID
  type AVCodecTag (line 2305) | struct AVCodecTag
  type AVCodecTag (line 2315) | struct AVCodecTag
  type AVCodecID (line 2315) | enum AVCodecID
  type AVCodecTag (line 2326) | struct AVCodecTag
  type AVCodecID (line 2326) | enum AVCodecID
  type AVCodecID (line 2447) | enum AVCodecID
  type AVCodecTag (line 2464) | struct AVCodecTag
  type AVCodecTag (line 2468) | struct AVCodecTag
  type AVCodecTag (line 2472) | struct AVCodecTag
  type AVCodecTag (line 2476) | struct AVCodecTag

FILE: src/3rdparty/ffmpeg/include/libavformat/avio.h
  type AVIOInterruptCB (line 51) | typedef struct AVIOInterruptCB {
  type AVIOContext (line 68) | typedef struct AVIOContext {
  function av_always_inline (line 257) | static av_always_inline int64_t avio_tell(AVIOContext *s)

FILE: src/3rdparty/ffmpeg/include/libavutil/aes.h
  type AVAES (line 37) | struct AVAES
  type AVAES (line 42) | struct AVAES
  type AVAES (line 49) | struct AVAES
  type AVAES (line 59) | struct AVAES

FILE: src/3rdparty/ffmpeg/include/libavutil/audio_fifo.h
  type AVAudioFifo (line 46) | typedef struct AVAudioFifo AVAudioFifo;
  type AVSampleFormat (line 63) | enum AVSampleFormat

FILE: src/3rdparty/ffmpeg/include/libavutil/avstring.h
  function av_strnlen (line 140) | static inline size_t av_strnlen(const char *s, size_t len)
  function av_toupper (line 221) | static inline int av_toupper(int c)
  function av_tolower (line 231) | static inline int av_tolower(int c)
  type AVEscapeMode (line 271) | enum AVEscapeMode {
  type AVEscapeMode (line 311) | enum AVEscapeMode

FILE: src/3rdparty/ffmpeg/include/libavutil/avutil.h
  type AVMediaType (line 186) | enum AVMediaType {
  type AVMediaType (line 200) | enum AVMediaType
  type AVPictureType (line 259) | enum AVPictureType {
  type AVPictureType (line 277) | enum AVPictureType

FILE: src/3rdparty/ffmpeg/include/libavutil/blowfish.h
  type AVBlowfish (line 35) | typedef struct AVBlowfish {
  type AVBlowfish (line 47) | struct AVBlowfish
  type AVBlowfish (line 57) | struct AVBlowfish
  type AVBlowfish (line 70) | struct AVBlowfish

FILE: src/3rdparty/ffmpeg/include/libavutil/bprint.h
  type AVBPrint (line 77) | typedef struct AVBPrint {
  type tm (line 145) | struct tm
  type tm (line 157) | struct tm
  function av_bprint_is_complete (line 182) | static inline int av_bprint_is_complete(AVBPrint *buf)
  type AVEscapeMode (line 214) | enum AVEscapeMode

FILE: src/3rdparty/ffmpeg/include/libavutil/bswap.h
  function av_bswap16 (line 60) | uint16_t av_bswap16(uint16_t x)
  function av_bswap32 (line 68) | uint32_t av_bswap32(uint32_t x)
  function av_bswap64 (line 75) | static inline uint64_t av_const av_bswap64(uint64_t x)

FILE: src/3rdparty/ffmpeg/include/libavutil/buffer.h
  type AVBuffer (line 73) | typedef struct AVBuffer AVBuffer;
  type AVBufferRef (line 81) | typedef struct AVBufferRef {
  type AVBufferPool (line 238) | typedef struct AVBufferPool AVBufferPool;

FILE: src/3rdparty/ffmpeg/include/libavutil/channel_layout.h
  type AVMatrixEncoding (line 113) | enum AVMatrixEncoding {
  type AVBPrint (line 161) | struct AVBPrint
  type AVBPrint (line 165) | struct AVBPrint

FILE: src/3rdparty/ffmpeg/include/libavutil/common.h
  function av_clip_c (line 105) | int av_clip_c(int a, int amin, int amax)
  function av_clip64_c (line 122) | int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax)
  function av_clip_uint8_c (line 137) | uint8_t av_clip_uint8_c(int a)
  function av_clip_int8_c (line 148) | int8_t av_clip_int8_c(int a)
  function av_clip_uint16_c (line 159) | uint16_t av_clip_uint16_c(int a)
  function av_clip_int16_c (line 170) | int16_t av_clip_int16_c(int a)
  function av_clipl_int32_c (line 181) | int32_t av_clipl_int32_c(int64_t a)
  function av_clip_uintp2_c (line 193) | unsigned av_clip_uintp2_c(int a, int p)
  function av_always_inline (line 206) | static av_always_inline int av_sat_add32_c(int a, int b)
  function av_always_inline (line 218) | static av_always_inline int av_sat_dadd32_c(int a, int b)
  function av_clipf_c (line 230) | float av_clipf_c(float a, float amin, float amax)
  function av_clipd_c (line 247) | double av_clipd_c(double a, double amin, double amax)
  function av_ceil_log2_c (line 261) | int av_ceil_log2_c(int x)
  function av_popcount_c (line 271) | int av_popcount_c(uint32_t x)
  function av_popcount64_c (line 285) | int av_popcount64_c(uint64_t x)

FILE: src/3rdparty/ffmpeg/include/libavutil/crc.h
  type AVCRC (line 34) | typedef uint32_t AVCRC;
  type AVCRCId (line 36) | typedef enum {

FILE: src/3rdparty/ffmpeg/include/libavutil/dict.h
  type AVDictionaryEntry (line 78) | typedef struct AVDictionaryEntry {
  type AVDictionary (line 83) | typedef struct AVDictionary AVDictionary;

FILE: src/3rdparty/ffmpeg/include/libavutil/downmix_info.h
  type AVDownmixType (line 44) | enum AVDownmixType {
  type AVDownmixInfo (line 58) | typedef struct AVDownmixInfo {

FILE: src/3rdparty/ffmpeg/include/libavutil/eval.h
  type AVExpr (line 31) | typedef struct AVExpr AVExpr;

FILE: src/3rdparty/ffmpeg/include/libavutil/fifo.h
  type AVFifoBuffer (line 31) | typedef struct AVFifoBuffer {

FILE: src/3rdparty/ffmpeg/include/libavutil/frame.h
  type AVColorSpace (line 39) | enum AVColorSpace{
  type AVColorRange (line 54) | enum AVColorRange{
  type AVFrameSideDataType (line 70) | enum AVFrameSideDataType {
  type AVFrameSideData (line 97) | typedef struct AVFrameSideData {
  type AVFrame (line 133) | typedef struct AVFrame {
  type AVColorSpace (line 566) | enum AVColorSpace
  type AVColorSpace (line 567) | enum AVColorSpace
  type AVColorRange (line 568) | enum AVColorRange
  type AVColorRange (line 569) | enum AVColorRange
  type AVColorSpace (line 575) | enum AVColorSpace
  type AVFrameSideDataType (line 719) | enum AVFrameSideDataType
  type AVFrameSideDataType (line 727) | enum AVFrameSideDataType

FILE: src/3rdparty/ffmpeg/include/libavutil/hmac.h
  type AVHMACType (line 32) | enum AVHMACType {
  type AVHMAC (line 41) | typedef struct AVHMAC AVHMAC;
  type AVHMACType (line 47) | enum AVHMACType

FILE: src/3rdparty/ffmpeg/include/libavutil/imgutils.h
  type AVPixelFormat (line 58) | enum AVPixelFormat
  type AVPixelFormat (line 67) | enum AVPixelFormat
  type AVPixelFormat (line 80) | enum AVPixelFormat
  type AVPixelFormat (line 94) | enum AVPixelFormat
  type AVPixelFormat (line 120) | enum AVPixelFormat
  type AVPixelFormat (line 150) | enum AVPixelFormat
  type AVPixelFormat (line 158) | enum AVPixelFormat
  type AVPixelFormat (line 179) | enum AVPixelFormat
  type AVPixelFormat (line 193) | enum AVPixelFormat

FILE: src/3rdparty/ffmpeg/include/libavutil/intfloat.h
  function av_always_inline (line 40) | static av_always_inline float av_int2float(uint32_t i)
  function av_always_inline (line 50) | static av_always_inline uint32_t av_float2int(float f)
  function av_always_inline (line 60) | static av_always_inline double av_int2double(uint64_t i)
  function av_always_inline (line 70) | static av_always_inline uint64_t av_double2int(double f)

FILE: src/3rdparty/ffmpeg/include/libavutil/intfloat_readwrite.h
  type AVExtFloat (line 31) | typedef struct AVExtFloat  {

FILE: src/3rdparty/ffmpeg/include/libavutil/intreadwrite.h
  type av_alias64 (line 27) | typedef union {
  type av_alias32 (line 36) | typedef union {
  type av_alias16 (line 43) | typedef union {

FILE: src/3rdparty/ffmpeg/include/libavutil/lfg.h
  type AVLFG (line 25) | typedef struct AVLFG {
  function av_lfg_get (line 38) | static inline unsigned int av_lfg_get(AVLFG *c){
  function av_mlfg_get (line 48) | static inline unsigned int av_mlfg_get(AVLFG *c){

FILE: src/3rdparty/ffmpeg/include/libavutil/log.h
  type AVClassCategory (line 28) | typedef enum {
  type AVOptionRanges (line 43) | struct AVOptionRanges
  type AVClass (line 50) | typedef struct AVClass {

FILE: src/3rdparty/ffmpeg/include/libavutil/mathematics.h
  type AVRounding (line 70) | enum AVRounding {
  type AVRounding (line 99) | enum AVRounding
  type AVRounding (line 113) | enum AVRounding

FILE: src/3rdparty/ffmpeg/include/libavutil/md5.h
  type AVMD5 (line 37) | struct AVMD5
  type AVMD5 (line 42) | struct AVMD5
  type AVMD5 (line 49) | struct AVMD5
  type AVMD5 (line 58) | struct AVMD5
  type AVMD5 (line 66) | struct AVMD5

FILE: src/3rdparty/ffmpeg/include/libavutil/mem.h
  function av_size_mult (line 311) | static inline int av_size_mult(size_t a, size_t b, size_t *r)

FILE: src/3rdparty/ffmpeg/include/libavutil/murmur3.h
  type AVMurMur3 (line 26) | struct AVMurMur3
  type AVMurMur3 (line 27) | struct AVMurMur3
  type AVMurMur3 (line 28) | struct AVMurMur3
  type AVMurMur3 (line 29) | struct AVMurMur3
  type AVMurMur3 (line 30) | struct AVMurMur3

FILE: src/3rdparty/ffmpeg/include/libavutil/opt.h
  type AVOptionType (line 220) | enum AVOptionType{
  type AVOption (line 253) | typedef struct AVOption {
  type AVOptionRange (line 314) | typedef struct AVOptionRange {
  type AVOptionRanges (line 324) | typedef struct AVOptionRanges {
  type AVDictionary (line 492) | struct AVDictionary
  type AVPixelFormat (line 669) | enum AVPixelFormat
  type AVSampleFormat (line 670) | enum AVSampleFormat
  type AVPixelFormat (line 713) | enum AVPixelFormat
  type AVSampleFormat (line 714) | enum AVSampleFormat

FILE: src/3rdparty/ffmpeg/include/libavutil/parseutils.h
  type tm (line 172) | struct tm
  type tm (line 185) | struct tm

FILE: src/3rdparty/ffmpeg/include/libavutil/pixdesc.h
  type AVComponentDescriptor (line 30) | typedef struct AVComponentDescriptor{
  type AVPixFmtDescriptor (line 57) | typedef struct AVPixFmtDescriptor{
  type AVPixelFormat (line 194) | enum AVPixelFormat
  type AVPixelFormat (line 202) | enum AVPixelFormat
  type AVPixelFormat (line 214) | enum AVPixelFormat
  type AVPixelFormat (line 237) | enum AVPixelFormat
  type AVPixelFormat (line 252) | enum AVPixelFormat
  type AVPixelFormat (line 269) | enum AVPixelFormat
  type AVPixelFormat (line 276) | enum AVPixelFormat
  type AVPixelFormat (line 288) | enum AVPixelFormat
  type AVPixelFormat (line 288) | enum AVPixelFormat

FILE: src/3rdparty/ffmpeg/include/libavutil/pixfmt.h
  type AVPixelFormat (line 66) | enum AVPixelFormat {

FILE: src/3rdparty/ffmpeg/include/libavutil/rational.h
  type AVRational (line 43) | typedef struct AVRational{
  function AVRational (line 53) | static inline AVRational av_make_q(int num, int den)
  function av_cmp_q (line 66) | static inline int av_cmp_q(AVRational a, AVRational b){
  function av_q2d (line 80) | static inline double av_q2d(AVRational a){
  function av_always_inline (line 133) | static av_always_inline AVRational av_inv_q(AVRational q)

FILE: src/3rdparty/ffmpeg/include/libavutil/ripemd.h
  type AVRIPEMD (line 38) | struct AVRIPEMD
  type AVRIPEMD (line 43) | struct AVRIPEMD
  type AVRIPEMD (line 52) | struct AVRIPEMD
  type AVRIPEMD (line 61) | struct AVRIPEMD
  type AVRIPEMD (line 69) | struct AVRIPEMD

FILE: src/3rdparty/ffmpeg/include/libavutil/samplefmt.h
  type AVSampleFormat (line 49) | enum AVSampleFormat {
  type AVSampleFormat (line 70) | enum AVSampleFormat
  type AVSampleFormat (line 76) | enum AVSampleFormat
  type AVSampleFormat (line 84) | enum AVSampleFormat
  type AVSampleFormat (line 84) | enum AVSampleFormat
  type AVSampleFormat (line 95) | enum AVSampleFormat
  type AVSampleFormat (line 95) | enum AVSampleFormat
  type AVSampleFormat (line 106) | enum AVSampleFormat
  type AVSampleFormat (line 106) | enum AVSampleFormat
  type AVSampleFormat (line 120) | enum AVSampleFormat
  type AVSampleFormat (line 127) | enum AVSampleFormat
  type AVSampleFormat (line 137) | enum AVSampleFormat
  type AVSampleFormat (line 145) | enum AVSampleFormat
  type AVSampleFormat (line 158) | enum AVSampleFormat
  type AVSampleFormat (line 193) | enum AVSampleFormat
  type AVSampleFormat (line 215) | enum AVSampleFormat
  type AVSampleFormat (line 227) | enum AVSampleFormat
  type AVSampleFormat (line 242) | enum AVSampleFormat
  type AVSampleFormat (line 254) | enum AVSampleFormat

FILE: src/3rdparty/ffmpeg/include/libavutil/sha.h
  type AVSHA (line 37) | struct AVSHA
  type AVSHA (line 42) | struct AVSHA
  type AVSHA (line 51) | struct AVSHA
  type AVSHA (line 60) | struct AVSHA
  type AVSHA (line 68) | struct AVSHA

FILE: src/3rdparty/ffmpeg/include/libavutil/sha512.h
  type AVSHA512 (line 38) | struct AVSHA512
  type AVSHA512 (line 43) | struct AVSHA512
  type AVSHA512 (line 52) | struct AVSHA512
  type AVSHA512 (line 61) | struct AVSHA512
  type AVSHA512 (line 69) | struct AVSHA512

FILE: src/3rdparty/ffmpeg/include/libavutil/stereo3d.h
  type AVStereo3DType (line 28) | enum AVStereo3DType {
  type AVStereo3D (line 120) | typedef struct AVStereo3D {

FILE: src/3rdparty/ffmpeg/include/libavutil/timecode.h
  type AVTimecodeFlag (line 35) | enum AVTimecodeFlag {
  type AVTimecode (line 41) | typedef struct {

FILE: src/3rdparty/ffmpeg/include/libavutil/xtea.h
  type AVXTEA (line 35) | typedef struct AVXTEA {
  type AVXTEA (line 45) | struct AVXTEA
  type AVXTEA (line 57) | struct AVXTEA

FILE: src/3rdparty/ffmpeg/include/libswresample/swresample.h
  type SwrDitherType (line 109) | enum SwrDitherType {
  type SwrEngine (line 127) | enum SwrEngine {
  type SwrFilterType (line 134) | enum SwrFilterType {
  type SwrContext (line 140) | typedef struct SwrContext SwrContext;
  type SwrContext (line 159) | struct SwrContext
  type SwrContext (line 166) | struct SwrContext
  type SwrContext (line 173) | struct SwrContext
  type SwrContext (line 195) | struct SwrContext
  type SwrContext (line 195) | struct SwrContext
  type AVSampleFormat (line 196) | enum AVSampleFormat
  type AVSampleFormat (line 197) | enum AVSampleFormat
  type SwrContext (line 203) | struct SwrContext
  type SwrContext (line 223) | struct SwrContext
  type SwrContext (line 239) | struct SwrContext
  type SwrContext (line 244) | struct SwrContext
  type SwrContext (line 254) | struct SwrContext
  type SwrContext (line 265) | struct SwrContext
  type SwrContext (line 270) | struct SwrContext
  type SwrContext (line 275) | struct SwrContext
  type SwrContext (line 297) | struct SwrContext

FILE: src/3rdparty/ffmpeg/include/libswscale/swscale.h
  type SwsVector (line 120) | typedef struct SwsVector {
  type SwsFilter (line 126) | typedef struct SwsFilter {
  type SwsContext (line 133) | struct SwsContext
  type AVPixelFormat (line 139) | enum AVPixelFormat
  type AVPixelFormat (line 145) | enum AVPixelFormat
  type AVPixelFormat (line 152) | enum AVPixelFormat
  type SwsContext (line 159) | struct SwsContext
  type SwsContext (line 167) | struct SwsContext
  type SwsContext (line 173) | struct SwsContext
  type SwsContext (line 192) | struct SwsContext
  type AVPixelFormat (line 192) | enum AVPixelFormat
  type AVPixelFormat (line 193) | enum AVPixelFormat
  type SwsContext (line 224) | struct SwsContext
  type SwsContext (line 238) | struct SwsContext
  type SwsContext (line 245) | struct SwsContext
  type SwsContext (line 318) | struct SwsContext
  type SwsContext (line 318) | struct SwsContext
  type AVPixelFormat (line 319) | enum AVPixelFormat
  type AVPixelFormat (line 320) | enum AVPixelFormat

FILE: src/3rdparty/ffmpeg/include/stdint.h
  type int_least8_t (line 94) | typedef int8_t    int_least8_t;
  type int_least16_t (line 95) | typedef int16_t   int_least16_t;
  type int_least32_t (line 96) | typedef int32_t   int_least32_t;
  type int_least64_t (line 97) | typedef int64_t   int_least64_t;
  type uint_least8_t (line 98) | typedef uint8_t   uint_least8_t;
  type uint_least16_t (line 99) | typedef uint16_t  uint_least16_t;
  type uint_least32_t (line 100) | typedef uint32_t  uint_least32_t;
  type uint_least64_t (line 101) | typedef uint64_t  uint_least64_t;
  type int_fast8_t (line 104) | typedef int8_t    int_fast8_t;
  type int_fast16_t (line 105) | typedef int16_t   int_fast16_t;
  type int_fast32_t (line 106) | typedef int32_t   int_fast32_t;
  type int_fast64_t (line 107) | typedef int64_t   int_fast64_t;
  type uint_fast8_t (line 108) | typedef uint8_t   uint_fast8_t;
  type uint_fast16_t (line 109) | typedef uint16_t  uint_fast16_t;
  type uint_fast32_t (line 110) | typedef uint32_t  uint_fast32_t;
  type uint_fast64_t (line 111) | typedef uint64_t  uint_fast64_t;
  type intmax_t (line 123) | typedef int64_t   intmax_t;
  type uintmax_t (line 124) | typedef uint64_t  uintmax_t;

FILE: src/3rdparty/glut/include/GL/glut.h
  type wchar_t (line 50) | typedef unsigned short wchar_t;
  function glutInit_ATEXIT_HACK (line 486) | static void APIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __g...
  function glutCreateWindow_ATEXIT_HACK (line 503) | static int APIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { re...
  function glutCreateMenu_ATEXIT_HACK (line 549) | static int APIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)...

FILE: src/3rdparty/opencv/include/opencv2/aruco.hpp
  type cv (line 73) | namespace cv {
    type aruco (line 74) | namespace aruco {
      function DetectorParameters (line 124) | struct CV_EXPORTS DetectorParameters {
      function Board (line 224) | class CV_EXPORTS Board {
      function GridBoard (line 246) | class CV_EXPORTS GridBoard : public Board {

FILE: src/3rdparty/opencv/include/opencv2/aruco/charuco.hpp
  type cv (line 47) | namespace cv {
    type aruco (line 48) | namespace aruco {
      function CharucoBoard (line 62) | class CV_EXPORTS CharucoBoard : public Board {

FILE: src/3rdparty/opencv/include/opencv2/aruco/dictionary.hpp
  type cv (line 44) | namespace cv {
    type aruco (line 45) | namespace aruco {
      function Dictionary (line 61) | class CV_EXPORTS Dictionary {
      type PREDEFINED_DICTIONARY_NAME (line 114) | enum PREDEFINED_DICTIONARY_NAME {

FILE: src/3rdparty/opencv/include/opencv2/bgsegm.hpp
  type cv (line 50) | namespace cv
    type bgsegm (line 52) | namespace bgsegm
      function BackgroundSubtractorMOG (line 62) | class CV_EXPORTS_W BackgroundSubtractorMOG : public BackgroundSubtra...
      function BackgroundSubtractorGMG (line 99) | class CV_EXPORTS_W BackgroundSubtractorGMG : public BackgroundSubtra...

FILE: src/3rdparty/opencv/include/opencv2/bioinspired/retina.hpp
  type cv (line 77) | namespace cv{
    type bioinspired (line 78) | namespace bioinspired{
      type RetinaParameters (line 149) | struct RetinaParameters{
        type OPLandIplParvoParameters (line 151) | struct OPLandIplParvoParameters{
          method OPLandIplParvoParameters (line 152) | OPLandIplParvoParameters():colorMode(true),
        type IplMagnoParameters (line 165) | struct IplMagnoParameters{
          method IplMagnoParameters (line 166) | IplMagnoParameters():
      function Algorithm (line 207) | class CV_EXPORTS_W Retina : public Algorithm {

FILE: src/3rdparty/opencv/include/opencv2/bioinspired/retinafasttonemapping.hpp
  type cv (line 78) | namespace cv{
    type bioinspired (line 79) | namespace bioinspired{
      function RetinaFastToneMapping (line 99) | class CV_EXPORTS_W RetinaFastToneMapping : public Algorithm

FILE: src/3rdparty/opencv/include/opencv2/bioinspired/transientareassegmentationmodule.hpp
  type cv (line 73) | namespace cv
    type bioinspired (line 75) | namespace bioinspired
      type SegmentationParameters (line 82) | struct SegmentationParameters{ // CV_EXPORTS_W_MAP to export to pyth...
        method SegmentationParameters (line 84) | SegmentationParameters():
      function TransientAreasSegmentationModule (line 122) | class CV_EXPORTS_W TransientAreasSegmentationModule: public Algorithm

FILE: src/3rdparty/opencv/include/opencv2/calib3d.hpp
  type cv (line 215) | namespace cv
    function StereoMatcher (line 1573) | class CV_EXPORTS_W StereoMatcher : public Algorithm
    function StereoMatcher (line 1614) | class CV_EXPORTS_W StereoBM : public StereoMatcher
    function StereoMatcher (line 1679) | class CV_EXPORTS_W StereoSGBM : public StereoMatcher
    type fisheye (line 1753) | namespace fisheye

FILE: src/3rdparty/opencv/include/opencv2/calib3d/calib3d_c.h
  type CvPOSITObject (line 61) | typedef struct CvPOSITObject CvPOSITObject;
  type CvStereoBMState (line 322) | typedef struct CvStereoBMState
  function class (line 386) | class CV_EXPORTS CvLevMarq

FILE: src/3rdparty/opencv/include/opencv2/ccalib.hpp
  type cv (line 55) | namespace cv{ namespace ccalib{
    type ccalib (line 55) | namespace ccalib{
      function CustomPattern (line 60) | class CV_EXPORTS CustomPattern : public Algorithm

FILE: src/3rdparty/opencv/include/opencv2/ccalib/multicalib.hpp
  type cv (line 50) | namespace cv { namespace multicalib {
    type multicalib (line 50) | namespace multicalib {
      function MultiCameraCalibration (line 72) | class CV_EXPORTS MultiCameraCalibration

FILE: src/3rdparty/opencv/include/opencv2/ccalib/omnidir.hpp
  type cv (line 48) | namespace cv
    type omnidir (line 50) | namespace omnidir
      type internal (line 243) | namespace internal

FILE: src/3rdparty/opencv/include/opencv2/ccalib/randpattern.hpp
  type cv (line 48) | namespace cv { namespace randpattern {
    type randpattern (line 48) | namespace randpattern {
      function RandomPatternCornerFinder (line 65) | class CV_EXPORTS RandomPatternCornerFinder
      function RandomPatternGenerator (line 153) | class CV_EXPORTS RandomPatternGenerator

FILE: src/3rdparty/opencv/include/opencv2/core.hpp
  type cv (line 97) | namespace cv {
    class CV_EXPORTS (line 109) | class CV_EXPORTS
    type SortFlags (line 148) | enum SortFlags { SORT_EVERY_ROW    = 0, //!< each matrix row is sorted...
    type CovarFlags (line 165) | enum CovarFlags {
    type KmeansFlags (line 201) | enum KmeansFlags {
    type LineTypes (line 214) | enum LineTypes {
    type HersheyFonts (line 223) | enum HersheyFonts {
    type ReduceTypes (line 235) | enum ReduceTypes { REDUCE_SUM = 0, //!< the output is the sum of all r...
    function PCA (line 2276) | class CV_EXPORTS PCA
    function LDA (line 2422) | class CV_EXPORTS LDA
    function SVD (line 2504) | class CV_EXPORTS SVD
    function RNG (line 2643) | class CV_EXPORTS RNG
    function RNG_MT19937 (line 2798) | class CV_EXPORTS RNG_MT19937
    function Formatted (line 2888) | class CV_EXPORTS Formatted
    function Formatter (line 2897) | class CV_EXPORTS Formatter
    function String (line 2920) | static inline
    function String (line 2929) | static inline
    class CV_EXPORTS (line 2937) | class CV_EXPORTS
    type ParamType (line 2939) | struct ParamType {}
    function Algorithm (line 2976) | class CV_EXPORTS_W Algorithm
    type Param (line 3064) | struct Param {
    type ParamType<bool> (line 3071) | struct ParamType<bool>
    type ParamType<int> (line 3079) | struct ParamType<int>
    type ParamType<double> (line 3087) | struct ParamType<double>
    type ParamType<String> (line 3095) | struct ParamType<String>
    type ParamType<Mat> (line 3103) | struct ParamType<Mat>
    type ParamType<std::vector<Mat> > (line 3111) | struct ParamType<std::vector<Mat> >
    type ParamType<Algorithm> (line 3119) | struct ParamType<Algorithm>
    type ParamType<float> (line 3127) | struct ParamType<float>
    type ParamType<unsigned> (line 3135) | struct ParamType<unsigned>
    type ParamType<uint64> (line 3143) | struct ParamType<uint64>
    type ParamType<uchar> (line 3151) | struct ParamType<uchar>

FILE: src/3rdparty/opencv/include/opencv2/core/affine.hpp
  type cv (line 51) | namespace cv
    class Affine3 (line 61) | class Affine3
    class DataType< Affine3<_Tp> > (line 148) | class DataType< Affine3<_Tp> >
  function V (line 450) | inline

FILE: src/3rdparty/opencv/include/opencv2/core/base.hpp
  type cv (line 58) | namespace cv
    type Error (line 64) | namespace Error {
      type Code (line 66) | enum Code {
    type DecompTypes (line 131) | enum DecompTypes {
    type NormTypes (line 186) | enum NormTypes { NORM_INF       = 1,
    type CmpTypes (line 198) | enum CmpTypes { CMP_EQ = 0, //!< src1 is equal to src2.
    type GemmFlags (line 207) | enum GemmFlags { GEMM_1_T = 1, //!< transposes src1
    type DftFlags (line 212) | enum DftFlags {
    type BorderTypes (line 251) | enum BorderTypes {
    type CV_StaticAssert_failed (line 297) | struct CV_StaticAssert_failed
    type CV_StaticAssert_failed<true> (line 298) | struct CV_StaticAssert_failed<true> { enum { val = 1 }; }
    type CV_StaticAssert_test (line 299) | struct CV_StaticAssert_test {}
    function CV_INLINE (line 353) | CV_INLINE CV_NORETURN void errorNoReturn(int _code, const String& _err...
    function Hamming (line 429) | struct CV_EXPORTS Hamming
    function _Tp (line 444) | inline _Tp cv_abs(_Tp x) { return std::abs(x); }
    function cv_abs (line 445) | inline int cv_abs(uchar x) { return x; }
    function cv_abs (line 446) | inline int cv_abs(schar x) { return std::abs(x); }
    function cv_abs (line 447) | inline int cv_abs(ushort x) { return x; }
    function cv_abs (line 448) | inline int cv_abs(short x) { return std::abs(x); }
    function _AccTp (line 450) | static inline
    function _AccTp (line 470) | static inline
    function _AccTp (line 487) | static inline
    function _AccTp (line 496) | static inline
    function normL2Sqr (line 516) | static inline float normL2Sqr(const float* a, const float* b, int n)
    function _AccTp (line 527) | static inline
    function normL1 (line 547) | inline float normL1(const float* a, const float* b, int n)
    function normL1 (line 557) | inline int normL1(const uchar* a, const uchar* b, int n)
    function _AccTp (line 567) | static inline
    class Vec (line 610) | class Vec
    class Matx (line 611) | class Matx
    class Complex (line 613) | class Complex
    class Point_ (line 614) | class Point_
    class Point3_ (line 615) | class Point3_
    class Size_ (line 616) | class Size_
    class Rect_ (line 617) | class Rect_
    class Scalar_ (line 618) | class Scalar_
    class CV_EXPORTS (line 620) | class CV_EXPORTS
    class CV_EXPORTS (line 621) | class CV_EXPORTS
    class CV_EXPORTS (line 622) | class CV_EXPORTS
    class CV_EXPORTS (line 623) | class CV_EXPORTS
    class CV_EXPORTS (line 624) | class CV_EXPORTS
    class CV_EXPORTS (line 625) | class CV_EXPORTS
    class CV_EXPORTS (line 627) | class CV_EXPORTS
    class CV_EXPORTS (line 628) | class CV_EXPORTS
    class CV_EXPORTS (line 630) | class CV_EXPORTS
    class CV_EXPORTS (line 632) | class CV_EXPORTS
    class Mat_ (line 635) | class Mat_
    class SparseMat_ (line 636) | class SparseMat_
    class CV_EXPORTS (line 638) | class CV_EXPORTS
    class CV_EXPORTS (line 639) | class CV_EXPORTS
    class CV_EXPORTS (line 640) | class CV_EXPORTS
    class MatIterator_ (line 641) | class MatIterator_
    class MatConstIterator_ (line 642) | class MatConstIterator_
    class SparseMatIterator_ (line 643) | class SparseMatIterator_
    class SparseMatConstIterator_ (line 644) | class SparseMatConstIterator_
    type ogl (line 646) | namespace ogl
      class CV_EXPORTS (line 648) | class CV_EXPORTS
      class CV_EXPORTS (line 649) | class CV_EXPORTS
      class CV_EXPORTS (line 650) | class CV_EXPORTS
    type cuda (line 653) | namespace cuda
      class CV_EXPORTS (line 655) | class CV_EXPORTS
      class CV_EXPORTS (line 656) | class CV_EXPORTS
      class CV_EXPORTS (line 657) | class CV_EXPORTS
      class CV_EXPORTS (line 658) | class CV_EXPORTS
    type cudev (line 661) | namespace cudev
      class GpuMat_ (line 663) | class GpuMat_
    type ipp (line 666) | namespace ipp

FILE: src/3rdparty/opencv/include/opencv2/core/bufferpool.hpp
  type cv (line 10) | namespace cv
    class BufferPoolController (line 16) | class BufferPoolController

FILE: src/3rdparty/opencv/include/opencv2/core/core_c.h
  function CV_INLINE (line 298) | CV_INLINE  void  cvDecRefData( CvArr* arr )
  function CV_INLINE (line 324) | CV_INLINE  int  cvIncRefData( CvArr* arr )
  function CV_INLINE (line 380) | CV_INLINE  CvMat*  cvGetRow( const CvArr* arr, CvMat* submat, int row )
  function CV_INLINE (line 406) | CV_INLINE  CvMat*  cvGetCol( const CvArr* arr, CvMat* submat, int col )
  function CV_INLINE (line 475) | CV_INLINE  void  cvReleaseMatND( CvMatND** mat )
  function CV_INLINE (line 542) | CV_INLINE CvSparseNode* cvGetNextSparseNode( CvSparseMatIterator* mat_it...
  type CvNArrayIterator (line 566) | typedef struct CvNArrayIterator
  function CV_INLINE (line 1062) | CV_INLINE  void  cvSubS( const CvArr* src, CvScalar value, CvArr* dst,
  function CV_INLINE (line 1737) | CV_INLINE  CvSetElem* cvSetNew( CvSet* set_header )
  function CV_INLINE (line 1752) | CV_INLINE  void cvSetRemoveByPtr( CvSet* set_header, void* elem )
  function CV_INLINE (line 1767) | CV_INLINE CvSetElem* cvGetSetElem( const CvSet* set_header, int idx )
  type CvGraphScanner (line 1860) | typedef struct CvGraphScanner
  type CvTreeNodeIterator (line 1894) | typedef struct CvTreeNodeIterator
  type IplImage (line 1935) | typedef IplImage* (CV_STDCALL* Cv_iplCreateImageHeader)
  type IplROI (line 1940) | typedef IplROI* (CV_STDCALL* Cv_iplCreateROI)(int,int,int,int,int);
  type IplImage (line 1941) | typedef IplImage* (CV_STDCALL* Cv_iplCloneImage)(const IplImage*);
  function CV_INLINE (line 2316) | CV_INLINE int cvReadInt( const CvFileNode* node, int default_value CV_DE...
  function CV_INLINE (line 2331) | CV_INLINE int cvReadIntByName( const CvFileStorage* fs, const CvFileNode...
  function CV_INLINE (line 2347) | CV_INLINE double cvReadReal( const CvFileNode* node, double default_valu...
  function CV_INLINE (line 2362) | CV_INLINE double cvReadRealByName( const CvFileStorage* fs, const CvFile...
  function CV_INLINE (line 2377) | CV_INLINE const char* cvReadString( const CvFileNode* node,
  function CV_INLINE (line 2391) | CV_INLINE const char* cvReadStringByName( const CvFileStorage* fs, const...
  function CV_INLINE (line 2423) | CV_INLINE void* cvReadByName( CvFileStorage* fs, const CvFileNode* map,
  function CvType (line 2741) | struct CV_EXPORTS CvType
  function namespace (line 2757) | namespace cv
  type Ptr (line 2795) | typedef Ptr<CvMemStorage> MemStorage;
  type SeqIterator (line 2811) | typedef SeqIterator<_Tp> const_iterator;
  function _Tp (line 2822) | const _Tp& operator[](int idx) const;

FILE: src/3rdparty/opencv/include/opencv2/core/cuda.hpp
  type cv (line 65) | namespace cv { namespace cuda {
    type cuda (line 65) | namespace cuda {
      function GpuMat (line 96) | class CV_EXPORTS GpuMat
    function HostMem (line 353) | class CV_EXPORTS HostMem
    function Event (line 502) | class CV_EXPORTS Event
    type FeatureSet (line 573) | enum FeatureSet
    function TargetArchs (line 602) | class CV_EXPORTS TargetArchs
    function DeviceInfo (line 629) | class CV_EXPORTS DeviceInfo

FILE: src/3rdparty/opencv/include/opencv2/core/cuda.inl.hpp
  type cv (line 51) | namespace cv { namespace cuda {
    type cuda (line 51) | namespace cuda {
      function GpuMat (line 121) | inline
      function GpuMat (line 153) | inline
      function GpuMat (line 167) | inline
      function GpuMat (line 173) | inline
      function uchar (line 206) | inline
      function uchar (line 213) | inline
      function _Tp (line 220) | inline
      function _Tp (line 226) | inline
      function GpuMat (line 244) | inline
      function GpuMat (line 250) | inline
      function GpuMat (line 256) | inline
      function GpuMat (line 262) | inline
      function GpuMat (line 268) | inline
      function GpuMat (line 274) | inline
      function GpuMat (line 280) | inline
      function GpuMat (line 286) | inline
      function Size (line 334) | inline
      function GpuMat (line 346) | static inline
      function createContinuous (line 354) | static inline
      function GpuMat (line 360) | static inline
      function ensureSizeIsEnough (line 368) | static inline
      function swap (line 374) | static inline
      function HostMem (line 427) | inline
      function HostMem (line 453) | inline
      function Mat (line 467) | inline
      function Size (line 515) | inline
      function swap (line 527) | static inline
  type cv (line 618) | namespace cv {
    type cuda (line 51) | namespace cuda {
      function GpuMat (line 121) | inline
      function GpuMat (line 153) | inline
      function GpuMat (line 167) | inline
      function GpuMat (line 173) | inline
      function uchar (line 206) | inline
      function uchar (line 213) | inline
      function _Tp (line 220) | inline
      function _Tp (line 226) | inline
      function GpuMat (line 244) | inline
      function GpuMat (line 250) | inline
      function GpuMat (line 256) | inline
      function GpuMat (line 262) | inline
      function GpuMat (line 268) | inline
      function GpuMat (line 274) | inline
      function GpuMat (line 280) | inline
      function GpuMat (line 286) | inline
      function Size (line 334) | inline
      function GpuMat (line 346) | static inline
      function createContinuous (line 354) | static inline
      function GpuMat (line 360) | static inline
      function ensureSizeIsEnough (line 368) | static inline
      function swap (line 374) | static inline
      function HostMem (line 427) | inline
      function HostMem (line 453) | inline
      function Mat (line 467) | inline
      function Size (line 515) | inline
      function swap (line 527) | static inline

FILE: src/3rdparty/opencv/include/opencv2/core/cuda/block.hpp
  type cv (line 52) | namespace cv { namespace cuda { namespace device
    type cuda (line 52) | namespace cuda { namespace device
      type device (line 52) | namespace device
        type Block (line 54) | struct Block
          method id (line 56) | unsigned int id()
          method stride (line 61) | unsigned int stride()
          method sync (line 66) | void sync()
          method flattenedThreadId (line 71) | int flattenedThreadId()
          method __device__ (line 77) | static __device__ __forceinline__ void fill(It beg, It end, cons...
          method __device__ (line 87) | static __device__ __forceinline__ void yota(OutIt beg, OutIt end...
          method __device__ (line 98) | static __device__ __forceinline__ void copy(InIt beg, InIt end, ...
          method __device__ (line 109) | static __device__ __forceinline__ void transfrom(InIt beg, InIt ...
          method __device__ (line 120) | static __device__ __forceinline__ void transfrom(InIt1 beg1, InI...
          method __device__ (line 132) | static __device__ __forceinline__ void reduce(volatile T* buffer...
          method __device__ (line 154) | static __device__ __forceinline__ T reduce(volatile T* buffer, T...
          method __device__ (line 179) | static __device__ __forceinline__ void reduce_n(T* data, unsigne...

FILE: src/3rdparty/opencv/include/opencv2/core/cuda/border_interpolate.hpp
  type cv (line 56) | namespace cv { namespace cuda { namespace device
    type cuda (line 56) | namespace cuda { namespace device
      type device (line 56) | namespace device
        type BrdRowConstant (line 61) | struct BrdRowConstant
          method BrdRowConstant (line 65) | explicit __host__ __device__ __forceinline__ BrdRowConstant(int ...
          method __device__ (line 67) | __device__ __forceinline__ D at_low(int x, const T* data) const
          method __device__ (line 72) | __device__ __forceinline__ D at_high(int x, const T* data) const
          method __device__ (line 77) | __device__ __forceinline__ D at(int x, const T* data) const
        type BrdColConstant (line 86) | struct BrdColConstant
          method BrdColConstant (line 90) | explicit __host__ __device__ __forceinline__ BrdColConstant(int ...
          method __device__ (line 92) | __device__ __forceinline__ D at_low(int y, const T* data, size_t...
          method __device__ (line 97) | __device__ __forceinline__ D at_high(int y, const T* data, size_...
          method __device__ (line 102) | __device__ __forceinline__ D at(int y, const T* data, size_t ste...
        type BrdConstant (line 111) | struct BrdConstant
          method __device__ (line 119) | __device__ __forceinline__ D at(int y, int x, const T* data, siz...
          method __device__ (line 124) | __device__ __forceinline__ D at(typename Ptr2D::index_type y, ty...
        type BrdRowReplicate (line 137) | struct BrdRowReplicate
          method BrdRowReplicate (line 141) | explicit __host__ __device__ __forceinline__ BrdRowReplicate(int...
          method __host__ (line 142) | __host__ __device__ __forceinline__ BrdRowReplicate(int width, U...
          method idx_col_high (line 149) | int idx_col_high(int x) const
          method idx_col (line 154) | int idx_col(int x) const
          method __device__ (line 159) | __device__ __forceinline__ D at_low(int x, const T* data) const
          method __device__ (line 164) | __device__ __forceinline__ D at_high(int x, const T* data) const
          method __device__ (line 169) | __device__ __forceinline__ D at(int x, const T* data) const
        type BrdColReplicate (line 177) | struct BrdColReplicate
          method BrdColReplicate (line 181) | explicit __host__ __device__ __forceinline__ BrdColReplicate(int...
          method __host__ (line 182) | __host__ __device__ __forceinline__ BrdColReplicate(int height, ...
          method idx_row_high (line 189) | int idx_row_high(int y) const
          method idx_row (line 194) | int idx_row(int y) const
          method __device__ (line 199) | __device__ __forceinline__ D at_low(int y, const T* data, size_t...
          method __device__ (line 204) | __device__ __forceinline__ D at_high(int y, const T* data, size_...
          method __device__ (line 209) | __device__ __forceinline__ D at(int y, const T* data, size_t ste...
        type BrdReplicate (line 217) | struct BrdReplicate
          method __host__ (line 222) | __host__ __device__ __forceinline__ BrdReplicate(int height, int...
          method idx_row_high (line 229) | int idx_row_high(int y) const
          method idx_row (line 234) | int idx_row(int y) const
          method idx_col_low (line 239) | int idx_col_low(int x) const
          method idx_col_high (line 244) | int idx_col_high(int x) const
          method idx_col (line 249) | int idx_col(int x) const
          method __device__ (line 254) | __device__ __forceinline__ D at(int y, int x, const T* data, siz...
          method __device__ (line 259) | __device__ __forceinline__ D at(typename Ptr2D::index_type y, ty...
        type BrdRowReflect101 (line 271) | struct BrdRowReflect101
          method BrdRowReflect101 (line 275) | explicit __host__ __device__ __forceinline__ BrdRowReflect101(in...
          method __host__ (line 276) | __host__ __device__ __forceinline__ BrdRowReflect101(int width, ...
          method idx_col_high (line 283) | int idx_col_high(int x) const
          method idx_col (line 288) | int idx_col(int x) const
          method __device__ (line 293) | __device__ __forceinline__ D at_low(int x, const T* data) const
          method __device__ (line 298) | __device__ __forceinline__ D at_high(int x, const T* data) const
          method __device__ (line 303) | __device__ __forceinline__ D at(int x, const T* data) const
        type BrdColReflect101 (line 311) | struct BrdColReflect101
          method BrdColReflect101 (line 315) | explicit __host__ __device__ __forceinline__ BrdColReflect101(in...
          method __host__ (line 316) | __host__ __device__ __forceinline__ BrdColReflect101(int height,...
          method idx_row_high (line 323) | int idx_row_high(int y) const
          method idx_row (line 328) | int idx_row(int y) const
          method __device__ (line 333) | __device__ __forceinline__ D at_low(int y, const T* data, size_t...
          method __device__ (line 338) | __device__ __forceinline__ D at_high(int y, const T* data, size_...
          method __device__ (line 343) | __device__ __forceinline__ D at(int y, const T* data, size_t ste...
        type BrdReflect101 (line 351) | struct BrdReflect101
          method __host__ (line 356) | __host__ __device__ __forceinline__ BrdReflect101(int height, in...
          method idx_row_high (line 363) | int idx_row_high(int y) const
          method idx_row (line 368) | int idx_row(int y) const
          method idx_col_low (line 373) | int idx_col_low(int x) const
          method idx_col_high (line 378) | int idx_col_high(int x) const
          method idx_col (line 383) | int idx_col(int x) const
          method __device__ (line 388) | __device__ __forceinline__ D at(int y, int x, const T* data, siz...
          method __device__ (line 393) | __device__ __forceinline__ D at(typename Ptr2D::index_type y, ty...
        type BrdRowReflect (line 405) | struct BrdRowReflect
          method BrdRowReflect (line 409) | explicit __host__ __device__ __forceinline__ BrdRowReflect(int w...
          method __host__ (line 410) | __host__ __device__ __forceinline__ BrdRowReflect(int width, U) ...
          method idx_col_high (line 417) | int idx_col_high(int x) const
          method idx_col (line 422) | int idx_col(int x) const
          method __device__ (line 427) | __device__ __forceinline__ D at_low(int x, const T* data) const
          method __device__ (line 432) | __device__ __forceinline__ D at_high(int x, const T* data) const
          method __device__ (line 437) | __device__ __forceinline__ D at(int x, const T* data) const
        type BrdColReflect (line 445) | struct BrdColReflect
          method BrdColReflect (line 449) | explicit __host__ __device__ __forceinline__ BrdColReflect(int h...
          method __host__ (line 450) | __host__ __device__ __forceinline__ BrdColReflect(int height, U)...
          method idx_row_high (line 457) | int idx_row_high(int y) const
          method idx_row (line 462) | int idx_row(int y) const
          method __device__ (line 467) | __device__ __forceinline__ D at_low(int y, const T* data, size_t...
          method __device__ (line 472) | __device__ __forceinline__ D at_high(int y, const T* data, size_...
          method __device__ (line 477) | __device__ __forceinline__ D at(int y, const T* data, size_t ste...
        type BrdReflect (line 485) | struct BrdReflect
          method __host__ (line 490) | __host__ __device__ __forceinline__ BrdReflect(int height, int w...
          method idx_row_high (line 497) | int idx_row_high(int y) const
          method idx_row (line 502) | int idx_row(int y) const
          method idx_col_low (line 507) | int idx_col_low(int x) const
          method idx_col_high (line 512) | int idx_col_high(int x) const
          method idx_col (line 517) | int idx_col(int x) const
          method __device__ (line 522) | __device__ __forceinline__ D at(int y, int x, const T* data, siz...
          method __device__ (line 527) | __device__ __forceinline__ D at(typename Ptr2D::index_type y, ty...
        type BrdRowWrap (line 539) | struct BrdRowWrap
          method BrdRowWrap (line 543) | explicit __host__ __device__ __forceinline__ BrdRowWrap(int widt...
          method __host__ (line 544) | __host__ __device__ __forceinline__ BrdRowWrap(int width_, U) : ...
          method idx_col_low (line 546) | int idx_col_low(int x) const
          method idx_col_high (line 551) | int idx_col_high(int x) const
          method idx_col (line 556) | int idx_col(int x) const
          method __device__ (line 561) | __device__ __forceinline__ D at_low(int x, const T* data) const
          method __device__ (line 566) | __device__ __forceinline__ D at_high(int x, const T* data) const
          method __device__ (line 571) | __device__ __forceinline__ D at(int x, const T* data) const
        type BrdColWrap (line 579) | struct BrdColWrap
          method BrdColWrap (line 583) | explicit __host__ __device__ __forceinline__ BrdColWrap(int heig...
          method __host__ (line 584) | __host__ __device__ __forceinline__ BrdColWrap(int height_, U) :...
          method idx_row_low (line 586) | int idx_row_low(int y) const
          method idx_row_high (line 591) | int idx_row_high(int y) const
          method idx_row (line 596) | int idx_row(int y) const
          method __device__ (line 601) | __device__ __forceinline__ D at_low(int y, const T* data, size_t...
          method __device__ (line 606) | __device__ __forceinline__ D at_high(int y, const T* data, size_...
          method __device__ (line 611) | __device__ __forceinline__ D at(int y, const T* data, size_t ste...
        type BrdWrap (line 619) | struct BrdWrap
          method idx_row_low (line 633) | int idx_row_low(int y) const
          method idx_row_high (line 638) | int idx_row_high(int y) const
          method idx_row (line 643) | int idx_row(int y) const
          method idx_col_low (line 648) | int idx_col_low(int x) const
          method idx_col_high (line 653) | int idx_col_high(int x) const
          method idx_col (line 658) | int idx_col(int x) const
          method __device__ (line 663) | __device__ __forceinline__ D at(int y, int x, const T* data, siz...
          method __device__ (line 668) | __device__ __forceinline__ D at(typename Ptr2D::index_type y, ty...
        type BorderReader (line 680) | struct BorderReader
          method elem_type (line 687) | elem_type operator ()(index_type y, index_type x) const
        type BorderReader< Ptr2D, BrdConstant<D> > (line 698) | struct BorderReader< Ptr2D, BrdConstant<D> >
          method D (line 708) | D operator ()(index_type y, index_type x) const

FILE: src/3rdparty/opencv/include/opencv2/core/cuda/color.hpp
  type cv (line 54) | namespace cv { namespace cuda { namespace device
    type cuda (line 54) | namespace cuda { namespace device
      type device (line 54) | namespace device

FILE: src/3rdparty/opencv/include/opencv2/core/cuda/common.hpp
  type cv (line 65) | namespace cv { namespace cuda {
    type cuda (line 65) | namespace cuda {
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
    type cuda (line 77) | namespace cuda
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
    type cuda (line 90) | namespace cuda
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
  type cv (line 77) | namespace cv { namespace cuda
    type cuda (line 65) | namespace cuda {
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
    type cuda (line 77) | namespace cuda
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
    type cuda (line 90) | namespace cuda
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
  type cv (line 90) | namespace cv { namespace cuda
    type cuda (line 65) | namespace cuda {
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
    type cuda (line 77) | namespace cuda
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...
    type cuda (line 90) | namespace cuda
      function checkCudaError (line 66) | static inline void checkCudaError(cudaError_t err, const char* file,...
      function isAligned (line 79) | static inline bool isAligned(const T* ptr, size_t size)
      function isAligned (line 84) | static inline bool isAligned(size_t step, size_t size)
      type device (line 92) | namespace device
        function __host__ (line 94) | __host__ __device__ __forceinline__ int divUp(int total, int grain)
        function bindTexture (line 99) | inline void bindTexture(const textureReference* tex, const PtrStep...

FILE: src/3rdparty/opencv/include/opencv2/core/cuda/datamov_utils.hpp
  type cv (line 54) | namespace cv { namespace cuda { namespace device
    type cuda (line 54) | namespace cuda { namespace device
      type device (line 54) | namespace device
        type ForceGlob (line 59) | struct ForceGlob
          method Load (line 61) | static void Load(const T* ptr, int offset, T& val)  { val = ptr[...
        type ForceGlob (line 74) | struct ForceGlob
          method Load (line 61) | static void Load(const T* ptr, int offset, T& val)  { val = ptr[...

FILE: src/3rdparty/opencv/include/opencv2/core/cuda/detail/color_detail.hpp
  type cv (line 54) | namespace cv { namespace cuda { namespace device
    type cuda (line 54) | namespace cuda { namespace device
      type device (line 54) | namespace device
        type color_detail (line 60) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __device__ __forceinline__ void Lab2RGBConvert_f(const T& src, D...
          function __device__ (line 1715) | __device__ __forceinline__ void Lab2RGBConvert_b(const T& src, D...
          type Lab2RGB (line 1731) | struct Lab2RGB
          type Lab2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1733) | struct Lab2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1744) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1745) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          type Lab2RGB<float, scn, dcn, srgb, blueIdx> (line 1748) | struct Lab2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1759) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1760) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          function __device__ (line 1781) | __device__ __forceinline__ void RGB2LuvConvert_f(const T& src, D...
          function __device__ (line 1815) | __device__ __forceinline__ void RGB2LuvConvert_b(const T& src, D...
          type RGB2Luv (line 1830) | struct RGB2Luv
          type RGB2Luv<uchar, scn, dcn, srgb, blueIdx> (line 1832) | struct RGB2Luv<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1843) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1844) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          type RGB2Luv<float, scn, dcn, srgb, blueIdx> (line 1847) | struct RGB2Luv<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1858) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1859) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          function __device__ (line 1876) | __device__ __forceinline__ void Luv2RGBConvert_f(const T& src, D...
          function __device__ (line 1915) | __device__ __forceinline__ void Luv2RGBConvert_b(const T& src, D...
          type Luv2RGB (line 1931) | struct Luv2RGB
          type Luv2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1933) | struct Luv2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1944) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1945) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
          type Luv2RGB<float, scn, dcn, srgb, blueIdx> (line 1948) | struct Luv2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1959) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1960) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
        type color_detail (line 108) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __device__ __forceinline__ void Lab2RGBConvert_f(const T& src, D...
          function __device__ (line 1715) | __device__ __forceinline__ void Lab2RGBConvert_b(const T& src, D...
          type Lab2RGB (line 1731) | struct Lab2RGB
          type Lab2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1733) | struct Lab2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1744) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1745) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          type Lab2RGB<float, scn, dcn, srgb, blueIdx> (line 1748) | struct Lab2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1759) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1760) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          function __device__ (line 1781) | __device__ __forceinline__ void RGB2LuvConvert_f(const T& src, D...
          function __device__ (line 1815) | __device__ __forceinline__ void RGB2LuvConvert_b(const T& src, D...
          type RGB2Luv (line 1830) | struct RGB2Luv
          type RGB2Luv<uchar, scn, dcn, srgb, blueIdx> (line 1832) | struct RGB2Luv<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1843) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1844) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          type RGB2Luv<float, scn, dcn, srgb, blueIdx> (line 1847) | struct RGB2Luv<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1858) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1859) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          function __device__ (line 1876) | __device__ __forceinline__ void Luv2RGBConvert_f(const T& src, D...
          function __device__ (line 1915) | __device__ __forceinline__ void Luv2RGBConvert_b(const T& src, D...
          type Luv2RGB (line 1931) | struct Luv2RGB
          type Luv2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1933) | struct Luv2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1944) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1945) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
          type Luv2RGB<float, scn, dcn, srgb, blueIdx> (line 1948) | struct Luv2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1959) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1960) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
        type color_detail (line 160) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __device__ __forceinline__ void Lab2RGBConvert_f(const T& src, D...
          function __device__ (line 1715) | __device__ __forceinline__ void Lab2RGBConvert_b(const T& src, D...
          type Lab2RGB (line 1731) | struct Lab2RGB
          type Lab2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1733) | struct Lab2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1744) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1745) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          type Lab2RGB<float, scn, dcn, srgb, blueIdx> (line 1748) | struct Lab2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1759) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1760) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          function __device__ (line 1781) | __device__ __forceinline__ void RGB2LuvConvert_f(const T& src, D...
          function __device__ (line 1815) | __device__ __forceinline__ void RGB2LuvConvert_b(const T& src, D...
          type RGB2Luv (line 1830) | struct RGB2Luv
          type RGB2Luv<uchar, scn, dcn, srgb, blueIdx> (line 1832) | struct RGB2Luv<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1843) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1844) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          type RGB2Luv<float, scn, dcn, srgb, blueIdx> (line 1847) | struct RGB2Luv<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1858) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1859) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          function __device__ (line 1876) | __device__ __forceinline__ void Luv2RGBConvert_f(const T& src, D...
          function __device__ (line 1915) | __device__ __forceinline__ void Luv2RGBConvert_b(const T& src, D...
          type Luv2RGB (line 1931) | struct Luv2RGB
          type Luv2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1933) | struct Luv2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1944) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1945) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
          type Luv2RGB<float, scn, dcn, srgb, blueIdx> (line 1948) | struct Luv2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1959) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1960) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
        type color_detail (line 231) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __device__ __forceinline__ void Lab2RGBConvert_f(const T& src, D...
          function __device__ (line 1715) | __device__ __forceinline__ void Lab2RGBConvert_b(const T& src, D...
          type Lab2RGB (line 1731) | struct Lab2RGB
          type Lab2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1733) | struct Lab2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1744) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1745) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          type Lab2RGB<float, scn, dcn, srgb, blueIdx> (line 1748) | struct Lab2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1759) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1760) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          function __device__ (line 1781) | __device__ __forceinline__ void RGB2LuvConvert_f(const T& src, D...
          function __device__ (line 1815) | __device__ __forceinline__ void RGB2LuvConvert_b(const T& src, D...
          type RGB2Luv (line 1830) | struct RGB2Luv
          type RGB2Luv<uchar, scn, dcn, srgb, blueIdx> (line 1832) | struct RGB2Luv<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1843) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1844) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          type RGB2Luv<float, scn, dcn, srgb, blueIdx> (line 1847) | struct RGB2Luv<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1858) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1859) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          function __device__ (line 1876) | __device__ __forceinline__ void Luv2RGBConvert_f(const T& src, D...
          function __device__ (line 1915) | __device__ __forceinline__ void Luv2RGBConvert_b(const T& src, D...
          type Luv2RGB (line 1931) | struct Luv2RGB
          type Luv2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1933) | struct Luv2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1944) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1945) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
          type Luv2RGB<float, scn, dcn, srgb, blueIdx> (line 1948) | struct Luv2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1959) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1960) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
        type color_detail (line 314) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __device__ __forceinline__ void Lab2RGBConvert_f(const T& src, D...
          function __device__ (line 1715) | __device__ __forceinline__ void Lab2RGBConvert_b(const T& src, D...
          type Lab2RGB (line 1731) | struct Lab2RGB
          type Lab2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1733) | struct Lab2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1744) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1745) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          type Lab2RGB<float, scn, dcn, srgb, blueIdx> (line 1748) | struct Lab2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1759) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1760) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          function __device__ (line 1781) | __device__ __forceinline__ void RGB2LuvConvert_f(const T& src, D...
          function __device__ (line 1815) | __device__ __forceinline__ void RGB2LuvConvert_b(const T& src, D...
          type RGB2Luv (line 1830) | struct RGB2Luv
          type RGB2Luv<uchar, scn, dcn, srgb, blueIdx> (line 1832) | struct RGB2Luv<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1843) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1844) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          type RGB2Luv<float, scn, dcn, srgb, blueIdx> (line 1847) | struct RGB2Luv<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1858) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1859) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          function __device__ (line 1876) | __device__ __forceinline__ void Luv2RGBConvert_f(const T& src, D...
          function __device__ (line 1915) | __device__ __forceinline__ void Luv2RGBConvert_b(const T& src, D...
          type Luv2RGB (line 1931) | struct Luv2RGB
          type Luv2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1933) | struct Luv2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1944) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1945) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
          type Luv2RGB<float, scn, dcn, srgb, blueIdx> (line 1948) | struct Luv2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1959) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1960) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
        type color_detail (line 358) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __device__ __forceinline__ void Lab2RGBConvert_f(const T& src, D...
          function __device__ (line 1715) | __device__ __forceinline__ void Lab2RGBConvert_b(const T& src, D...
          type Lab2RGB (line 1731) | struct Lab2RGB
          type Lab2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1733) | struct Lab2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1744) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1745) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          type Lab2RGB<float, scn, dcn, srgb, blueIdx> (line 1748) | struct Lab2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1759) | __forceinline__ Lab2RGB() {}
            method __forceinline__ (line 1760) | __forceinline__ Lab2RGB(const Lab2RGB&) {}
          function __device__ (line 1781) | __device__ __forceinline__ void RGB2LuvConvert_f(const T& src, D...
          function __device__ (line 1815) | __device__ __forceinline__ void RGB2LuvConvert_b(const T& src, D...
          type RGB2Luv (line 1830) | struct RGB2Luv
          type RGB2Luv<uchar, scn, dcn, srgb, blueIdx> (line 1832) | struct RGB2Luv<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1843) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1844) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          type RGB2Luv<float, scn, dcn, srgb, blueIdx> (line 1847) | struct RGB2Luv<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1858) | __forceinline__ RGB2Luv() {}
            method __forceinline__ (line 1859) | __forceinline__ RGB2Luv(const RGB2Luv&) {}
          function __device__ (line 1876) | __device__ __forceinline__ void Luv2RGBConvert_f(const T& src, D...
          function __device__ (line 1915) | __device__ __forceinline__ void Luv2RGBConvert_b(const T& src, D...
          type Luv2RGB (line 1931) | struct Luv2RGB
          type Luv2RGB<uchar, scn, dcn, srgb, blueIdx> (line 1933) | struct Luv2RGB<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1944) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1945) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
          type Luv2RGB<float, scn, dcn, srgb, blueIdx> (line 1948) | struct Luv2RGB<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1959) | __forceinline__ Luv2RGB() {}
            method __forceinline__ (line 1960) | __forceinline__ Luv2RGB(const Luv2RGB&) {}
        type color_detail (line 402) | namespace color_detail
          type ColorChannel (line 62) | struct ColorChannel
            method T (line 65) | T max() { return numeric_limits<T>::max(); }
            method T (line 66) | T half() { return (T)(max()/2 + 1); }
          type ColorChannel<float> (line 69) | struct ColorChannel<float>
            method max (line 72) | float max() { return 1.f; }
            method half (line 73) | float half() { return 0.5f; }
          function __device__ (line 76) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 80) | static __device__ __forceinline__ void setAlpha(typename TypeVec...
          function __device__ (line 85) | static __device__ __forceinline__ T getAlpha(const typename Type...
          function __device__ (line 90) | static __device__ __forceinline__ T getAlpha(const typename Type...
          type RGB2RGB (line 110) | struct RGB2RGB
            method __forceinline__ (line 125) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 126) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB<uchar, 4, 4, 2> (line 129) | struct RGB2RGB<uchar, 4, 4, 2> : unary_function<uint, uint>
            method __device__ (line 131) | __device__ uint operator()(uint src) const
            method __forceinline__ (line 143) | __forceinline__ RGB2RGB() {}
            method __forceinline__ (line 144) | __forceinline__ RGB2RGB(const RGB2RGB&) {}
          type RGB2RGB5x5Converter (line 162) | struct RGB2RGB5x5Converter
          type RGB2RGB5x5Converter<6, bidx> (line 163) | struct RGB2RGB5x5Converter<6, bidx>
            method ushort (line 165) | ushort cvt(const uchar3& src)
            method ushort (line 170) | ushort cvt(uint src)
          type RGB2RGB5x5Converter<5, bidx> (line 179) | struct RGB2RGB5x5Converter<5, bidx>
            method ushort (line 181) | ushort cvt(const uchar3& src)
            method ushort (line 186) | ushort cvt(uint src)
          type RGB2RGB5x5 (line 196) | struct RGB2RGB5x5
          type RGB2RGB5x5<3, bidx,green_bits> (line 198) | struct RGB2RGB5x5<3, bidx,green_bits> : unary_function<uchar3, u...
            method ushort (line 200) | ushort operator()(const uchar3& src) const
            method __forceinline__ (line 205) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 206) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB2RGB5x5<4, bidx,green_bits> (line 209) | struct RGB2RGB5x5<4, bidx,green_bits> : unary_function<uint, ush...
            method ushort (line 211) | ushort operator()(uint src) const
            method __forceinline__ (line 216) | __forceinline__ RGB2RGB5x5() {}
            method __forceinline__ (line 217) | __forceinline__ RGB2RGB5x5(const RGB2RGB5x5&) {}
          type RGB5x52RGBConverter (line 233) | struct RGB5x52RGBConverter
          type RGB5x52RGBConverter<5, bidx> (line 235) | struct RGB5x52RGBConverter<5, bidx>
            method cvt (line 237) | void cvt(uint src, uchar3& dst)
            method cvt (line 244) | void cvt(uint src, uint& dst)
          type RGB5x52RGBConverter<6, bidx> (line 255) | struct RGB5x52RGBConverter<6, bidx>
            method cvt (line 257) | void cvt(uint src, uchar3& dst)
            method cvt (line 264) | void cvt(uint src, uint& dst)
          type RGB5x52RGB (line 274) | struct RGB5x52RGB
          type RGB5x52RGB<3, bidx, green_bits> (line 276) | struct RGB5x52RGB<3, bidx, green_bits> : unary_function<ushort, ...
            method uchar3 (line 278) | uchar3 operator()(ushort src) const
            method __forceinline__ (line 284) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 285) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type RGB5x52RGB<4, bidx, green_bits> (line 289) | struct RGB5x52RGB<4, bidx, green_bits> : unary_function<ushort, ...
            method uint (line 291) | uint operator()(ushort src) const
            method __forceinline__ (line 297) | __forceinline__ RGB5x52RGB() {}
            method __forceinline__ (line 298) | __forceinline__ RGB5x52RGB(const RGB5x52RGB&) {}
          type Gray2RGB (line 316) | struct Gray2RGB : unary_function<T, typename TypeVec<T, dcn>::ve...
            method __forceinline__ (line 327) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 328) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB<uchar, 4> (line 331) | struct Gray2RGB<uchar, 4> : unary_function<uchar, uint>
            method uint (line 333) | uint operator()(uint src) const
            method __forceinline__ (line 343) | __forceinline__ Gray2RGB() {}
            method __forceinline__ (line 344) | __forceinline__ Gray2RGB(const Gray2RGB&) {}
          type Gray2RGB5x5Converter (line 360) | struct Gray2RGB5x5Converter
          type Gray2RGB5x5Converter<6> (line 361) | struct Gray2RGB5x5Converter<6>
            method ushort (line 363) | ushort cvt(uint t)
          type Gray2RGB5x5Converter<5> (line 369) | struct Gray2RGB5x5Converter<5>
            method ushort (line 371) | ushort cvt(uint t)
          type Gray2RGB5x5 (line 378) | struct Gray2RGB5x5 : unary_function<uchar, ushort>
            method ushort (line 380) | ushort operator()(uint src) const
            method __forceinline__ (line 385) | __forceinline__ Gray2RGB5x5() {}
            method __forceinline__ (line 386) | __forceinline__ Gray2RGB5x5(const Gray2RGB5x5&) {}
          type RGB5x52GrayConverter (line 404) | struct RGB5x52GrayConverter
          type RGB5x52GrayConverter<6> (line 405) | struct RGB5x52GrayConverter<6>
            method uchar (line 407) | uchar cvt(uint t)
          type RGB5x52GrayConverter<5> (line 413) | struct RGB5x52GrayConverter<5>
            method uchar (line 415) | uchar cvt(uint t)
          type RGB5x52Gray (line 421) | struct RGB5x52Gray : unary_function<ushort, uchar>
            method uchar (line 423) | uchar operator()(uint src) const
            method __forceinline__ (line 427) | __forceinline__ RGB5x52Gray() {}
            method __forceinline__ (line 428) | __forceinline__ RGB5x52Gray(const RGB5x52Gray&) {}
          function __device__ (line 444) | static __device__ __forceinline__ T RGB2GrayConvert(const T* src)
          function __device__ (line 449) | static __device__ __forceinline__ uchar RGB2GrayConvert(uint src)
          function __device__ (line 457) | static __device__ __forceinline__ float RGB2GrayConvert(const fl...
          type RGB2Gray (line 462) | struct RGB2Gray : unary_function<typename TypeVec<T, scn>::vec_t...
            method T (line 464) | T operator()(const typename TypeVec<T, scn>::vec_type& src) const
            method __forceinline__ (line 468) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 469) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          type RGB2Gray<uchar, 4, bidx> (line 472) | struct RGB2Gray<uchar, 4, bidx> : unary_function<uint, uchar>
            method uchar (line 474) | uchar operator()(uint src) const
            method __forceinline__ (line 478) | __forceinline__ RGB2Gray() {}
            method __forceinline__ (line 479) | __forceinline__ RGB2Gray(const RGB2Gray&) {}
          function __device__ (line 500) | static __device__ void RGB2YUVConvert(const T* src, D& dst)
          function __device__ (line 513) | static __device__ __forceinline__ void RGB2YUVConvert(const floa...
          type RGB2YUV (line 520) | struct RGB2YUV
            method __forceinline__ (line 529) | __forceinline__ RGB2YUV() {}
            method __forceinline__ (line 530) | __forceinline__ RGB2YUV(const RGB2YUV&) {}
          function __device__ (line 549) | static __device__ void YUV2RGBConvert(const T& src, D* dst)
          function __device__ (line 563) | static __device__ uint YUV2RGBConvert(uint src)
          function __device__ (line 585) | static __device__ __forceinline__ void YUV2RGBConvert(const T& s...
          type YUV2RGB (line 595) | struct YUV2RGB
            method __forceinline__ (line 607) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 608) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          type YUV2RGB<uchar, 4, 4, bidx> (line 611) | struct YUV2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 613) | uint operator ()(uint src) const
            method __forceinline__ (line 617) | __forceinline__ YUV2RGB() {}
            method __forceinline__ (line 618) | __forceinline__ YUV2RGB(const YUV2RGB&) {}
          function __device__ (line 639) | static __device__ void RGB2YCrCbConvert(const T* src, D& dst)
          function __device__ (line 652) | static __device__ uint RGB2YCrCbConvert(uint src)
          function __device__ (line 669) | static __device__ __forceinline__ void RGB2YCrCbConvert(const fl...
          type RGB2YCrCb (line 676) | struct RGB2YCrCb
            method __forceinline__ (line 685) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 686) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          type RGB2YCrCb<uchar, 4, 4, bidx> (line 689) | struct RGB2YCrCb<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 691) | uint operator ()(uint src) const
            method __forceinline__ (line 696) | __forceinline__ RGB2YCrCb() {}
            method __forceinline__ (line 697) | __forceinline__ RGB2YCrCb(const RGB2YCrCb&) {}
          function __device__ (line 716) | static __device__ void YCrCb2RGBConvert(const T& src, D* dst)
          function __device__ (line 727) | static __device__ uint YCrCb2RGBConvert(uint src)
          function __device__ (line 746) | __device__ __forceinline__ void YCrCb2RGBConvert(const T& src, f...
          type YCrCb2RGB (line 753) | struct YCrCb2RGB
            method __forceinline__ (line 765) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 766) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          type YCrCb2RGB<uchar, 4, 4, bidx> (line 769) | struct YCrCb2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 771) | uint operator ()(uint src) const
            method __forceinline__ (line 775) | __forceinline__ YCrCb2RGB() {}
            method __forceinline__ (line 776) | __forceinline__ YCrCb2RGB(const YCrCb2RGB&) {}
          function __device__ (line 797) | static __device__ __forceinline__ void RGB2XYZConvert(const T* s...
          function __device__ (line 804) | static __device__ __forceinline__ uint RGB2XYZConvert(uint src)
          function __device__ (line 823) | static __device__ __forceinline__ void RGB2XYZConvert(const floa...
          type RGB2XYZ (line 830) | struct RGB2XYZ
            method __forceinline__ (line 841) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 842) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          type RGB2XYZ<uchar, 4, 4, bidx> (line 845) | struct RGB2XYZ<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 847) | uint operator()(uint src) const
            method __forceinline__ (line 851) | __forceinline__ RGB2XYZ() {}
            method __forceinline__ (line 852) | __forceinline__ RGB2XYZ(const RGB2XYZ&) {}
          function __device__ (line 871) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          function __device__ (line 878) | static __device__ __forceinline__ uint XYZ2RGBConvert(uint src)
          function __device__ (line 897) | static __device__ __forceinline__ void XYZ2RGBConvert(const T& s...
          type XYZ2RGB (line 904) | struct XYZ2RGB
            method __forceinline__ (line 916) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 917) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          type XYZ2RGB<uchar, 4, 4, bidx> (line 920) | struct XYZ2RGB<uchar, 4, 4, bidx> : unary_function<uint, uint>
            method uint (line 922) | uint operator()(uint src) const
            method __forceinline__ (line 926) | __forceinline__ XYZ2RGB() {}
            method __forceinline__ (line 927) | __forceinline__ XYZ2RGB(const XYZ2RGB&) {}
          function __device__ (line 949) | static __device__ void RGB2HSVConvert(const uchar* src, D& dst)
          function __device__ (line 978) | static __device__ uint RGB2HSVConvert(uint src)
          function __device__ (line 1014) | static __device__ void RGB2HSVConvert(const float* src, D& dst)
          type RGB2HSV (line 1043) | struct RGB2HSV
            method __forceinline__ (line 1054) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1055) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          type RGB2HSV<uchar, 4, 4, bidx, hr> (line 1058) | struct RGB2HSV<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1060) | uint operator()(uint src) const
            method __forceinline__ (line 1064) | __forceinline__ RGB2HSV() {}
            method __forceinline__ (line 1065) | __forceinline__ RGB2HSV(const RGB2HSV&) {}
          function __device__ (line 1107) | static __device__ void HSV2RGBConvert(const T& src, float* dst)
          function __device__ (line 1148) | static __device__ void HSV2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1163) | static __device__ uint HSV2RGBConvert(uint src)
          type HSV2RGB (line 1182) | struct HSV2RGB
            method __forceinline__ (line 1194) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1195) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          type HSV2RGB<uchar, 4, 4, bidx, hr> (line 1198) | struct HSV2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1200) | uint operator()(uint src) const
            method __forceinline__ (line 1204) | __forceinline__ HSV2RGB() {}
            method __forceinline__ (line 1205) | __forceinline__ HSV2RGB(const HSV2RGB&) {}
          function __device__ (line 1247) | static __device__ void RGB2HLSConvert(const float* src, D& dst)
          function __device__ (line 1282) | static __device__ void RGB2HLSConvert(const uchar* src, D& dst)
          function __device__ (line 1297) | static __device__ uint RGB2HLSConvert(uint src)
          type RGB2HLS (line 1316) | struct RGB2HLS
            method __forceinline__ (line 1327) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1328) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          type RGB2HLS<uchar, 4, 4, bidx, hr> (line 1331) | struct RGB2HLS<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1333) | uint operator()(uint src) const
            method __forceinline__ (line 1337) | __forceinline__ RGB2HLS() {}
            method __forceinline__ (line 1338) | __forceinline__ RGB2HLS(const RGB2HLS&) {}
          function __device__ (line 1380) | static __device__ void HLS2RGBConvert(const T& src, float* dst)
          function __device__ (line 1421) | static __device__ void HLS2RGBConvert(const T& src, uchar* dst)
          function __device__ (line 1436) | static __device__ uint HLS2RGBConvert(uint src)
          type HLS2RGB (line 1455) | struct HLS2RGB
            method __forceinline__ (line 1467) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1468) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          type HLS2RGB<uchar, 4, 4, bidx, hr> (line 1471) | struct HLS2RGB<uchar, 4, 4, bidx, hr> : unary_function<uint, uint>
            method uint (line 1473) | uint operator()(uint src) const
            method __forceinline__ (line 1477) | __forceinline__ HLS2RGB() {}
            method __forceinline__ (line 1478) | __forceinline__ HLS2RGB(const HLS2RGB&) {}
          function __device__ (line 1532) | __device__ __forceinline__ int LabCbrt_b(int i)
          function __device__ (line 1539) | __device__ __forceinline__ void RGB2LabConvert_b(const T& src, D...
          function __device__ (line 1574) | __device__ __forceinline__ float splineInterpolate(float x, cons...
          function __device__ (line 1585) | __device__ __forceinline__ void RGB2LabConvert_f(const T& src, D...
          type RGB2Lab (line 1618) | struct RGB2Lab
          type RGB2Lab<uchar, scn, dcn, srgb, blueIdx> (line 1620) | struct RGB2Lab<uchar, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1631) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1632) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          type RGB2Lab<float, scn, dcn, srgb, blueIdx> (line 1635) | struct RGB2Lab<float, scn, dcn, srgb, blueIdx>
            method __forceinline__ (line 1646) | __forceinline__ RGB2Lab() {}
            method __forceinline__ (line 1647) | __forceinline__ RGB2Lab(const RGB2Lab&) {}
          function __device__ (line 1666) | __d
Condensed preview — 660 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,886K chars).
[
  {
    "path": ".gitignore",
    "chars": 89,
    "preview": "\n*.ncb\r\n*.suo\n\r\n*.user\r\n*.sdf\r\n\n*.ipch\r\n\n*.opensdf\r\n\n*.o\n*.a\n\nobj\r\n\n*.iobj\r\n*.ipdb\r\n*.exe"
  },
  {
    "path": "build/cleanup.bat",
    "chars": 823,
    "preview": "echo Let's clean them up.\r\n\r\necho Cleaning vs2005\\...\r\ndel vs2005\\*.ncb\r\ndel vs2005\\*.user\r\ndel vs2005\\*.suo /a:h\r\nrmdir"
  },
  {
    "path": "build/unix/makefile",
    "chars": 1102,
    "preview": "#sudo apt-get install build-essential\n#sudo apt-get install ffmpeg\n#sudo apt-get install libav-tools\n#sudo apt-get insta"
  },
  {
    "path": "build/vs2010/test.sln",
    "chars": 689,
    "preview": "\r\nMicrosoft Visual Studio Solution File, Format Version 11.00\r\n# Visual Studio 2010\r\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-"
  },
  {
    "path": "build/vs2010/test.vcxproj",
    "chars": 9034,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "build/vs2010/test.vcxproj.filters",
    "chars": 2268,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "build/vs2012/test.sln",
    "chars": 717,
    "preview": "\r\nMicrosoft Visual Studio Solution File, Format Version 12.00\r\n# Visual Studio Express 2012 for Windows Desktop\r\nProjec"
  },
  {
    "path": "build/vs2012/test.vcxproj",
    "chars": 9121,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "build/vs2012/test.vcxproj.filters",
    "chars": 2268,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "build/vs2013/test.sln",
    "chars": 777,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Express 2013 for Windows Desktop\nVisualStu"
  },
  {
    "path": "build/vs2013/test.vcxproj",
    "chars": 9122,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"12.0\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "build/vs2013/test.vcxproj.filters",
    "chars": 2268,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "build/vs2015/test.sln",
    "chars": 747,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 14\nVisualStudioVersion = 14.0.24720.0\nMini"
  },
  {
    "path": "build/vs2015/test.vcxproj",
    "chars": 9227,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.micros"
  },
  {
    "path": "build/vs2015/test.vcxproj.filters",
    "chars": 2268,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "cvdrone-license-BSD.txt",
    "chars": 1571,
    "preview": "CV Drone (= OpenCV + AR.Drone)\r\nCopyright (C) 2013-2015 puku0x\r\n\r\nRedistribution and use in source and binary forms, wit"
  },
  {
    "path": "cvdrone-license-LGPL.txt",
    "chars": 26421,
    "preview": "\t\t  GNU LESSER GENERAL PUBLIC LICENSE\n\t\t       Version 2.1, February 1999\n\n Copyright (C) 1991, 1999 Free Software Found"
  },
  {
    "path": "licenses/FFmpeg-LGPLv2.1.txt",
    "chars": 26526,
    "preview": "                  GNU LESSER GENERAL PUBLIC LICENSE\n                       Version 2.1, February 1999\n\n Copyright (C) 19"
  },
  {
    "path": "licenses/ffmpeg.txt",
    "chars": 1187,
    "preview": "This is a FFmpeg Win32 Shared build by puku0x.\n\nffmpeg version 2.2.1 Copyright (c) 2000-2014 the FFmpeg developers\n  bui"
  },
  {
    "path": "licenses/glut.txt",
    "chars": 25841,
    "preview": "\n\n                GLUT for Win32 README\n                ---------------------\n\n\nVERSION/INFO:\n\n    This is GLUT for Win3"
  },
  {
    "path": "licenses/opencv.txt",
    "chars": 2224,
    "preview": "By downloading, copying, installing or using the software you agree to this license.\nIf you do not agree to this license"
  },
  {
    "path": "licenses/parrot.txt",
    "chars": 24249,
    "preview": "IMPORTANT: INSTRUCTION TO USE AND TO APPLY THE TERMS OF THE LICENSE TO ANY NEW PROGRAM\n\nREAD BEFORE DOWNLOADING, COPYING"
  },
  {
    "path": "licenses/parrotdisclaimer.txt",
    "chars": 791,
    "preview": "Copyright (C) 2007-2011, PARROT SA, all rights reserved.\n\nDISCLAIMER\nThe APIs is provided by PARROT and contributors \"AS"
  },
  {
    "path": "licenses/pthreads-w32.txt",
    "chars": 5731,
    "preview": "\tpthreads-win32 - a POSIX threads library for Microsoft Windows\n\n\nThis file is Copyrighted\n------------------------\n\n   "
  },
  {
    "path": "readme.txt",
    "chars": 2716,
    "preview": "-----------------------------------------------------------------\n CV Drone (= OpenCV + AR.Drone)\n Copyright (C) 2016 pu"
  },
  {
    "path": "samples/camera.xml",
    "chars": 438,
    "preview": "<?xml version=\"1.0\"?>\n<opencv_storage>\n<intrinsic type_id=\"opencv-matrix\">\n  <rows>3</rows>\n  <cols>3</cols>\n  <dt>f</dt"
  },
  {
    "path": "samples/old/sample_camera_calibration.cpp",
    "chars": 8762,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// Execute calibration\n#define CALIB_MODE  1                   // ON:1 OFF:0\n\n// Parameter"
  },
  {
    "path": "samples/old/sample_condens_tracking.cpp",
    "chars": 6282,
    "preview": "#include \"ardrone/ardrone.h\"\n#include \"opencv2/legacy/legacy.hpp\"\n#include \"opencv2/legacy/compat.hpp\"\n\n// -------------"
  },
  {
    "path": "samples/old/sample_deadreckoning.cpp",
    "chars": 3442,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_default.cpp",
    "chars": 2701,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_default2.cpp",
    "chars": 3041,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_detection.cpp",
    "chars": 3156,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_detection2.cpp",
    "chars": 2877,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_flight_animation.cpp",
    "chars": 3988,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_hog.cpp",
    "chars": 1424,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_kalman_tracking.cpp",
    "chars": 4524,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_led_animation.cpp",
    "chars": 3739,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_marker_based_ar.cpp",
    "chars": 11175,
    "preview": "// C++ STL\n#include <iostream>\n#include <fstream>\n\n// OpenCV\n#include <opencv2/opencv.hpp>\n\n// OpenGL\n#include <GL/glut"
  },
  {
    "path": "samples/old/sample_minimal.cpp",
    "chars": 742,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_navdata.cpp",
    "chars": 2317,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_optical_flow.cpp",
    "chars": 3124,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_video_record.cpp",
    "chars": 1316,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/old/sample_video_writer.cpp",
    "chars": 1426,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_camera_calibration.cpp",
    "chars": 5328,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// Parameter for calibration pattern\n#define PAT_ROWS   (7)                  // Rows of pa"
  },
  {
    "path": "samples/sample_deadreckoning.cpp",
    "chars": 3528,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_default.cpp",
    "chars": 3115,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_detection.cpp",
    "chars": 3567,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_flight_animation.cpp",
    "chars": 4168,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_hog.cpp",
    "chars": 1378,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_kalman_tracking.cpp",
    "chars": 5029,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_led_animation.cpp",
    "chars": 3865,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_marker_based_ar.cpp",
    "chars": 10749,
    "preview": "// C++ STL\n#include <iostream>\n#include <fstream>\n\n// OpenCV\n#include <opencv2/opencv.hpp>\n\n// OpenGL\n#include <GL/glut"
  },
  {
    "path": "samples/sample_minimal.cpp",
    "chars": 685,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_navdata.cpp",
    "chars": 2657,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_optical_flow.cpp",
    "chars": 2115,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_tracking.cpp",
    "chars": 6631,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_video_record.cpp",
    "chars": 1273,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// --------------------------------------------------------------------------\n// main(Numb"
  },
  {
    "path": "samples/sample_video_writer.cpp",
    "chars": 1517,
    "preview": "#include \"ardrone/ardrone.h\"\n\n// For std::localtime();\n#include <ctime>\n\n// --------------------------------------------"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/inttypes.h",
    "chars": 8004,
    "preview": "// ISO C9x  compliant inttypes.h for Microsoft Visual Studio\n// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/avcodec.h",
    "chars": 176682,
    "preview": "/*\n * copyright (c) 2001 Fabrice Bellard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redis"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/avfft.h",
    "chars": 3111,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/dxva2.h",
    "chars": 2270,
    "preview": "/*\n * DXVA2 HW acceleration\n *\n * copyright (c) 2009 Laurent Aimar\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is fr"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/old_codec_ids.h",
    "chars": 10654,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/vaapi.h",
    "chars": 4007,
    "preview": "/*\n * Video Acceleration API (shared data between FFmpeg and the video player)\n * HW decode acceleration for MPEG-2, MPE"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/vda.h",
    "chars": 4094,
    "preview": "/*\n * VDA HW acceleration\n *\n * copyright (c) 2011 Sebastien Zwickert\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/vdpau.h",
    "chars": 6200,
    "preview": "/*\n * The Video Decode and Presentation API for UNIX (VDPAU) is used for\n * hardware-accelerated decoding of MPEG-1/2, H"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/version.h",
    "chars": 4915,
    "preview": "/*\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under t"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavcodec/xvmc.h",
    "chars": 6062,
    "preview": "/*\n * Copyright (C) 2003 Ivan Kalvachev\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redist"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavdevice/avdevice.h",
    "chars": 7565,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavdevice/version.h",
    "chars": 1861,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/asrc_abuffer.h",
    "chars": 3321,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/avcodec.h",
    "chars": 3784,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/avfilter.h",
    "chars": 56743,
    "preview": "/*\n * filter layer\n * Copyright (c) 2007 Bobby Bingham\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software;"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/avfiltergraph.h",
    "chars": 975,
    "preview": "/*\n * Filter graphs\n * copyright (c) 2007 Bobby Bingham\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/buffersink.h",
    "chars": 7539,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/buffersrc.h",
    "chars": 4898,
    "preview": "/*\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under t"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavfilter/version.h",
    "chars": 3498,
    "preview": "/*\n * Version macros.\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavformat/avformat.h",
    "chars": 96029,
    "preview": "/*\n * copyright (c) 2001 Fabrice Bellard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redis"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavformat/avio.h",
    "chars": 17763,
    "preview": "/*\n * copyright (c) 2001 Fabrice Bellard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redis"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavformat/version.h",
    "chars": 2830,
    "preview": "/*\n * Version macros.\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/adler32.h",
    "chars": 1584,
    "preview": "/*\n * copyright (c) 2006 Mans Rullgard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistr"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/aes.h",
    "chars": 1834,
    "preview": "/*\n * copyright (c) 2007 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/attributes.h",
    "chars": 4230,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/audio_fifo.h",
    "chars": 4414,
    "preview": "/*\n * Audio FIFO\n * Copyright (c) 2012 Justin Ruggles <justin.ruggles@gmail.com>\n *\n * This file is part of FFmpeg.\n *\n "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/audioconvert.h",
    "chars": 82,
    "preview": "\n#include \"version.h\"\n\n#if FF_API_AUDIOCONVERT\n#include \"channel_layout.h\"\n#endif\n"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/avassert.h",
    "chars": 2113,
    "preview": "/*\n * copyright (c) 2010 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/avconfig.h",
    "chars": 251,
    "preview": "/* Generated by ffconf */\n#ifndef AVUTIL_AVCONFIG_H\n#define AVUTIL_AVCONFIG_H\n#define AV_HAVE_BIGENDIAN 0\n#define AV_HAV"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/avstring.h",
    "chars": 12473,
    "preview": "/*\n * Copyright (c) 2007 Mans Rullgard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistr"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/avutil.h",
    "chars": 8448,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/base64.h",
    "chars": 2079,
    "preview": "/*\n * Copyright (c) 2006 Ryan Martell. (rdm4@martellventures.com)\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is fre"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/blowfish.h",
    "chars": 2313,
    "preview": "/*\n * Blowfish algorithm\n * Copyright (c) 2012 Samuel Pitoiset\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free s"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/bprint.h",
    "chars": 7733,
    "preview": "/*\n * Copyright (c) 2012 Nicolas George\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redist"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/bswap.h",
    "chars": 2901,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/buffer.h",
    "chars": 9772,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/channel_layout.h",
    "chars": 9091,
    "preview": "/*\n * Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n * Copyright (c) 2008 Peter Ross\n *\n * This file is part"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/common.h",
    "chars": 13976,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/cpu.h",
    "chars": 4686,
    "preview": "/*\n * Copyright (c) 2000, 2001, 2002 Fabrice Bellard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; y"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/crc.h",
    "chars": 2708,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/dict.h",
    "chars": 6513,
    "preview": "/*\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under t"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/downmix_info.h",
    "chars": 3166,
    "preview": "/*\n * Copyright (c) 2014 Tim Walker <tdskywalker@gmail.com>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free soft"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/error.h",
    "chars": 4761,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/eval.h",
    "chars": 5303,
    "preview": "/*\n * Copyright (c) 2002 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/ffversion.h",
    "chars": 117,
    "preview": "#ifndef AVUTIL_FFVERSION_H\n#define AVUTIL_FFVERSION_H\n#define FFMPEG_VERSION \"2.2.3\"\n#endif /* AVUTIL_FFVERSION_H */\n"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/fifo.h",
    "chars": 4644,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/file.h",
    "chars": 2410,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/frame.h",
    "chars": 22782,
    "preview": "/*\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under t"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/hmac.h",
    "chars": 2870,
    "preview": "/*\n * Copyright (C) 2012 Martin Storsjo\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redist"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/imgutils.h",
    "chars": 7844,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/intfloat.h",
    "chars": 1726,
    "preview": "/*\n * Copyright (c) 2011 Mans Rullgard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistr"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/intfloat_readwrite.h",
    "chars": 1559,
    "preview": "/*\n * copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/intreadwrite.h",
    "chars": 17981,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/lfg.h",
    "chars": 1986,
    "preview": "/*\n * Lagged Fibonacci PRNG\n * Copyright (c) 2008 Michael Niedermayer\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/log.h",
    "chars": 9266,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/lzo.h",
    "chars": 2048,
    "preview": "/*\n * LZO 1x decompression\n * copyright (c) 2006 Reimar Doeffinger\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is fr"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/macros.h",
    "chars": 1203,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/mathematics.h",
    "chars": 5185,
    "preview": "/*\n * copyright (c) 2005-2012 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/md5.h",
    "chars": 1961,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/mem.h",
    "chars": 13782,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/murmur3.h",
    "chars": 1221,
    "preview": "/*\n * Copyright (C) 2013 Reimar Döffinger <Reimar.Doeffinger@gmx.de>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/old_pix_fmts.h",
    "chars": 14404,
    "preview": "/*\n * copyright (c) 2006-2012 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/opt.h",
    "chars": 32187,
    "preview": "/*\n * AVOptions\n * copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FF"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/parseutils.h",
    "chars": 7249,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/pixdesc.h",
    "chars": 10415,
    "preview": "/*\n * pixel format descriptor\n * Copyright (c) 2009 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FF"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/pixfmt.h",
    "chars": 26878,
    "preview": "/*\n * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/random_seed.h",
    "chars": 1400,
    "preview": "/*\n * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@gmail.com>\n *\n * This file is part of FFmpeg.\n *\n * FFmp"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/rational.h",
    "chars": 4189,
    "preview": "/*\n * rational numbers\n * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/ripemd.h",
    "chars": 2024,
    "preview": "/*\n * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>\n * Copyright (C) 2013 James Almer <jamrial@gmail.com>\n *"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/samplefmt.h",
    "chars": 10087,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/sha.h",
    "chars": 1941,
    "preview": "/*\n * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/sha512.h",
    "chars": 2027,
    "preview": "/*\n * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>\n * Copyright (C) 2013 James Almer <jamrial@gmail.com>\n *"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/stereo3d.h",
    "chars": 3617,
    "preview": "/*\n * Copyright (c) 2013 Vittorio Giovara <vittorio.giovara@gmail.com>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg i"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/time.h",
    "chars": 1283,
    "preview": "/*\n * Copyright (c) 2000-2003 Fabrice Bellard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/timecode.h",
    "chars": 5323,
    "preview": "/*\n * Copyright (c) 2006 Smartjog S.A.S, Baptiste Coudurier <baptiste.coudurier@gmail.com>\n * Copyright (c) 2011-2012 Sm"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/timestamp.h",
    "chars": 2616,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/version.h",
    "chars": 4482,
    "preview": "/*\n * copyright (c) 2003 Fabrice Bellard\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redis"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libavutil/xtea.h",
    "chars": 1868,
    "preview": "/*\n * A 32-bit implementation of the XTEA algorithm\n * Copyright (c) 2012 Samuel Pitoiset\n *\n * This file is part of FFm"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libswresample/swresample.h",
    "chars": 11813,
    "preview": "/*\n * Copyright (C) 2011-2013 Michael Niedermayer (michaelni@gmx.at)\n *\n * This file is part of libswresample\n *\n * libs"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libswresample/version.h",
    "chars": 1694,
    "preview": "/*\n * Version macros.\n *\n * This file is part of libswresample\n *\n * libswresample is free software; you can redistribut"
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libswscale/swscale.h",
    "chars": 12257,
    "preview": "/*\n * Copyright (C) 2001-2011 Michael Niedermayer <michaelni@gmx.at>\n *\n * This file is part of FFmpeg.\n *\n * FFmpeg is "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/libswscale/version.h",
    "chars": 2119,
    "preview": "/*\n * This file is part of FFmpeg.\n *\n * FFmpeg is free software; you can redistribute it and/or\n * modify it under the "
  },
  {
    "path": "src/3rdparty/ffmpeg/include/stdint.h",
    "chars": 7728,
    "preview": "// ISO C9x  compliant stdint.h for Microsoft Visual Studio\n// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG"
  },
  {
    "path": "src/3rdparty/glut/include/GL/glut.h",
    "chars": 26954,
    "preview": "#ifndef __glut_h__\n#define __glut_h__\n\n/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */\n\n/* This program is "
  },
  {
    "path": "src/3rdparty/glut/lib/glut.def",
    "chars": 2285,
    "preview": "DESCRIPTION 'OpenGL Utility Toolkit for Win32'\n\nVERSION 3.7\n\nEXPORTS\n\n\tglutAddMenuEntry\n\tglutAddSubMenu\n\tglutAttachMenu\n"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cv.h",
    "chars": 3161,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cv.hpp",
    "chars": 2657,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cvaux.h",
    "chars": 2531,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cvaux.hpp",
    "chars": 2382,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cvwimage.h",
    "chars": 2184,
    "preview": "///////////////////////////////////////////////////////////////////////////////\n//  IMPORTANT: READ BEFORE DOWNLOADING, "
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cxcore.h",
    "chars": 2432,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cxcore.hpp",
    "chars": 2451,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cxeigen.hpp",
    "chars": 2265,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/cxmisc.h",
    "chars": 137,
    "preview": "#ifndef __OPENCV_OLD_CXMISC_H__\n#define __OPENCV_OLD_CXMISC_H__\n\n#ifdef __cplusplus\n#  include \"opencv2/core/utility.hpp"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/highgui.h",
    "chars": 2234,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv/ml.h",
    "chars": 2153,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/aruco/charuco.hpp",
    "chars": 15059,
    "preview": "/*\nBy downloading, copying, installing or using the software you agree to this\nlicense. If you do not agree to this lice"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/aruco/dictionary.hpp",
    "chars": 5472,
    "preview": "/*\nBy downloading, copying, installing or using the software you agree to this\nlicense. If you do not agree to this lice"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/aruco.hpp",
    "chars": 24436,
    "preview": "/*\nBy downloading, copying, installing or using the software you agree to this\nlicense. If you do not agree to this lice"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/bgsegm.hpp",
    "chars": 7518,
    "preview": "/*\nBy downloading, copying, installing or using the software you agree to this\nlicense. If you do not agree to this lice"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/bioinspired/bioinspired.hpp",
    "chars": 2373,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/bioinspired/retina.hpp",
    "chars": 27057,
    "preview": "/*#******************************************************************************\n ** IMPORTANT: READ BEFORE DOWNLOADING"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/bioinspired/retinafasttonemapping.hpp",
    "chars": 8675,
    "preview": "\n/*#******************************************************************************\n ** IMPORTANT: READ BEFORE DOWNLOADIN"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/bioinspired/transientareassegmentationmodule.hpp",
    "chars": 10234,
    "preview": "/*#******************************************************************************\n ** IMPORTANT: READ BEFORE DOWNLOADING"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/bioinspired.hpp",
    "chars": 2716,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/calib3d/calib3d.hpp",
    "chars": 2369,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/calib3d/calib3d_c.h",
    "chars": 20119,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/calib3d.hpp",
    "chars": 114086,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/ccalib/multicalib.hpp",
    "chars": 8510,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/ccalib/omnidir.hpp",
    "chars": 17924,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/ccalib/randpattern.hpp",
    "chars": 7333,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/ccalib.hpp",
    "chars": 6775,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n //\n //  IMPORTANT: READ BEFO"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/affine.hpp",
    "chars": 15628,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/base.hpp",
    "chars": 26617,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/bufferpool.hpp",
    "chars": 735,
    "preview": "// This file is part of OpenCV project.\n// It is subject to the license terms in the LICENSE file found in the top-level"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/core.hpp",
    "chars": 2366,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/core_c.h",
    "chars": 129863,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/block.hpp",
    "chars": 8339,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/border_interpolate.hpp",
    "chars": 24768,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/color.hpp",
    "chars": 15543,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/common.hpp",
    "chars": 3826,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/datamov_utils.hpp",
    "chars": 4732,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/detail/color_detail.hpp",
    "chars": 222535,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/detail/reduce.hpp",
    "chars": 15337,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/detail/reduce_key_val.hpp",
    "chars": 23341,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/detail/transform_detail.hpp",
    "chars": 17837,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/detail/type_traits_detail.hpp",
    "chars": 8611,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/detail/vec_distance_detail.hpp",
    "chars": 5231,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/dynamic_smem.hpp",
    "chars": 3259,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/emulation.hpp",
    "chars": 10021,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/filters.hpp",
    "chars": 9798,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/funcattrib.hpp",
    "chars": 3247,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/functional.hpp",
    "chars": 32165,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/limits.hpp",
    "chars": 4842,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/reduce.hpp",
    "chars": 11774,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/saturate_cast.hpp",
    "chars": 10086,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/scan.hpp",
    "chars": 8993,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/simd_functions.hpp",
    "chars": 31100,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/transform.hpp",
    "chars": 3374,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/type_traits.hpp",
    "chars": 4538,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/utility.hpp",
    "chars": 7610,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  },
  {
    "path": "src/3rdparty/opencv/include/opencv2/core/cuda/vec_distance.hpp",
    "chars": 7875,
    "preview": "/*M///////////////////////////////////////////////////////////////////////////////////////\n//\n//  IMPORTANT: READ BEFORE"
  }
]

// ... and 460 more files (download for full content)

About this extraction

This page contains the full source code of the puku0x/cvdrone GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 660 files (5.4 MB), approximately 1.5M tokens, and a symbol index with 4433 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!