mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-05 19:28:46 +02:00
subcodec
This commit is contained in:
parent
1b3a547401
commit
95a03d9931
4 changed files with 155 additions and 0 deletions
|
|
@ -14,6 +14,7 @@ swift_library(
|
|||
"//submodules/CryptoUtils:CryptoUtils",
|
||||
"//submodules/ManagedFile:ManagedFile",
|
||||
"//submodules/TelegramUI/Components/AnimationCache/ImageDCT:ImageDCT",
|
||||
"//third-party/subcodec:SubcodecObjC",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
|
|
|
|||
69
third-party/openh264/BUILD
vendored
69
third-party/openh264/BUILD
vendored
|
|
@ -267,3 +267,72 @@ cc_library(
|
|||
"//visibility:public",
|
||||
],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "openh264_decoder",
|
||||
srcs = [
|
||||
"third_party/openh264/src/codec/decoder/core/src/au_parser.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/bit_stream.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/cabac_decoder.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/deblocking.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/decode_mb_aux.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/decode_slice.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/decoder.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/decoder_core.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/decoder_data_tables.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/error_concealment.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/fmo.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/get_intra_predictor.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/manage_dec_ref.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/memmgr_nal_unit.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/mv_pred.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/parse_mb_syn_cabac.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/parse_mb_syn_cavlc.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/pic_queue.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/rec_mb.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/src/wels_decoder_thread.cpp",
|
||||
"third_party/openh264/src/codec/decoder/plus/src/welsDecoderExt.cpp",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/au_parser.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/bit_stream.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/cabac_decoder.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/deblocking.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/dec_frame.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/dec_golomb.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/decode_mb_aux.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/decode_slice.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/decoder.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/decoder_context.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/decoder_core.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/error_code.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/error_concealment.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/fmo.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/get_intra_predictor.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/manage_dec_ref.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/mb_cache.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/memmgr_nal_unit.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/mv_pred.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/nal_prefix.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/nalu.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/parameter_sets.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/parse_mb_syn_cabac.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/parse_mb_syn_cavlc.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/pic_queue.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/picture.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/rec_mb.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/slice.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/vlc_decoder.h",
|
||||
"third_party/openh264/src/codec/decoder/core/inc/wels_common_basis.h",
|
||||
"third_party/openh264/src/codec/decoder/plus/inc/welsDecoderExt.h",
|
||||
],
|
||||
includes = ["."],
|
||||
copts = [
|
||||
"-Ithird-party/openh264/third_party/openh264/src/codec/decoder/core/inc",
|
||||
"-Ithird-party/openh264/third_party/openh264/src/codec/decoder/plus/inc",
|
||||
"-Ithird-party/openh264/third_party/openh264/src/codec/common/inc",
|
||||
"-Ithird-party/openh264/third_party/openh264/src/codec/api/wels",
|
||||
"-Os",
|
||||
"-Wno-all",
|
||||
],
|
||||
deps = [":openh264"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
|
|
|||
1
third-party/subcodec/.gitignore
vendored
1
third-party/subcodec/.gitignore
vendored
|
|
@ -1,5 +1,6 @@
|
|||
build/
|
||||
build-*/
|
||||
build_*/
|
||||
.build/
|
||||
.swiftpm/
|
||||
*.h264
|
||||
|
|
|
|||
84
third-party/subcodec/BUILD
vendored
Normal file
84
third-party/subcodec/BUILD
vendored
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
cc_library(
|
||||
name = "h264bitstream",
|
||||
srcs = [
|
||||
"third_party/h264bitstream/h264_stream.c",
|
||||
"third_party/h264bitstream/h264_nal.c",
|
||||
"third_party/h264bitstream/h264_sei.c",
|
||||
],
|
||||
hdrs = glob(["third_party/h264bitstream/*.h"]),
|
||||
includes = ["third_party/h264bitstream"],
|
||||
copts = ["-Wno-all"],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "subcodec",
|
||||
srcs = [
|
||||
"src/frame_writer.cpp",
|
||||
"src/cavlc.cpp",
|
||||
"src/h264_parser.cpp",
|
||||
"src/sprite_data.cpp",
|
||||
"src/mbs_encode.cpp",
|
||||
"src/mbs_mux_common.cpp",
|
||||
"src/mux_surface.cpp",
|
||||
],
|
||||
hdrs = glob(["src/*.h"]),
|
||||
includes = ["src"],
|
||||
copts = [
|
||||
"-std=c++2b",
|
||||
"-Wno-all",
|
||||
],
|
||||
deps = [":h264bitstream"],
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "sprite_encode",
|
||||
srcs = [
|
||||
"src/sprite_encode.cpp",
|
||||
"src/sprite_extractor.cpp",
|
||||
],
|
||||
hdrs = glob(["src/*.h"]),
|
||||
includes = ["src"],
|
||||
copts = [
|
||||
"-std=c++2b",
|
||||
"-Wno-all",
|
||||
"-Ithird-party/openh264/third_party/openh264/src/codec/api/wels",
|
||||
],
|
||||
deps = [
|
||||
":subcodec",
|
||||
"//third-party/openh264:openh264",
|
||||
],
|
||||
)
|
||||
|
||||
objc_library(
|
||||
name = "SubcodecObjC",
|
||||
module_name = "SubcodecObjC",
|
||||
enable_modules = True,
|
||||
srcs = [
|
||||
"Sources/SubcodecObjC/SCSprite.mm",
|
||||
"Sources/SubcodecObjC/SCMuxSurface.mm",
|
||||
"Sources/SubcodecObjC/SCSpriteRegion.mm",
|
||||
"Sources/SubcodecObjC/SCDecodedFrame.mm",
|
||||
"Sources/SubcodecObjC/SCOpenH264Decoder.mm",
|
||||
"Sources/SubcodecObjC/SCVideoToolboxDecoder.mm",
|
||||
"Sources/SubcodecObjC/AnnexBSplitter.h",
|
||||
],
|
||||
hdrs = glob(["Sources/SubcodecObjC/include/*.h"]),
|
||||
includes = ["Sources/SubcodecObjC/include"],
|
||||
copts = [
|
||||
"-std=c++2b",
|
||||
"-Wno-all",
|
||||
"-Ithird-party/openh264/third_party/openh264/src/codec/api/wels",
|
||||
],
|
||||
deps = [
|
||||
":subcodec",
|
||||
":sprite_encode",
|
||||
"//third-party/openh264:openh264",
|
||||
"//third-party/openh264:openh264_decoder",
|
||||
],
|
||||
sdk_frameworks = [
|
||||
"VideoToolbox",
|
||||
"CoreMedia",
|
||||
"CoreVideo",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue