Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffmpeg and libav compatibility fixes (e.g. forward ffmpeg compatibility fix for matroska embedded subtitles) #2525

Closed
wants to merge 37 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9887aef
ffmpeg forward compatibility fix for matroska embedded subtitles
Alphix Apr 1, 2013
0e63a81
[FFmpeg] version bump to n1.2 (rev e820e3a) - lib/ffmpeg
Apr 7, 2013
6f653c5
[FFmpeg] version bump to n1.2 (rev e820e3a) - xbmc files
Apr 7, 2013
f11d503
Add ffmpeg/libav identification defines
Alphix Apr 7, 2013
5c35204
update: ffmpeg forward compatibility fix for matroska embedded subtitles
Alphix Apr 10, 2013
f5cc1b3
Remove obsolete ffmpeg version check (52,0,0)
Alphix Apr 7, 2013
4c95b14
Remove obsolete libavformat version check (52,14,0)
Alphix Apr 7, 2013
de58e2c
Remove obsolete libavcodec version check (52,38,1)
Alphix Apr 7, 2013
55daa30
Remove obsolete libavformat version check (52,83,0)
Alphix Apr 7, 2013
334a2ea
Update libavcodec version check
Alphix Apr 7, 2013
7520139
Update libavfilter version check
Alphix Apr 7, 2013
a6cb8db
[WIN32] fixed BuildSetup.bat: copy the pdb file to the build setup di…
Apr 11, 2013
e85eb14
Removed "dead" (commented out) line (// pic->age = 256*256*256*64; /…
Apr 11, 2013
6b64a49
fixed, restore search_paths_first in platform_ldflags only to avoid g…
davilla Apr 11, 2013
f6f7c8d
fixed compiler warning about unused var
davilla Apr 11, 2013
cde7173
Fix crash on delete of active profile
leechguy Apr 10, 2013
a30966e
Merge pull request #2589 from leechguy/CONTROL_AUTOLOGIN
Apr 11, 2013
400df14
[fix] actually care about 12/24h clock in last introduced timeformats
herrnst Apr 11, 2013
a50374c
Merge pull request #2595 from herrnst/pr-fixtimeformats12h
jmarshallnz Apr 11, 2013
5a22a9f
move the new 'auto login' string to the xbmc language file
ronie Apr 11, 2013
8a45973
Merge pull request #2596 from ronie/autologin
MartijnKaijser Apr 11, 2013
9ad1743
Merge pull request #2554 from FlyingRat/ffmpeg-n1.2
davilla Apr 11, 2013
2357c01
Merge pull request #2590 from ScudLee/Date-based_Nfo_fix
MartijnKaijser Apr 11, 2013
3d2b0a8
encoder: signed vs unsigned warning
elupus Apr 11, 2013
8967acd
dvdplayer: sub_id in ffmpeg has been depreciated and doesn't work
elupus Apr 11, 2013
c01c97d
gas-preprocessor/-arch switch, missed one in ceab8eb9b70f7af17850350c…
davilla Apr 11, 2013
d5fa35d
ffmpeg forward compatibility fix for matroska embedded subtitles
Alphix Apr 1, 2013
b43d891
Add ffmpeg/libav identification defines
Alphix Apr 7, 2013
e6b8573
update: ffmpeg forward compatibility fix for matroska embedded subtitles
Alphix Apr 10, 2013
995813f
Remove obsolete ffmpeg version check (52,0,0)
Alphix Apr 7, 2013
a428865
Remove obsolete libavformat version check (52,14,0)
Alphix Apr 7, 2013
7bf539a
Remove obsolete libavcodec version check (52,38,1)
Alphix Apr 7, 2013
b15668b
Remove obsolete libavformat version check (52,83,0)
Alphix Apr 7, 2013
b809e9d
Update libavcodec version check
Alphix Apr 7, 2013
9ca6175
Update libavfilter version check
Alphix Apr 7, 2013
4cd5568
Update #ifs to reflect ffmpeg 1.2 merge
Alphix Apr 11, 2013
cf8f35b
Merge branch 'ffmpeg-fixes' of https://github.com/Alphix/xbmc into ff…
Alphix Apr 11, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions addons/skin.confluence/720p/SettingsProfile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
<width>250</width>
<height>72</height>
<textoffsety>8</textoffsety>
<label>31960</label>
<label>33084</label>
<font>font24_title</font>
<align>right</align>
<aligny>top</aligny>
Expand All @@ -133,7 +133,7 @@
<width>250</width>
<height>72</height>
<textoffsety>8</textoffsety>
<label>31960</label>
<label>33084</label>
<font>font24_title</font>
<textcolor>grey2</textcolor>
<align>right</align>
Expand Down
4 changes: 0 additions & 4 deletions addons/skin.confluence/language/English/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,3 @@ msgstr ""
msgctxt "#31959"
msgid "SYSTEM"
msgstr ""

msgctxt "#31960"
msgid "Auto login"
msgstr ""
9 changes: 7 additions & 2 deletions language/English/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -11333,7 +11333,12 @@ msgctxt "#33083"
msgid "Enable custom script button"
msgstr ""

#empty strings from id 33084 to 33099
#: addons/skin.confluence/720p/SettingsProfile.xml
msgctxt "#33084"
msgid "Auto login"
msgstr ""

#empty strings from id 33085 to 33099

#: xbmc/network/network.cpp
msgctxt "#33100"
Expand Down Expand Up @@ -11892,5 +11897,5 @@ msgstr ""

#: xbmc/GUIInfoManager.cpp
msgctxt "#37014"
msgid "Most recent"
msgid "Last used profile"
msgstr ""
6 changes: 6 additions & 0 deletions lib/DllAvCodec.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ extern "C" {
#endif
}

#if LIBAVCODEC_VERSION_MICRO >= 100
#define LIBAVCODEC_FROM_FFMPEG
#else
#define LIBAVCODEC_FROM_LIBAV
#endif

#include "threads/SingleLock.h"

class DllAvCodecInterface
Expand Down
34 changes: 25 additions & 9 deletions lib/DllAvFilter.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,13 @@ extern "C" {
#endif
}

#if LIBAVFILTER_VERSION_MICRO >= 100
#define LIBAVFILTER_FROM_FFMPEG
#else
#define LIBAVFILTER_FROM_LIBAV
#endif


#include "threads/SingleLock.h"

class DllAvFilterInterface
Expand All @@ -74,10 +81,13 @@ class DllAvFilterInterface
virtual void avfilter_inout_free(AVFilterInOut **inout)=0;
virtual int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)=0;
virtual int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx)=0;
#if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
#else
#if (defined(LIBAVFILTER_FROM_LIBAV) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(3,5,0)) || \
(defined(LIBAVFILTER_FROM_FFMPEG) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(3.43.100))
virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame *frame)=0;
#elif defined(LIBAVFILTER_FROM_FFMPEG) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,72,105)
virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
#else
virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
#endif
virtual void avfilter_unref_buffer(AVFilterBufferRef *ref)=0;
virtual int avfilter_link(AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad)=0;
Expand Down Expand Up @@ -134,10 +144,13 @@ class DllAvFilter : public DllDynamic, DllAvFilterInterface
{
return ::avfilter_graph_config(graphctx, log_ctx);
}
#if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
#else
#if (defined(LIBAVFILTER_FROM_LIBAV) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(3,5,0)) || \
(defined(LIBAVFILTER_FROM_FFMPEG) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(3.43.100))
virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame) { return ::av_buffersrc_add_frame(buffer_filter, frame); }
#elif defined(LIBAVFILTER_FROM_FFMPEG) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,72,105)
virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame(buffer_filter, frame, flags); }
#else
virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
#endif
virtual void avfilter_unref_buffer(AVFilterBufferRef *ref) { ::avfilter_unref_buffer(ref); }
virtual int avfilter_link(AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad) { return ::avfilter_link(src, srcpad, dst, dstpad); }
Expand Down Expand Up @@ -172,10 +185,13 @@ class DllAvFilter : public DllDynamic, DllAvFilterInterface
DEFINE_METHOD1(void, avfilter_inout_free_dont_call, (AVFilterInOut **p1))
DEFINE_FUNC_ALIGNED5(int, __cdecl, avfilter_graph_parse_dont_call, AVFilterGraph *, const char *, AVFilterInOut **, AVFilterInOut **, void *)
DEFINE_FUNC_ALIGNED2(int, __cdecl, avfilter_graph_config_dont_call, AVFilterGraph *, void *)
#if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
DEFINE_METHOD3(int, av_vsrc_buffer_add_frame, (AVFilterContext *p1, AVFrame *p2, int p3))
#else
#if (defined(LIBAVFILTER_FROM_LIBAV) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(3,5,0)) || \
(defined(LIBAVFILTER_FROM_FFMPEG) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(3.43.100))
DEFINE_METHOD2(int, av_buffersrc_add_frame, (AVFilterContext *p1, AVFrame *p2))
#elif defined(LIBAVFILTER_FROM_FFMPEG) && LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,72,105)
DEFINE_METHOD3(int, av_buffersrc_add_frame, (AVFilterContext *p1, AVFrame *p2, int p3))
#else
DEFINE_METHOD3(int, av_vsrc_buffer_add_frame, (AVFilterContext *p1, AVFrame *p2, int p3))
#endif
DEFINE_METHOD1(void, avfilter_unref_buffer, (AVFilterBufferRef *p1))
DEFINE_METHOD4(int, avfilter_link, (AVFilterContext *p1, unsigned p2, AVFilterContext *p3, unsigned p4))
Expand Down
7 changes: 5 additions & 2 deletions lib/DllAvFormat.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,12 @@ extern "C" {
#include <ffmpeg/avformat.h>
#endif
/* av_read_frame_flush() is defined for us in lib/xbmc-dll-symbols/DllAvFormat.c */
void av_read_frame_flush(AVFormatContext *s);
// void av_read_frame_flush(AVFormatContext *s); // av_read_frame_flush decrepated
void ff_read_frame_flush(AVFormatContext *s); // internal replacement
#else
#include "libavformat/avformat.h"
void ff_read_frame_flush(AVFormatContext *s); // internal replacement

#endif
}

