decord/source/module_4847.js
2026-07-29 08:29:29 +00:00

252 lines
8.6 KiB
JavaScript

// Module ID: 4847
// Function ID: 4848
// Dependencies: [4807, 4822, 4823, 4819, 4802]
// Module 4847
const require = arg1;
const module = arg2;
const dependencyMap = arg6;
let c3 = 16;
arg5.default = {
read(buffer, sum) {
let iter;
let obj = module(4807);
const byteOrder = obj.getByteOrder(buffer, sum);
let obj1 = require(4822) /* readTag */;
let obj2 = require(4822) /* readTag */;
const ifd = obj1.readIfd(buffer, require(4823) /* importDefaultResult1 */.IFD_TYPE_MPF, sum, obj2.get0thIfdOffset(buffer, sum, byteOrder), byteOrder, arg2);
if (ifd.MPEntry) {
const items = [];
const _Math = Math;
let num13 = 0;
if (0 < Math.ceil(ifd.MPEntry.value.length / c3)) {
while (true) {
items[num13] = {};
let value = ifd.MPEntry.value;
let tmp5 = c3;
let result = num13 * c3;
let tmp7 = module;
let tmp8 = dependencyMap;
let obj3 = module(4819);
let typeSize = obj3.getTypeSize("LONG");
let tmp10 = num13;
if (byteOrder === module(4807).LITTLE_ENDIAN) {
let num17 = 0;
let num18 = 0;
let num19 = 0;
if (0 < typeSize) {
do {
num18 = num18 + (value[result + num17] << 8 * num17);
num17 = num17 + 1;
num19 = num18;
} while (num17 < typeSize);
}
let num16 = num19;
} else {
let num14 = 0;
let num15 = 0;
num16 = 0;
if (0 < typeSize) {
do {
num15 = num15 + (value[result + num14] << 8 * (typeSize - 1 - num14));
num14 = num14 + 1;
num16 = num15;
} while (num14 < typeSize);
}
}
let items1 = [num16 >> 31 & 1, num16 >> 30 & 1, num16 >> 29 & 1];
let items2 = [];
if (items1[0]) {
let arr = items2.push("Dependent Parent Image");
}
if (items1[1]) {
arr = items2.push("Dependent Child Image");
}
if (items1[2]) {
let arr1 = items2.push("Representative Image");
}
obj = { value: null, description: null };
obj[0] = items1;
let tmp14 = items2.join(", ") || "None";
obj[1] = tmp14;
items[num13].ImageFlags = obj;
let tmp15 = num16 >> 24 & 7;
obj = { value: null, description: null };
obj[0] = tmp15;
let str11 = "Unknown";
if (0 === tmp15) {
str11 = "JPEG";
}
obj[1] = str11;
items[num13].ImageFormat = obj;
let tmp16 = 16777215 & num16;
obj1 = { value: null, description: null };
obj1[0] = tmp16;
let str12 = { 196608: "Baseline MP Primary Image", 65537: "Large Thumbnail (VGA equivalent)", 65538: "Large Thumbnail (Full HD equivalent)", 131073: "Multi-Frame Image (Panorama)", 131074: "Multi-Frame Image (Disparity)", 131075: "Multi-Frame Image (Multi-Angle)", 0: "Undefined" }[tmp16];
if (!str12) {
str12 = "Unknown";
}
obj1[1] = str12;
items[num13].ImageType = obj1;
value = ifd.MPEntry.value;
let tmp17 = c3;
sum = num13 * c3 + 4;
let tmp19 = module;
let tmp20 = dependencyMap;
let obj8 = module(4819);
let typeSize1 = obj8.getTypeSize("LONG");
if (byteOrder === module(4807).LITTLE_ENDIAN) {
let num23 = 0;
let num24 = 0;
let num25 = 0;
if (0 < typeSize1) {
do {
num24 = num24 + (value[sum + num23] << 8 * num23);
num23 = num23 + 1;
num25 = num24;
} while (num23 < typeSize1);
}
let num22 = num25;
} else {
let num20 = 0;
let num21 = 0;
num22 = 0;
if (0 < typeSize1) {
do {
num21 = num21 + (value[sum + num20] << 8 * (typeSize1 - 1 - num20));
num20 = num20 + 1;
num22 = num21;
} while (num20 < typeSize1);
}
}
obj2 = { value: null, description: null };
obj2[0] = num22;
obj2[1] = "" + num22;
items[num13].ImageSize = obj2;
let num26 = 0;
iter = ifd.MPEntry;
if (0 !== num13) {
break;
} else {
obj3 = { value: null, description: null };
obj3[0] = 0;
obj3[1] = "";
items[num13].ImageOffset = obj3;
value = ifd.MPEntry.value;
let tmp23 = c3;
let sum1 = num13 * c3 + 12;
let tmp25 = module;
let tmp26 = dependencyMap;
let obj11 = module(4819);
let typeSize2 = obj11.getTypeSize("SHORT");
if (byteOrder === module(4807).LITTLE_ENDIAN) {
let num36 = 0;
let num37 = 0;
let num38 = 0;
if (0 < typeSize2) {
do {
num37 = num37 + (value[sum1 + num36] << 8 * num36);
num36 = num36 + 1;
num38 = num37;
} while (num36 < typeSize2);
}
let num35 = num38;
} else {
let num33 = 0;
let num34 = 0;
num35 = 0;
if (0 < typeSize2) {
do {
num34 = num34 + (value[sum1 + num33] << 8 * (typeSize2 - 1 - num33));
num33 = num33 + 1;
num35 = num34;
} while (num33 < typeSize2);
}
}
let obj4 = { value: null, description: null };
obj4[0] = num35;
obj4[1] = "" + num35;
items[num13].DependentImage1EntryNumber = obj4;
let value1 = ifd.MPEntry.value;
let tmp28 = c3;
let sum2 = num13 * c3 + 14;
let tmp30 = module;
let tmp31 = dependencyMap;
let obj13 = module(4819);
let typeSize3 = obj13.getTypeSize("SHORT");
if (byteOrder === module(4807).LITTLE_ENDIAN) {
let num42 = 0;
let num43 = 0;
let num44 = 0;
if (0 < typeSize3) {
do {
num43 = num43 + (value1[sum2 + num42] << 8 * num42);
num42 = num42 + 1;
num44 = num43;
} while (num42 < typeSize3);
}
let num41 = num44;
} else {
let num39 = 0;
let num40 = 0;
num41 = 0;
if (0 < typeSize3) {
do {
num40 = num40 + (value1[sum2 + num39] << 8 * (typeSize3 - 1 - num39));
num39 = num39 + 1;
num41 = num40;
} while (num39 < typeSize3);
}
}
let obj5 = { value: null, description: null };
obj5[0] = num41;
obj5[1] = "" + num41;
items[num13].DependentImage2EntryNumber = obj5;
buffer = buffer.buffer;
items[num13].image = buffer.slice(0, num22);
let tmp33 = require;
let tmp34 = dependencyMap;
let obj15 = require(4802) /* getDataView */;
let deferInitResult = obj15.deferInit(items[num13], "base64", function() {
return callback(table[4]).getBase64Image(this.image);
});
num13 = num13 + 1;
let _Math2 = Math;
let tmp36 = c3;
}
}
const value2 = iter.value;
const sum3 = num13 * c3 + 8;
const typeSize4 = module(4819).getTypeSize("LONG");
if (byteOrder === module(4807).LITTLE_ENDIAN) {
let num30 = 0;
let num31 = 0;
let num32 = 0;
if (0 < typeSize4) {
do {
num31 = num31 + (value2[sum3 + num30] << 8 * num30);
num30 = num30 + 1;
num32 = num31;
} while (num30 < typeSize4);
}
let num29 = num32;
} else {
let num27 = 0;
let num28 = 0;
num29 = 0;
if (0 < typeSize4) {
do {
num28 = num28 + (value2[sum3 + num27] << 8 * (typeSize4 - 1 - num27));
num27 = num27 + 1;
num29 = num28;
} while (num27 < typeSize4);
}
}
const sum4 = num29 + sum;
const obj16 = module(4819);
}
ifd.Images = items;
}
return ifd;
}
};