All pastes #735422 Raw Edit

Anonymous

public diff v1 · immutable
·published 2007-10-13 16:41 UTC
rendered paste body
Index: libhb/muxmp4.c===================================================================--- libhb/muxmp4.c      (revision 1022)+++ libhb/muxmp4.c      (working copy)@@ -252,20 +252,31 @@                        memcpy(nval, val, size);                         float width, height;-                       float widthRatio;                        width = job->pixel_aspect_width;                        height = job->pixel_aspect_height;-                       widthRatio = (width / height) * 0x10000; -                       uint32_t widthRatioInt;-                       widthRatioInt = (uint32_t)widthRatio;+                       uint32_t pixelRatioInt; +                       if (width >= height)+                       {+                               pixelRatioInt = (uint32_t)((width / height) * 0x10000); #ifdef WORDS_BIGENDIAN-                       ptr32[0] = widthRatioInt;+                               ptr32[0] = pixelRatioInt; #else-                       /* we need to switch the endianness, as the file format expects big endian */-                       ptr32[0] = ((widthRatioInt & 0x000000FF) << 24) + ((widthRatioInt & 0x0000FF00) << 8) + ((widthRatioInt & 0x00FF0000) >> 8) + ((widthRatioInt & 0xFF000000) >> 24);+                               /* we need to switch the endianness, as the file format expects big endian */+                               ptr32[0] = ((pixelRatioInt & 0x000000FF) << 24) + ((pixelRatioInt & 0x0000FF00) << 8) + ((pixelRatioInt & 0x00FF0000) >> 8) + ((pixelRatioInt & 0xFF000000) >> 24); #endif+                       }+                       else+                       {+                               pixelRatioInt = (uint32_t)((height / width) * 0x10000);+#ifdef WORDS_BIGENDIAN+                               ptr32[1] = pixelRatioInt;+#else+                               /* we need to switch the endianness, as the file format expects big endian */+                               ptr32[1] = ((pixelRatioInt & 0x000000FF) << 24) + ((pixelRatioInt & 0x0000FF00) << 8) + ((pixelRatioInt & 0x00FF0000) >> 8) + ((pixelRatioInt & 0xFF000000) >> 24);+#endif+            }                         if(!MP4SetBytesProperty(m->file, "moov.trak.tkhd.reserved3", nval, size)) {                                hb_log("Problem setting transform matrix");