[DEV] integrate openH264 1.6.0

This commit is contained in:
Edouard DUPIN 2016-08-04 22:08:11 +02:00
parent 5a7500065d
commit 8590b9a9c5
9 changed files with 520 additions and 0 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "openh264"]
path = openh264
url = https://github.com/generic-library/openh264.git

105
lutin_openh264-common.py Normal file
View File

@ -0,0 +1,105 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
def get_type():
return "LIBRARY"
def get_desc():
return "Open H264 common library"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def get_version():
return [1,6,0]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_src_file([
'openh264/codec/common/src/welsCodecTrace.cpp',
'openh264/codec/common/src/sad_common.cpp',
'openh264/codec/common/src/cpu.cpp',
'openh264/codec/common/src/intra_pred_common.cpp',
'openh264/codec/common/src/expand_pic.cpp',
'openh264/codec/common/src/deblocking_common.cpp',
'openh264/codec/common/src/WelsThreadLib.cpp',
'openh264/codec/common/src/WelsThreadPool.cpp',
'openh264/codec/common/src/common_tables.cpp',
'openh264/codec/common/src/memory_align.cpp',
'openh264/codec/common/src/utils.cpp',
'openh264/codec/common/src/copy_mb.cpp',
'openh264/codec/common/src/WelsThread.cpp',
'openh264/codec/common/src/WelsTaskThread.cpp',
'openh264/codec/common/src/mc.cpp',
'openh264/codec/common/src/crt_util_safe_x.cpp',
])
if target.config["arch"] == "arm":
if target.config["bus-size"] == "64":
my_module.add_src_file([
'openh264/codec/common/arm64/arm_arch64_common_macro.S',
'openh264/codec/common/arm64/expand_picture_aarch64_neon.S',
'openh264/codec/common/arm64/copy_mb_aarch64_neon.S',
'openh264/codec/common/arm64/mc_aarch64_neon.S',
'openh264/codec/common/arm64/deblocking_aarch64_neon.S',
'openh264/codec/common/arm64/intra_pred_common_aarch64_neon.S',
])
else:
my_module.add_src_file([
'openh264/codec/common/arm/copy_mb_neon.S',
'openh264/codec/common/arm/intra_pred_common_neon.S',
'openh264/codec/common/arm/expand_picture_neon.S',
'openh264/codec/common/arm/arm_arch_common_macro.S',
'openh264/codec/common/arm/deblocking_neon.S',
'openh264/codec/common/arm/mc_neon.S',
])
my_module.add_header_file([
'openh264/codec/common/inc/welsCodecTrace.h',
'openh264/codec/common/inc/WelsList.h',
'openh264/codec/common/inc/WelsCircleQueue.h',
'openh264/codec/common/inc/WelsThread.h',
'openh264/codec/common/inc/macros.h',
'openh264/codec/common/inc/WelsTask.h',
'openh264/codec/common/inc/cpu_core.h',
'openh264/codec/common/inc/WelsThreadPool.h',
'openh264/codec/common/inc/crt_util_safe_x.h',
'openh264/codec/common/inc/wels_const_common.h',
'openh264/codec/common/inc/ls_defines.h',
'openh264/codec/common/inc/golomb_common.h',
'openh264/codec/common/inc/WelsTaskThread.h',
'openh264/codec/common/inc/wels_common_defs.h',
'openh264/codec/common/inc/measure_time.h',
'openh264/codec/common/inc/expand_pic.h',
'openh264/codec/common/inc/version.h',
'openh264/codec/common/inc/deblocking_common.h',
'openh264/codec/common/inc/copy_mb.h',
'openh264/codec/common/inc/memory_align.h',
'openh264/codec/common/inc/utils.h',
'openh264/codec/common/inc/WelsThreadLib.h',
'openh264/codec/common/inc/mc.h',
'openh264/codec/common/inc/intra_pred_common.h',
'openh264/codec/common/inc/sad_common.h',
'openh264/codec/common/inc/typedefs.h',
'openh264/codec/common/inc/WelsLock.h',
'openh264/codec/common/inc/cpu.h',
],
destination_path="")
my_module.add_header_file([
'openh264/codec/api/svc/codec_app_def.h',
'openh264/codec/api/svc/codec_api.h',
'openh264/codec/api/svc/codec_def.h',
'openh264/codec/api/svc/codec_ver.h',
],
destination_path="")
my_module.add_module_depend([
'cxx'
])
my_module.add_export_flag('link-lib', "pthread")
my_module.compile_version("C++", 2003)
return my_module