Expand Down Expand Up @@ -115,7 +118,7 @@ class DllAvFormat : public DllDynamic, DllAvFormatInterface
virtual AVInputFormat *av_find_input_format(const char *short_name) { return ::av_find_input_format(short_name); }
virtual void avformat_close_input(AVFormatContext **s) { ::avformat_close_input(s); }
virtual int av_read_frame(AVFormatContext *s, AVPacket *pkt) { return ::av_read_frame(s, pkt); }
virtual void av_read_frame_flush(AVFormatContext *s) { ::av_read_frame_flush(s); }
virtual void av_read_frame_flush(AVFormatContext *s) { ::ff_read_frame_flush(s); } // av_read_frame_flush decrepated
virtual int av_read_play(AVFormatContext *s) { return ::av_read_play(s); }
virtual int av_read_pause(AVFormatContext *s) { return ::av_read_pause(s); }
virtual int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags) { return ::av_seek_frame(s, stream_index, timestamp, flags); }
Expand Down
4 changes: 3 additions & 1 deletion lib/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,9 @@ endif
ffmpeg:
$(MAKE) -C $@
ifeq ($(findstring osx,$(ARCH)), osx)
-$(AR) d ffmpeg/libavcodec/libavcodec.a inverse.o
-$(AR) d ffmpeg/libavcodec/libavcodec.a log2_tab.o
-$(AR) d ffmpeg/libavformat/libavformat.a log2_tab.o
-$(AR) d ffmpeg/libswresample/libswresample.a log2_tab.o
endif

