Skip to content

Commit 10a7f63

Browse files
committed
Downgrading errors that don't prevent further processing to NON_FATAL
1 parent f711967 commit 10a7f63

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

src/main/java/com/netflix/imflibrary/st2067_2/Application2E2021.java

+22-22
Original file line numberDiff line numberDiff line change
@@ -291,15 +291,15 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
291291
if (p.xosiz != 0 || p.yosiz != 0 || p.xtosiz != 0 || p.ytosiz != 0) {
292292
logger.addError(
293293
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
294-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
294+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
295295
"APP2.HT: Invalid XOsiz, YOsiz, XTOsiz or YTOsiz");
296296
isValid = false;
297297
}
298298

299299
if (p.xtsiz < p.xsiz || p.ytsiz < p.ysiz) {
300300
logger.addError(
301301
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
302-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
302+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
303303
"APP2.HT: Invalid XTsiz or XYsiz");
304304
isValid = false;
305305
}
@@ -309,7 +309,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
309309
if (p.csiz.length <= 0 || p.csiz.length > 4) {
310310
logger.addError(
311311
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
312-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
312+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
313313
String.format("APP2.HT: Invalid number (%d) of components", p.csiz.length));
314314
isValid = false;
315315
}
@@ -318,29 +318,29 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
318318
if (p.csiz[0].xrsiz != 1) {
319319
logger.addError(
320320
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
321-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
321+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
322322
"APP2.HT: invalid horizontal sub-sampling for component 1");
323323
isValid = false;
324324
}
325325
if (p.csiz.length > 1 && p.csiz[1].xrsiz != 1 &&
326326
(p.csiz.length <= 2 || p.csiz[1].xrsiz != 2 || p.csiz[2].xrsiz != 2)) {
327327
logger.addError(
328328
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
329-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
329+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
330330
"APP2.HT: invalid horizontal sub-sampling for component 2");
331331
isValid = false;
332332
}
333333
if (p.csiz.length > 2 && p.csiz[2].xrsiz != 1 && (p.csiz[1].xrsiz != 2 || p.csiz[2].xrsiz != 2)) {
334334
logger.addError(
335335
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
336-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
336+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
337337
"APP2.HT: invalid horizontal sub-sampling for component 3");
338338
isValid = false;
339339
}
340340
if (p.csiz.length > 3 && p.csiz[3].xrsiz != 1) {
341341
logger.addError(
342342
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
343-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
343+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
344344
"APP2.HT: invalid horizontal sub-sampling for component 4");
345345
isValid = false;
346346
}
@@ -349,22 +349,22 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
349349
if (p.csiz[0].ssiz > 15 || p.csiz[0].ssiz < 7) {
350350
logger.addError(
351351
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
352-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
352+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
353353
String.format("APP2.HT: Invalid bit depth (%d)", p.csiz[0].ssiz + 1));
354354
isValid = false;
355355
}
356356
for (int i = 0; i < p.csiz.length; i++) {
357357
if (p.csiz[i].yrsiz != 1) {
358358
logger.addError(
359359
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
360-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
360+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
361361
String.format("APP2.HT: invalid vertical sub-sampling for component %d", i));
362362
isValid = false;
363363
}
364364
if (p.csiz[i].ssiz != p.csiz[0].ssiz) {
365365
logger.addError(
366366
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
367-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
367+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
368368
"APP2.HT: all components must have the same bit depth");
369369
isValid = false;
370370
}
@@ -376,7 +376,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
376376
/* codestream shall require only Part 15 capabilities */
377377
logger.addError(
378378
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
379-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
379+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
380380
"APP2.HT: missing or invalid CAP marker");
381381
return false;
382382
}
@@ -385,7 +385,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
385385
/* Bits 12-15 of Ccap15 shall be 0 */
386386
logger.addError(
387387
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
388-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
388+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
389389
"APP2.HT: Bits 12-15 of Ccap15 shall be 0");
390390
isValid = false;
391391
}
@@ -409,7 +409,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
409409
/* bad code-block style */
410410
logger.addError(
411411
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
412-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
412+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
413413
"APP2.HT: Invalid default code-block style");
414414
isValid = false;
415415
}
@@ -425,7 +425,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
425425
if (p.cod.numDecompLevels == 0) {
426426
logger.addError(
427427
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
428-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
428+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
429429
"APP2.HT: Number of decomposition levels must be greater than 0");
430430
isValid = false;
431431
}
@@ -437,7 +437,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
437437
(maxSz <= 8192 && p.cod.numDecompLevels > 7)) {
438438
logger.addError(
439439
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
440-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
440+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
441441
"APP2.HT: Invalid number of decomposition levels");
442442
isValid = false;
443443
}
@@ -447,7 +447,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
447447
if (p.cod.numLayers != 1) {
448448
logger.addError(
449449
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
450-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
450+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
451451
String.format("APP2.HT: Number of layers (%d) is not 1", p.cod.numLayers));
452452
isValid = false;
453453
}
@@ -457,15 +457,15 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
457457
if (p.cod.ycb < 5 || p.cod.ycb > 6) {
458458
logger.addError(
459459
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
460-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
460+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
461461
String.format("APP2.HT: Invalid vertical code-block size (ycb = %d)", p.cod.ycb));
462462
isValid = false;
463463
}
464464

465465
if (p.cod.xcb < 5 || p.cod.xcb > 7) {
466466
logger.addError(
467467
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
468-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
468+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
469469
String.format("APP2.HT: Invalid horizontal code-block size (xcb = %d)", p.cod.xcb));
470470
isValid = false;
471471
}
@@ -478,7 +478,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
478478
if (isHTREV && !isReversibleFilter) {
479479
logger.addError(
480480
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
481-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
481+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
482482
"APP2.HT: 9-7 irreversible filter is used but HTREV is signaled in CAP");
483483
isValid = false;
484484
}
@@ -488,7 +488,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
488488
if (p.cod.precinctSizes.length == 0 || p.cod.precinctSizes[0] != 0x77) {
489489
logger.addError(
490490
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
491-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
491+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
492492
"APP2.HT: Invalid precinct sizes");
493493
isValid = false;
494494
}
@@ -497,7 +497,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
497497
if (p.cod.precinctSizes[i] != 0x88) {
498498
logger.addError(
499499
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
500-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
500+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
501501
"APP2.HT: Invalid precinct sizes");
502502
isValid = false;
503503
break;
@@ -527,7 +527,7 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
527527
if (codestreamB > 24) {
528528
logger.addError(
529529
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
530-
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
530+
IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL,
531531
"APP2.HT: Parameter B has exceeded its limit to an extend that decoder issues are to be expected");
532532
isValid = false;
533533
} else if (codestreamB > maxB) {

0 commit comments

Comments
 (0)