98
lutin_openh264-decoder.py Normal file
View File

@ -0,0 +1,98 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
def get_type():
return "LIBRARY"
def get_desc():
return "Open H264 decoder library"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def get_version():
return [1,6,0]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_src_file([
'openh264/codec/decoder/core/src/decoder.cpp',
'openh264/codec/decoder/core/src/cabac_decoder.cpp',
'openh264/codec/decoder/core/src/parse_mb_syn_cabac.cpp',
'openh264/codec/decoder/core/src/pic_queue.cpp',
'openh264/codec/decoder/core/src/rec_mb.cpp',
'openh264/codec/decoder/core/src/manage_dec_ref.cpp',
'openh264/codec/decoder/core/src/decoder_core.cpp',
'openh264/codec/decoder/core/src/decode_mb_aux.cpp',
'openh264/codec/decoder/core/src/error_concealment.cpp',
'openh264/codec/decoder/core/src/mv_pred.cpp',
'openh264/codec/decoder/core/src/deblocking.cpp',
'openh264/codec/decoder/core/src/decoder_data_tables.cpp',
'openh264/codec/decoder/core/src/bit_stream.cpp',
'openh264/codec/decoder/core/src/parse_mb_syn_cavlc.cpp',
'openh264/codec/decoder/core/src/au_parser.cpp',
'openh264/codec/decoder/core/src/fmo.cpp',
'openh264/codec/decoder/core/src/memmgr_nal_unit.cpp',
'openh264/codec/decoder/core/src/decode_slice.cpp',
'openh264/codec/decoder/core/src/get_intra_predictor.cpp',
'openh264/codec/decoder/plus/src/welsDecoderExt.cpp',
])
if target.config["arch"] == "arm":
if target.config["bus-size"] == "64":
my_module.add_src_file([
'openh264/codec/decoder/core/arm64/intra_pred_aarch64_neon.S',
'openh264/codec/decoder/core/arm64/block_add_aarch64_neon.S',
])
else:
my_module.add_src_file([
'openh264/codec/decoder/core/arm/intra_pred_neon.S',
'openh264/codec/decoder/core/arm/block_add_neon.S',
])
my_module.add_header_file([
'openh264/codec/decoder/core/inc/decoder.h',
'openh264/codec/decoder/core/inc/error_concealment.h',
'openh264/codec/decoder/core/inc/decode_slice.h',
'openh264/codec/decoder/core/inc/cabac_decoder.h',
'openh264/codec/decoder/core/inc/mb_cache.h',
'openh264/codec/decoder/core/inc/dec_golomb.h',
'openh264/codec/decoder/core/inc/get_intra_predictor.h',
'openh264/codec/decoder/core/inc/pic_queue.h',
'openh264/codec/decoder/core/inc/bit_stream.h',
'openh264/codec/decoder/core/inc/rec_mb.h',
'openh264/codec/decoder/core/inc/vlc_decoder.h',
'openh264/codec/decoder/core/inc/au_parser.h',
'openh264/codec/decoder/core/inc/deblocking.h',
'openh264/codec/decoder/core/inc/decoder_context.h',
'openh264/codec/decoder/core/inc/dec_frame.h',
'openh264/codec/decoder/core/inc/slice.h',
'openh264/codec/decoder/core/inc/fmo.h',
'openh264/codec/decoder/core/inc/manage_dec_ref.h',
'openh264/codec/decoder/core/inc/parse_mb_syn_cavlc.h',
'openh264/codec/decoder/core/inc/parameter_sets.h',
'openh264/codec/decoder/core/inc/error_code.h',
'openh264/codec/decoder/core/inc/mv_pred.h',
'openh264/codec/decoder/core/inc/wels_const.h',
'openh264/codec/decoder/core/inc/parse_mb_syn_cabac.h',
'openh264/codec/decoder/core/inc/nalu.h',
'openh264/codec/decoder/core/inc/decoder_core.h',
'openh264/codec/decoder/core/inc/memmgr_nal_unit.h',
'openh264/codec/decoder/core/inc/wels_common_basis.h',
'openh264/codec/decoder/core/inc/picture.h',
'openh264/codec/decoder/core/inc/decode_mb_aux.h',
'openh264/codec/decoder/core/inc/nal_prefix.h',
'openh264/codec/decoder/plus/inc/welsDecoderExt.h',
],
destination_path="")
my_module.compile_version("C++", 2003)
my_module.add_module_depend([
'openh264-common',
'openh264-processing'
])
return my_module

