DirectConv3d support refine

- Decouple data support of CpuDirectConv3dKernel
- Update documentation for Conv3d

Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I1d94aa28f821f45a1a3d39cc3335c8faeee89f0d
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6453
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/runtime/NEON/functions/NEConv3D.cpp b/src/runtime/NEON/functions/NEConv3D.cpp
index b5e2e2a..3bb66c4 100644
--- a/src/runtime/NEON/functions/NEConv3D.cpp
+++ b/src/runtime/NEON/functions/NEConv3D.cpp
@@ -27,7 +27,6 @@
 #include "arm_compute/core/Utils.h"
 #include "arm_compute/core/Validate.h"
 #include "src/common/utils/Log.h"
-#include "src/core/helpers/MemoryHelpers.h"
 #include "src/cpu/operators/CpuDirectConv3d.h"
 
 namespace arm_compute
@@ -58,7 +57,7 @@
     f->configure(input->info(), weights->info(), ((biases != nullptr) ? biases->info() : nullptr), output->info(), conv_info);
     _impl->op = std::move(f);
 
-    if(_impl->op)
+    if(_impl->op != nullptr)
     {
         _impl->run_pack = { { ACL_SRC_0, input }, { ACL_SRC_1, weights }, { ACL_SRC_2, biases }, { ACL_DST, output } };
     }
@@ -73,7 +72,7 @@
 
 void NEConv3D::run()
 {
-    if(_impl->op)
+    if(_impl->op != nullptr)
     {
         _impl->op->run(_impl->run_pack);
     }