Compile Time Issues

I was hoping that I would have had a good write-up on motion vectors at this point. Whilst I have been undertaking further reading and have a better understanding of how these work, I have not yet had the chance to formalise this in a write-up. I have also been looking at how I would go about modifying motion vectors.

From what I have gauged so far, and from emails with Michael Niedermayer (one of the contributors of FFmpeg), I will need to modify FFmpeg to provide the encoding mechanisms with custom motion vectors.

I'm not entirely happy with the idea of modifying FFmpeg, as keeping my version of it up to date with FFmpeg will be difficult. However, I am now moving forwards with the idea that my code will have to directly include the source of FFmpeg - as it will need to be modified in parts. It is not ideal, but for now, it will do.

So, with this strategy in mind, I set about attempting to set up a project that will be entirely self-contained and will not run off pre-compile/pre-install FFmpeg libraries. In the main, this has been successful. It took some effort, but in the end, it all worked well, and make files were eventually sorted so that I could compile across platforms. The state of my desk reflects the amount of work that I have done since last Friday's meeting (photo).

I have mentioned in previous blog posts about my transcoding issues on different platforms. To recap, I seem to get an issue with audio distortion. Previously, transcoding only worked perfectly on Ubuntu. On Windows or Mac OS X I would get audio distortion. Now it appears that I get this all the time - regardless of OS!

It has been suggested to me that I might be getting errors with floating-point operations - as floating-point number representations can differ between systems. Whether or not it is floating-point operations, I believe that this points to a compiler flag or OS-compiler related issue being the source of my problems.

I am now going to battle on with trying to solve this issue. Should I fix this or get overly frustrated with this (highly probable), I will work on any of the following:

  • Writing up finding on motion vectors
  • Attempt to modify motion vector calculating code.

My to-do list also includes:

  • Acting on feedback from my Survey and Analysis (comments by supervisor and second marker).
  • Discuss and start work on the introduction of the final report (discuss with supervisor).