135
lutin_openh264-encoder.py Normal file
View File

@ -0,0 +1,135 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
def get_type():
return "LIBRARY"
def get_desc():
return "Open H264 encoder library"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def get_version():
return [1,6,0]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_src_file([
'openh264/codec/encoder/core/src/svc_encode_slice.cpp',
'openh264/codec/encoder/core/src/svc_enc_slice_segment.cpp',
'openh264/codec/encoder/core/src/au_set.cpp',
'openh264/codec/encoder/core/src/paraset_strategy.cpp',
'openh264/codec/encoder/core/src/encoder_ext.cpp',
'openh264/codec/encoder/core/src/ratectl.cpp',
'openh264/codec/encoder/core/src/sample.cpp',
'openh264/codec/encoder/core/src/picture_handle.cpp',
'openh264/codec/encoder/core/src/nal_encap.cpp',
'openh264/codec/encoder/core/src/svc_encode_mb.cpp',
'openh264/codec/encoder/core/src/svc_set_mb_syn_cavlc.cpp',
'openh264/codec/encoder/core/src/wels_task_base.cpp',
'openh264/codec/encoder/core/src/svc_set_mb_syn_cabac.cpp',
'openh264/codec/encoder/core/src/ref_list_mgr_svc.cpp',
'openh264/codec/encoder/core/src/svc_mode_decision.cpp',
'openh264/codec/encoder/core/src/decode_mb_aux.cpp',
'openh264/codec/encoder/core/src/slice_multi_threading.cpp',
'openh264/codec/encoder/core/src/mv_pred.cpp',
'openh264/codec/encoder/core/src/deblocking.cpp',
'openh264/codec/encoder/core/src/wels_preprocess.cpp',
'openh264/codec/encoder/core/src/encoder.cpp',
'openh264/codec/encoder/core/src/set_mb_syn_cavlc.cpp',
'openh264/codec/encoder/core/src/encoder_data_tables.cpp',
'openh264/codec/encoder/core/src/wels_task_encoder.cpp',
'openh264/codec/encoder/core/src/wels_task_management.cpp',
'openh264/codec/encoder/core/src/encode_mb_aux.cpp',
'openh264/codec/encoder/core/src/set_mb_syn_cabac.cpp',
'openh264/codec/encoder/core/src/svc_motion_estimate.cpp',
'openh264/codec/encoder/core/src/svc_base_layer_md.cpp',
'openh264/codec/encoder/core/src/get_intra_predictor.cpp',
'openh264/codec/encoder/core/src/md.cpp',
# 'openh264/codec/encoder/plus/src/DllEntry.cpp',
'openh264/codec/encoder/plus/src/welsEncoderExt.cpp',
])
if target.config["arch"] == "arm":
if target.config["bus-size"] == "64":
my_module.add_src_file([
'openh264/codec/encoder/core/arm64/svc_motion_estimation_aarch64_neon.S',
'openh264/codec/encoder/core/arm64/reconstruct_aarch64_neon.S',
'openh264/codec/encoder/core/arm64/intra_pred_aarch64_neon.S',
'openh264/codec/encoder/core/arm64/pixel_aarch64_neon.S',
'openh264/codec/encoder/core/arm64/intra_pred_sad_3_opt_aarch64_neon.S',
'openh264/codec/encoder/core/arm64/memory_aarch64_neon.S',
])
else:
my_module.add_src_file([
'openh264/codec/encoder/core/arm/intra_pred_neon.S',
'openh264/codec/encoder/core/arm/memory_neon.S',
'openh264/codec/encoder/core/arm/svc_motion_estimation.S',
'openh264/codec/encoder/core/arm/pixel_neon.S',
'openh264/codec/encoder/core/arm/intra_pred_sad_3_opt_neon.S',
'openh264/codec/encoder/core/arm/reconstruct_neon.S',
])
my_module.add_header_file([
'openh264/codec/encoder/core/inc/nal_encap.h',
'openh264/codec/encoder/core/inc/picture_handle.h',
'openh264/codec/encoder/core/inc/svc_motion_estimate.h',
'openh264/codec/encoder/core/inc/svc_set_mb_syn_cavlc.h',
'openh264/codec/encoder/core/inc/au_set.h',
'openh264/codec/encoder/core/inc/svc_encode_slice.h',
'openh264/codec/encoder/core/inc/svc_enc_slice_segment.h',
'openh264/codec/encoder/core/inc/mb_cache.h',
'openh264/codec/encoder/core/inc/wels_task_base.h',
'openh264/codec/encoder/core/inc/svc_set_mb_syn.h',
'openh264/codec/encoder/core/inc/get_intra_predictor.h',
'openh264/codec/encoder/core/inc/extern.h',
'openh264/codec/encoder/core/inc/rc.h',
'openh264/codec/encoder/core/inc/wels_func_ptr_def.h',
'openh264/codec/encoder/core/inc/svc_enc_macroblock.h',
'openh264/codec/encoder/core/inc/param_svc.h',
'openh264/codec/encoder/core/inc/set_mb_syn_cavlc.h',
'openh264/codec/encoder/core/inc/svc_enc_golomb.h',
'openh264/codec/encoder/core/inc/stat.h',
'openh264/codec/encoder/core/inc/set_mb_syn_cabac.h',
'openh264/codec/encoder/core/inc/svc_base_layer_md.h',
'openh264/codec/encoder/core/inc/deblocking.h',
'openh264/codec/encoder/core/inc/slice.h',
'openh264/codec/encoder/core/inc/parameter_sets.h',
'openh264/codec/encoder/core/inc/encode_mb_aux.h',
'openh264/codec/encoder/core/inc/mv_pred.h',
'openh264/codec/encoder/core/inc/wels_const.h',
'openh264/codec/encoder/core/inc/wels_task_encoder.h',
'openh264/codec/encoder/core/inc/svc_enc_frame.h',
'openh264/codec/encoder/core/inc/encoder_context.h',
'openh264/codec/encoder/core/inc/svc_encode_mb.h',
'openh264/codec/encoder/core/inc/as264_common.h',
'openh264/codec/encoder/core/inc/encoder.h',
'openh264/codec/encoder/core/inc/wels_preprocess.h',
'openh264/codec/encoder/core/inc/md.h',
'openh264/codec/encoder/core/inc/slice_multi_threading.h',
'openh264/codec/encoder/core/inc/vlc_encoder.h',
'openh264/codec/encoder/core/inc/wels_task_management.h',
'openh264/codec/encoder/core/inc/wels_common_basis.h',
'openh264/codec/encoder/core/inc/sample.h',
'openh264/codec/encoder/core/inc/wels_transpose_matrix.h',
'openh264/codec/encoder/core/inc/ref_list_mgr_svc.h',
'openh264/codec/encoder/core/inc/picture.h',
'openh264/codec/encoder/core/inc/decode_mb_aux.h',
'openh264/codec/encoder/core/inc/mt_defs.h',
'openh264/codec/encoder/core/inc/dq_map.h',
'openh264/codec/encoder/core/inc/paraset_strategy.h',
'openh264/codec/encoder/core/inc/svc_mode_decision.h',
'openh264/codec/encoder/plus/inc/welsEncoderExt.h',
],
destination_path="")
my_module.compile_version("C++", 2003)
my_module.add_module_depend([
'openh264-common',
'openh264-processing'
])
return my_module

