Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: source/patched-ffmpeg-mt/libavutil/internal.h

Issue 2850032: ffmpeg update to june 23 version which fixes mp4 crash on still frames with 3... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/patched-ffmpeg-mt/libavutil/eval.c ('k') | source/patched-ffmpeg-mt/libavutil/log.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/patched-ffmpeg-mt/libavutil/internal.h
===================================================================
--- source/patched-ffmpeg-mt/libavutil/internal.h (revision 50820)
+++ source/patched-ffmpeg-mt/libavutil/internal.h (working copy)
@@ -46,6 +46,12 @@
#endif
#endif
+
+/**
+ * Marks a variable as used and prevents the compiler from optimizing it away.
+ * This is usefull for asm that accesses varibles in ways that the compiler doesnt
+ * understand
+ */
#ifndef attribute_used
#if AV_GCC_VERSION_AT_LEAST(3,1)
# define attribute_used __attribute__((used))
@@ -196,6 +202,30 @@
# define NULL_IF_CONFIG_SMALL(x) x
#endif
+/**
+ * Create a non default alias for a function with specified version.
+ * This is needed when symbols are moved from a lib to a dependancy of the lib
+ * because the gnu linker as of 2010 is buggy and fails to dynamicaly link if a symbol
+ * is not found in the lib in which it was during link time with enabled versioning
+ * even if a correctly versioned and matching symbol exists in another lib and
+ * even if it did find that would it not contain an explicit check to fail
+ */
+#if HAVE_SYMVER_ASM_LABEL
+# define FF_SYMVER(type, name, args, ver) \
+ type ff_##name args __asm__ (EXTERN_PREFIX #name "@" ver); \
+ type ff_##name args
+#elif HAVE_SYMVER_GNU_ASM
+# define FF_SYMVER(type, name, args, ver) \
+ __asm__ (".symver ff_" #name "," EXTERN_PREFIX #name "@" ver); \
+ type ff_##name args; \
+ type ff_##name args
+#endif
+
+/**
+ * Returns NULL if a threading library has not been enabled.
+ * Used to disable threading functions in AVCodec definitions
+ * when not needed.
+ */
#if HAVE_THREADS
# define ONLY_IF_THREADS_ENABLED(x) x
#else
« no previous file with comments | « source/patched-ffmpeg-mt/libavutil/eval.c ('k') | source/patched-ffmpeg-mt/libavutil/log.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698