clean:
Expand Down
114 changes: 64 additions & 50 deletions lib/ffmpeg/.gitignore
Original file line number Diff line number Diff line change
@@ -1,56 +1,70 @@
.config
.version
*.a
*.o
*.d
*.def
*.dll
*.dylib
*.exe
*.ho
*.exp
*.h.c
*.ilk
*.lib
*.pc
*.pdb
*.so
*.so.*
*.ver
*-example
*-test
*_g
*.def
*.dll
*.lib
*.exp
config.*
doc/*.1
doc/*.html
doc/*.pod
doc/fate.txt
doxy
ffmpeg
ffplay
ffprobe
ffserver
avconv
libavcodec/*_tablegen
libavcodec/*_tables.c
libavcodec/*_tables.h
libavcodec/codec_names.h
libavcodec/libavcodec*
libavcore/libavcore*
libavdevice/libavdevice*
libavfilter/libavfilter*
libavformat/libavformat*
libavutil/avconfig.h
libavutil/libavutil*
libpostproc/libpostproc*
libswresample/libswresample*
libswscale/libswscale*
tests/audiogen
tests/base64
tests/data
tests/rotozoom
tests/tiny_psnr
tests/videogen
tests/vsynth1
tests/vsynth2
tools/aviocat
tools/cws2fws
tools/graph2dot
tools/ismindex
tools/lavfi-showfiltfmts
tools/pktdumper
tools/probetest
tools/qt-faststart
tools/trasher
version.h
/.config
/.version
/ffmpeg
/ffplay
/ffprobe
/ffserver
/config.*
/version.h
/doc/*.1
/doc/*.3
/doc/*.html
/doc/*.pod
/doc/avoptions_codec.texi
/doc/avoptions_format.texi
/doc/examples/decoding_encoding
/doc/examples/demuxing
/doc/examples/filtering_audio
/doc/examples/filtering_video
/doc/examples/metadata
/doc/examples/muxing
/doc/examples/pc-uninstalled
/doc/examples/resampling_audio
/doc/examples/scaling_video
/doc/fate.txt
/doc/doxy/html/
/doc/print_options
/libavcodec/*_tablegen
/libavcodec/*_tables.c
/libavcodec/*_tables.h
/libavutil/avconfig.h
/tests/audiogen
/tests/base64
/tests/data/
/tests/rotozoom
/tests/tiny_psnr
/tests/videogen
/tests/vsynth1/
/tools/aviocat
/tools/ffbisect
/tools/bisect.need
/tools/cws2fws
/tools/fourcc2pixfmt
/tools/ffescape
/tools/ffeval
/tools/graph2dot
/tools/ismindex
/tools/pktdumper
/tools/probetest
/tools/qt-faststart
/tools/trasher
/tools/seek_print
2 changes: 0 additions & 2 deletions lib/ffmpeg/COPYING.LGPLv2.1
Original file line number Diff line number Diff line change
Expand Up @@ -500,5 +500,3 @@ necessary. Here is a sample; alter the names:
Ty Coon, President of Vice

That's all there is to it!


59 changes: 5 additions & 54 deletions lib/ffmpeg/CREDITS
Original file line number Diff line number Diff line change
@@ -1,55 +1,6 @@
This file contains the names of some of the people who have contributed to
FFmpeg. The names are sorted alphabetically by last name. As this file is
currently quite outdated and git serves as a much better tool for determining
authorship, it remains here for historical reasons only.
See the Git history of the project (git://source.ffmpeg.org/ffmpeg) to
get the names of people who have contributed to FFmpeg.

Dénes Balatoni
Michel Bardiaux
Fabrice Bellard
Patrice Bensoussan
Alex Beregszaszi
BERO
Thilo Borgmann
Mario Brito
Ronald Bultje
Alex Converse
Maarten Daniels
Reimar Doeffinger
Tim Ferguson
Brian Foley
Arpad Gereoffy
Philip Gladstone
Vladimir Gneushev
Roine Gustafsson
David Hammerton
Wolfgang Hesseler
Marc Hoffman
Falk Hueffner
Aurélien Jacobs
Steven Johnson
Zdenek Kabelac
Robin Kay
Todd Kirby
Nick Kurshev
Benjamin Larsson
Loïc Le Loarer
Daniel Maas
Mike Melanson
Loren Merritt
Jeff Muizelaar
Michael Niedermayer
François Revol
Peter Ross
Måns Rullgård
Stefano Sabatini
Roman Shaposhnik
Oded Shimon
Dieter Shirley
Konstantin Shishkov
Juan J. Sierralta
Ewald Snel
Sascha Sommer
Leon van Stuivenberg
Roberto Togni
Lionel Ulmer
Reynaldo Verdejo
To check the log, you can type the command "git log" in the FFmpeg
source directory, or browse the online repository at
http://source.ffmpeg.org.