View File

@ -0,0 +1,83 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
def get_type():
return "LIBRARY"
def get_desc():
return "Open H264 processing library"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def get_version():
return [1,6,0]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_src_file([
'openh264/codec/processing/src/adaptivequantization/AdaptiveQuantization.cpp',
'openh264/codec/processing/src/vaacalc/vaacalcfuncs.cpp',
'openh264/codec/processing/src/vaacalc/vaacalculation.cpp',
'openh264/codec/processing/src/imagerotate/imagerotate.cpp',
'openh264/codec/processing/src/imagerotate/imagerotatefuncs.cpp',
'openh264/codec/processing/src/backgrounddetection/BackgroundDetection.cpp',
'openh264/codec/processing/src/denoise/denoise_filter.cpp',
'openh264/codec/processing/src/denoise/denoise.cpp',
'openh264/codec/processing/src/scenechangedetection/SceneChangeDetection.cpp',
'openh264/codec/processing/src/common/WelsFrameWork.cpp',
'openh264/codec/processing/src/common/WelsFrameWorkEx.cpp',
'openh264/codec/processing/src/common/memory.cpp',
'openh264/codec/processing/src/downsample/downsamplefuncs.cpp',
'openh264/codec/processing/src/downsample/downsample.cpp',
'openh264/codec/processing/src/scrolldetection/ScrollDetectionFuncs.cpp',
'openh264/codec/processing/src/scrolldetection/ScrollDetection.cpp',
'openh264/codec/processing/src/complexityanalysis/ComplexityAnalysis.cpp',
])
if target.config["arch"] == "arm":
if target.config["bus-size"] == "64":
my_module.add_src_file([
'openh264/codec/processing/src/arm64/pixel_sad_aarch64_neon.S',
'openh264/codec/processing/src/arm64/down_sample_aarch64_neon.S',
'openh264/codec/processing/src/arm64/vaa_calc_aarch64_neon.S',
'openh264/codec/processing/src/arm64/adaptive_quantization_aarch64_neon.S',
])
else:
my_module.add_src_file([
'openh264/codec/processing/src/arm/pixel_sad_neon.S',
'openh264/codec/processing/src/arm/down_sample_neon.S',
'openh264/codec/processing/src/arm/adaptive_quantization.S',
'openh264/codec/processing/src/arm/vaa_calc_neon.S',
])
my_module.add_header_file([
'openh264/codec/processing/src/adaptivequantization/AdaptiveQuantization.h',
'openh264/codec/processing/src/vaacalc/vaacalculation.h',
'openh264/codec/processing/src/imagerotate/imagerotate.h',
'openh264/codec/processing/src/backgrounddetection/BackgroundDetection.h',
'openh264/codec/processing/src/denoise/denoise.h',
'openh264/codec/processing/src/scenechangedetection/SceneChangeDetection.h',
'openh264/codec/processing/src/common/WelsFrameWork.h',
'openh264/codec/processing/src/common/resource.h',
'openh264/codec/processing/src/common/common.h',
'openh264/codec/processing/src/common/util.h',
'openh264/codec/processing/src/common/typedef.h',
'openh264/codec/processing/src/common/memory.h',
'openh264/codec/processing/src/downsample/downsample.h',
'openh264/codec/processing/src/scrolldetection/ScrollDetectionFuncs.h',
'openh264/codec/processing/src/scrolldetection/ScrollDetection.h',
'openh264/codec/processing/src/complexityanalysis/ComplexityAnalysis.h',
'openh264/codec/processing/interface/IWelsVP.h',
],
destination_path="")
my_module.compile_version("C++", 2003)
my_module.add_module_depend([
'openh264-common'
])
return my_module

View File

@ -0,0 +1,33 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
import os
def get_type():
return "BINARY"
def get_sub_type():
return "TEST"
def get_desc():
return "Open H264 tool"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_src_file([
'openh264/codec/console/dec/src/h264dec.cpp',
'openh264/codec/console/dec/src/d3d9_utils.cpp',
'openh264/codec/console/common/src/read_config.cpp'
])
my_module.add_path(os.path.join(tools.get_current_path(__file__), "openh264", "codec", "console", "dec", "inc"))
my_module.add_path(os.path.join(tools.get_current_path(__file__), "openh264", "codec", "console", "common", "inc"))
my_module.compile_version("c++", 2003)
my_module.add_module_depend('openh264')
return my_module

View File

@ -0,0 +1,32 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
import os
def get_type():
return "BINARY"
def get_sub_type():
return "TEST"
def get_desc():
return "Open H264 tool"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_src_file([
'openh264/codec/console/enc/src/welsenc.cpp',
'openh264/codec/console/common/src/read_config.cpp',
])
my_module.add_path(os.path.join(tools.get_current_path(__file__), "openh264", "codec", "console", "enc", "inc"))
my_module.add_path(os.path.join(tools.get_current_path(__file__), "openh264", "codec", "console", "common", "inc"))
my_module.compile_version("c++", 2003)
my_module.add_module_depend('openh264')
return my_module

30
lutin_openh264.py Normal file
View File

@ -0,0 +1,30 @@
#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
def get_type():
return "LIBRARY"
def get_desc():
return "Open H264 library"
def get_licence():
return "BSD-2"
def get_maintainer():
return ["HaiboZhu <haibozhu@cisco.com>"]
def get_version():
return [1,6,0]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
my_module.add_module_depend([
'openh264-encoder',
'openh264-decoder',
'openh264-processing'
])
return my_module

1
openh264 Submodule

@ -0,0 +1 @@
Subproject commit 69a8b3c3ea627f9e680cb34a9793b3a83171860d