| 754 | } // QuickTimeVideo::keysTagDecoder |
| 755 | |
| 756 | void QuickTimeVideo::trackApertureTagDecoder(size_t size) { |
| 757 | DataBuf buf(4); |
| 758 | DataBuf buf2(2); |
| 759 | size_t cur_pos = io_->tell(); |
| 760 | byte n = 3; |
| 761 | |
| 762 | while (n--) { |
| 763 | io_->seek(static_cast<long>(4), BasicIo::cur); |
| 764 | io_->readOrThrow(buf.data(), 4); |
| 765 | |
| 766 | if (equalsQTimeTag(buf, "clef")) { |
| 767 | io_->seek(static_cast<long>(4), BasicIo::cur); |
| 768 | io_->readOrThrow(buf.data(), 2); |
| 769 | io_->readOrThrow(buf2.data(), 2); |
| 770 | xmpData_["Xmp.video.CleanApertureWidth"] = |
| 771 | Exiv2::toString(buf.read_uint16(0, bigEndian)) + "." + Exiv2::toString(buf2.read_uint16(0, bigEndian)); |
| 772 | io_->readOrThrow(buf.data(), 2); |
| 773 | io_->readOrThrow(buf2.data(), 2); |
| 774 | xmpData_["Xmp.video.CleanApertureHeight"] = |
| 775 | Exiv2::toString(buf.read_uint16(0, bigEndian)) + "." + Exiv2::toString(buf2.read_uint16(0, bigEndian)); |
| 776 | } |
| 777 | |
| 778 | else if (equalsQTimeTag(buf, "prof")) { |
| 779 | io_->seek(static_cast<long>(4), BasicIo::cur); |
| 780 | io_->readOrThrow(buf.data(), 2); |
| 781 | io_->readOrThrow(buf2.data(), 2); |
| 782 | xmpData_["Xmp.video.ProductionApertureWidth"] = |
| 783 | Exiv2::toString(buf.read_uint16(0, bigEndian)) + "." + Exiv2::toString(buf2.read_uint16(0, bigEndian)); |
| 784 | io_->readOrThrow(buf.data(), 2); |
| 785 | io_->readOrThrow(buf2.data(), 2); |
| 786 | xmpData_["Xmp.video.ProductionApertureHeight"] = |
| 787 | Exiv2::toString(buf.read_uint16(0, bigEndian)) + "." + Exiv2::toString(buf2.read_uint16(0, bigEndian)); |
| 788 | } |
| 789 | |
| 790 | else if (equalsQTimeTag(buf, "enof")) { |
| 791 | io_->seek(static_cast<long>(4), BasicIo::cur); |
| 792 | io_->readOrThrow(buf.data(), 2); |
| 793 | io_->readOrThrow(buf2.data(), 2); |
| 794 | xmpData_["Xmp.video.EncodedPixelsWidth"] = |
| 795 | Exiv2::toString(buf.read_uint16(0, bigEndian)) + "." + Exiv2::toString(buf2.read_uint16(0, bigEndian)); |
| 796 | io_->readOrThrow(buf.data(), 2); |
| 797 | io_->readOrThrow(buf2.data(), 2); |
| 798 | xmpData_["Xmp.video.EncodedPixelsHeight"] = |
| 799 | Exiv2::toString(buf.read_uint16(0, bigEndian)) + "." + Exiv2::toString(buf2.read_uint16(0, bigEndian)); |
| 800 | } |
| 801 | } |
| 802 | io_->seek(static_cast<long>(cur_pos + size), BasicIo::beg); |
| 803 | } // QuickTimeVideo::trackApertureTagDecoder |
| 804 | |
| 805 | void QuickTimeVideo::CameraTagsDecoder(size_t size_external) { |
| 806 | size_t cur_pos = io_->tell(); |
nothing calls this directly
no test coverage detected