Skip to content

Commit

Permalink
Addresses #368 (review)
Browse files Browse the repository at this point in the history
  • Loading branch information
palemieux committed Jun 26, 2024
1 parent 1fdf591 commit c057b3e
Showing 1 changed file with 32 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -311,14 +311,45 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
isValid = false;
}

/* x sub-sampling */
if (p.csiz[0].xrsiz != 1) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
"APP2.HT: invalid horizontal sub-sampling for component 1");
isValid = false;
}
if (p.csiz.length > 1 && p.csiz[1].xrsiz != 1 &&
(p.csiz.length <= 2 || p.csiz[1].xrsiz != 2 || p.csiz[2].xrsiz != 2)) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
"APP2.HT: invalid horizontal sub-sampling for component 2");
isValid = false;
}
if (p.csiz.length > 2 && p.csiz[2].xrsiz != 1 && (p.csiz[1].xrsiz != 2 || p.csiz[2].xrsiz != 2)) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
"APP2.HT: invalid horizontal sub-sampling for component 3");
isValid = false;
}
if (p.csiz.length > 3 && p.csiz[3].xrsiz != 1) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
"APP2.HT: invalid horizontal sub-sampling for component 4");
isValid = false;
}

/* y sub-sampling and sample width */
if (p.csiz[0].ssiz > 15 || p.csiz[0].ssiz < 7) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
String.format("APP2.HT: Invalid bit depth (%d)", p.csiz[0].ssiz + 1));
isValid = false;
}

for (int i = 0; i < p.csiz.length; i++) {
if (p.csiz[i].yrsiz != 1) {
logger.addError(
Expand All @@ -327,23 +358,6 @@ private static boolean validateHT(CompositionImageEssenceDescriptorModel imageDe
String.format("APP2.HT: invalid vertical sub-sampling for component %d", i));
isValid = false;
}
if (p.csiz[i].xrsiz != 1) {
if (i == 2 && p.csiz[i].xrsiz != 2) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
"APP2.HT: invalid horizontal sub-sampling for component 2");
isValid = false;
}

if (i == 3 && p.csiz[3].xrsiz != p.csiz[2].xrsiz) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
IMFErrorLogger.IMFErrors.ErrorLevels.FATAL,
"APP2.HT: invalid horizontal sub-sampling for component 3");
isValid = false;
}
}
if (p.csiz[i].ssiz != p.csiz[0].ssiz) {
logger.addError(
IMFErrorLogger.IMFErrors.ErrorCodes.APPLICATION_COMPOSITION_ERROR,
Expand Down

0 comments on commit c057b3e

Please sign in to comment.