| 764 | #endif // AVIF_ENABLE_EXPERIMENTAL_MINI |
| 765 | |
| 766 | static avifResult avifEncoderWritePaspProperty(avifRWStream * dedupStream, |
| 767 | avifRWStream * outputStream, |
| 768 | const avifImage * imageMetadata, |
| 769 | avifItemPropertyAssociationArray * associations, |
| 770 | avifItemPropertyDedup * dedup) |
| 771 | { |
| 772 | if (imageMetadata->transformFlags & AVIF_TRANSFORM_PASP) { |
| 773 | if (dedup) { |
| 774 | avifItemPropertyDedupStart(dedup); |
| 775 | } |
| 776 | avifBoxMarker pasp; |
| 777 | AVIF_CHECKRES(avifRWStreamWriteBox(dedupStream, "pasp", AVIF_BOX_SIZE_TBD, &pasp)); |
| 778 | AVIF_CHECKRES(avifRWStreamWriteU32(dedupStream, imageMetadata->pasp.hSpacing)); // unsigned int(32) hSpacing; |
| 779 | AVIF_CHECKRES(avifRWStreamWriteU32(dedupStream, imageMetadata->pasp.vSpacing)); // unsigned int(32) vSpacing; |
| 780 | AVIF_CHECKRES(avifRWStreamFinishBox(dedupStream, pasp)); |
| 781 | if (dedup) { |
| 782 | AVIF_CHECKRES(avifItemPropertyDedupFinish(dedup, outputStream, associations, /*essential=*/AVIF_FALSE)); |
| 783 | } |
| 784 | } |
| 785 | return AVIF_RESULT_OK; |
| 786 | } |
| 787 | |
| 788 | static avifResult avifEncoderWriteTransformativeProperties(avifRWStream * dedupStream, |
| 789 | avifRWStream * outputStream, |
no test coverage detected