use ifdef not if for OPENCV_NON_FREE