On Tue, Jan 05, 2016 at 10:19:28AM +0000, Nicolas Derouineau wrote: > >this should be in a seperate patch and libavutil/version.h should have > >its minor version bumped > > Ok, so I'm going to do two separate patch (commit ?) for libavformat and for > libavutil.
yes, please do > Where should I bump libavutil/version.h ? (I'm not sure I really understand > this action). when a new feature is added to a lib, its version should be increased so that any application can use the version to check if the feature is available the middle number is theoreticaly the correct one to increase for feature additions > > >GreenMetaData is defined in h264.h, which is an internal header > >while AVFrameSideDataType is external. public API should not refer to > >internal/private headers > > Ok > > >also the struct, as currently defined is platform specific. Theres no > >gurantee that a compiler doesnt add padding betwen the elements. > > I'm not sure how to deal with this issue in ffmpeg. I guess #pragma packed is > not an option, right ? no, #pragma packed, cant be used > > >Also the code initializing it only matches the platform dependant struct > >on little endian > > Can you explain to me which part of the code is platform dependant on little > endian ? (because memset seems allright to me, but I guess I'm wrong). IIRC C allows fields to have arbitrary padding this does not happen on actual systems so its hypothetical but we should not knowingly write code that depends on assumtations that are outside the standards unless thats somehow hard/ugly to avoid it should be quite easy to just treat the stored side data as a array of bytes with defined meaning for each (preferrably with some tought about future extensibilty) that can then be read7written into the struct 1 element at a time as in mystruct.this = AV_RB16(myarray+123) [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Awnsering whenever a program halts or runs forever is On a turing machine, in general impossible (turings halting problem). On any real computer, always possible as a real computer has a finite number of states N, and will either halt in less than N cycles or never halt.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel