summaryrefslogtreecommitdiff
path: root/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2023-09-13 09:34:49 +0300
committerEvgeny Sorokin <me@ch1p.io>2024-01-13 00:57:00 +0000
commit7058d0f5063dc9b065248d0a906cf874788caecf (patch)
tree26468a5d5a7f8c05804911b3fbf649d952bfd8f1 /localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js
parent57955b596485ecce1ffd4395e23c078358cc5ddd (diff)
save
Diffstat (limited to 'localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js')
-rw-r--r--localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js405
1 files changed, 0 insertions, 405 deletions
diff --git a/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js b/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js
deleted file mode 100644
index 2e5d0ea..0000000
--- a/localwebsite/htdocs/assets/h265webjs-dist/worker-parse-dist.js
+++ /dev/null
@@ -1,405 +0,0 @@
-(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports["default"] = void 0;
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-/*********************************************************
- * LICENSE: LICENSE-Free_CN.MD
- *
- * Author: Numberwolf - ChangYanlong
- * QQ: 531365872
- * QQ Group:925466059
- * Wechat: numberwolf11
- * Discord: numberwolf#8694
- * E-Mail: porschegt23@foxmail.com
- * Github: https://github.com/numberwolf/h265web.js
- *
- * 作者: 小老虎(Numberwolf)(常炎隆)
- * QQ: 531365872
- * QQ群: 531365872
- * 微信: numberwolf11
- * Discord: numberwolf#8694
- * 邮箱: porschegt23@foxmail.com
- * 博客: https://www.jianshu.com/u/9c09c1e00fd1
- * Github: https://github.com/numberwolf/h265web.js
- *
- **********************************************************/
-
-/**
- * codecImp Obj
- * Video Raw 265 264 Parser
- */
-var AfterGetNalThenMvLen = 3;
-
-var RawParserModule =
-/*#__PURE__*/
-function () {
- function RawParserModule() {
- _classCallCheck(this, RawParserModule);
-
- this.frameList = [];
- this.stream = null;
- }
- /*
- *****************************************************
- * *
- * *
- * HEVC Frames *
- * *
- * *
- *****************************************************
- */
-
-
- _createClass(RawParserModule, [{
- key: "pushFrameRet",
- value: function pushFrameRet(streamPushInput) {
- if (!streamPushInput || streamPushInput == undefined || streamPushInput == null) {
- return false;
- }
-
- if (!this.frameList || this.frameList == undefined || this.frameList == null) {
- this.frameList = [];
- this.frameList.push(streamPushInput);
- } else {
- this.frameList.push(streamPushInput);
- }
-
- return true;
- }
- }, {
- key: "nextFrame",
- value: function nextFrame() {
- if (!this.frameList && this.frameList == undefined || this.frameList == null && this.frameList.length < 1) {
- return null;
- }
-
- return this.frameList.shift();
- }
- }, {
- key: "clearFrameRet",
- value: function clearFrameRet() {
- this.frameList = null;
- }
- /*
- *****************************************************
- * *
- * *
- * HEVC stream *
- * *
- * *
- *****************************************************
- */
-
- }, {
- key: "setStreamRet",
- value: function setStreamRet(streamBufInput) {
- this.stream = streamBufInput;
- }
- }, {
- key: "getStreamRet",
- value: function getStreamRet() {
- return this.stream;
- }
- /**
- * push stream nalu, for live, not vod
- * @param Uint8Array
- * @return bool
- */
-
- }, {
- key: "appendStreamRet",
- value: function appendStreamRet(input) {
- if (!input || input === undefined || input == null) {
- return false;
- }
-
- if (!this.stream || this.stream === undefined || this.stream == null) {
- this.stream = input;
- return true;
- }
-
- var lenOld = this.stream.length;
- var lenPush = input.length;
- var mergeStream = new Uint8Array(lenOld + lenPush);
- mergeStream.set(this.stream, 0);
- mergeStream.set(input, lenOld);
- this.stream = mergeStream; // let retList = this.nextNaluList(9000);
- // if (retList !== false && retList.length > 0) {
- // this.frameList.push(...retList);
- // }
-
- for (var i = 0; i < 9999; i++) {
- var nalBuf = this.nextNalu();
-
- if (nalBuf !== false && nalBuf !== null && nalBuf !== undefined) {
- this.frameList.push(nalBuf);
- } else {
- break;
- }
- }
-
- return true;
- }
- /**
- * sub nalu stream, and get Nalu unit
- */
-
- }, {
- key: "subBuf",
- value: function subBuf(startOpen, endOpen) {
- // sub block [m,n]
- // nal
- var returnBuf = new Uint8Array(this.stream.subarray(startOpen, endOpen + 1)); // streamBuf sub
-
- this.stream = new Uint8Array(this.stream.subarray(endOpen + 1));
- return returnBuf;
- }
- /**
- * @param onceGetNalCount: once use get nal count, defult 1
- * @return uint8array OR false
- */
-
- }, {
- key: "nextNalu",
- value: function nextNalu() {
- var onceGetNalCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
-
- // check params
- if (this.stream == null || this.stream.length <= 4) {
- return false;
- } // start nal pos
-
-
- var startTag = -1; // return nalBuf
-
- var returnNalBuf = null;
-
- for (var i = 0; i < this.stream.length; i++) {
- if (i + 5 >= this.stream.length) {
- return false; // if (startTag == -1) {
- // return false;
- // } else {
- // // 如果结尾不到判断的字节位置 就直接全量输出最后一个nal
- // returnNalBuf = this.subBuf(startTag, this.stream.length-1);
- // return returnNalBuf;
- // }
- } // find nal
-
-
- if ( // 0x00 00 01
- this.stream[i] == 0 && this.stream[i + 1] == 0 && this.stream[i + 2] == 1 || // 0x00 00 00 01
- this.stream[i] == 0 && this.stream[i + 1] == 0 && this.stream[i + 2] == 0 && this.stream[i + 3] == 1) {
- // console.log(
- // "enter find nal , now startTag:" + startTag
- // + ", now pos:" + i
- // );
- var nowPos = i;
- i += AfterGetNalThenMvLen; // 移出去
- // begin pos
-
- if (startTag == -1) {
- startTag = nowPos;
- } else {
- if (onceGetNalCount <= 1) {
- // startCode - End
- // [startTag,nowPos)
- // console.log("[===>] last code hex is :" + this.stream[nowPos-1].toString(16))
- returnNalBuf = this.subBuf(startTag, nowPos - 1);
- return returnNalBuf;
- } else {
- onceGetNalCount -= 1;
- }
- }
- }
- } // end for
-
-
- return false;
- }
- }, {
- key: "nextNalu2",
- value: function nextNalu2() {
- var onceGetNalCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
-
- // check params
- if (this.stream == null || this.stream.length <= 4) {
- return false;
- } // start nal pos
-
-
- var startTag = -1; // return nalBuf
-
- var returnNalBuf = null;
-
- for (var i = 0; i < this.stream.length; i++) {
- if (i + 5 >= this.stream.length) {
- if (startTag == -1) {
- return false;
- } else {
- // 如果结尾不到判断的字节位置 就直接全量输出最后一个nal
- returnNalBuf = this.subBuf(startTag, this.stream.length - 1);
- return returnNalBuf;
- }
- } // find nal
-
-
- var is3BitHeader = this.stream.slice(i, i + 3).join(' ') == '0 0 1';
- var is4BitHeader = this.stream.slice(i, i + 4).join(' ') == '0 0 0 1';
-
- if (is3BitHeader || is4BitHeader) {
- var nowPos = i;
- i += AfterGetNalThenMvLen; // 移出去
- // begin pos
-
- if (startTag == -1) {
- startTag = nowPos;
- } else {
- if (onceGetNalCount <= 1) {
- // startCode - End
- // [startTag,nowPos)
- // console.log("[===>] last code hex is :" + this.stream[nowPos-1].toString(16))
- returnNalBuf = this.subBuf(startTag, nowPos - 1);
- return returnNalBuf;
- } else {
- onceGetNalCount -= 1;
- }
- }
- }
- } // end for
-
-
- return false;
- }
- /**
- * @brief sub nalu stream, and get Nalu unit
- * to parse:
- * typedef struct {
- * uint32_t width;
- * uint32_t height;
- * uint8_t *dataY;
- * uint8_t *dataChromaB;
- * uint8_t *dataChromaR;
- * } ImageData;
- * @params struct_ptr: Module.cwrap('getFrame', 'number', [])
- * @return Dict
- */
-
- }, {
- key: "parseYUVFrameStruct",
- value: function parseYUVFrameStruct() {
- var struct_ptr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
-
- // sub block [m,n]
- if (struct_ptr == null || !struct_ptr || struct_ptr == undefined) {
- return null;
- }
-
- var width = Module.HEAPU32[struct_ptr / 4];
- var height = Module.HEAPU32[struct_ptr / 4 + 1]; // let imgBufferPtr = Module.HEAPU32[ptr / 4 + 2];
- // let imageBuffer = Module.HEAPU8.subarray(imgBufferPtr, imgBufferPtr + width * height * 3);
- // console.log("width:",width," height:",height);
-
- var sizeWH = width * height; // let imgBufferYPtr = Module.HEAPU32[ptr / 4 + 2];
- // let imageBufferY = Module.HEAPU8.subarray(imgBufferYPtr, imgBufferYPtr + sizeWH);
- // let imgBufferBPtr = Module.HEAPU32[ptr/4+ 2 + sizeWH/4 + 1];
- // let imageBufferB = Module.HEAPU8.subarray(
- // imgBufferBPtr,
- // imgBufferBPtr + sizeWH/4
- // );
- // console.log(imageBufferB);
- // let imgBufferRPtr = Module.HEAPU32[imgBufferBPtr + sizeWH/16 + 1];
- // let imageBufferR = Module.HEAPU8.subarray(
- // imgBufferRPtr,
- // imgBufferRPtr + sizeWH/4
- // );
-
- var imgBufferPtr = Module.HEAPU32[struct_ptr / 4 + 1 + 1];
- var imageBufferY = Module.HEAPU8.subarray(imgBufferPtr, imgBufferPtr + sizeWH);
- var imageBufferB = Module.HEAPU8.subarray(imgBufferPtr + sizeWH + 8, imgBufferPtr + sizeWH + 8 + sizeWH / 4);
- var imageBufferR = Module.HEAPU8.subarray(imgBufferPtr + sizeWH + 8 + sizeWH / 4 + 8, imgBufferPtr + sizeWH + 8 + sizeWH / 2 + 8);
- return {
- width: width,
- height: height,
- sizeWH: sizeWH,
- imageBufferY: imageBufferY,
- imageBufferB: imageBufferB,
- imageBufferR: imageBufferR
- };
- }
- }]);
-
- return RawParserModule;
-}();
-
-exports["default"] = RawParserModule;
-
-},{}],2:[function(require,module,exports){
-"use strict";
-
-var _rawParser = _interopRequireDefault(require("./dist/raw-parser.js"));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-// console.log("import parse worker!!!", RawParserModule);
-var g_RawParser = new _rawParser["default"]();
-
-onmessage = function onmessage(event) {
- // console.log("parse - worker.onmessage", event);
- var body = event.data;
- var cmd = null;
-
- if (body.cmd === undefined || body.cmd === null) {
- cmd = '';
- } else {
- cmd = body.cmd;
- } // console.log("parse - worker recv cmd:", cmd);
-
-
- switch (cmd) {
- case 'append-chunk':
- // console.log("parse - worker append-chunk");
- var chunk = body.data;
- g_RawParser.appendStreamRet(chunk);
- break;
-
- case 'get-nalu':
- // let nalBuf = g_RawParser.nextNalu();
- var nalBuf = g_RawParser.nextFrame(); // console.log("parse - worker get-nalu", nalBuf);
- // if (nalBuf != false) {
-
- postMessage({
- cmd: "return-nalu",
- data: nalBuf,
- msg: "return-nalu"
- }); // }
-
- break;
-
- case 'stop':
- // console.log("parse - worker stop");
- postMessage('parse - WORKER STOPPED: ' + body);
- close(); // Terminates the worker.
-
- break;
-
- default:
- // console.log("parse - worker default");
- // console.log("parse - worker.body -> default: ", body);
- // worker.postMessage('Unknown command: ' + data.msg);
- break;
- }
-
- ;
-};
-
-},{"./dist/raw-parser.js":1}]},{},[2]);