Browse files

re-sync FFmpeg to SHA:ea5dab58e074a91330e1f076a4cbe8fece889afe

  • Loading branch information...
1 parent 6fe9ad0 commit 174c795297e92b612bae94c52c7a6289d68de89b @jyavenard jyavenard committed May 23, 2012
Showing with 11,547 additions and 8,337 deletions.
  1. +71 −23 mythtv/configure
  2. +14 −9 mythtv/external/FFmpeg/.gitignore
  3. +13 −0 mythtv/external/FFmpeg/Changelog
  4. +2 −0 mythtv/external/FFmpeg/MAINTAINERS
  5. +8 −4 mythtv/external/FFmpeg/Makefile
  6. +7 −1 mythtv/external/FFmpeg/README
  7. +46 −1 mythtv/external/FFmpeg/README.sync
  8. +13 −0 mythtv/external/FFmpeg/arch.mak
  9. +29 −35 mythtv/external/FFmpeg/cmdutils.c
  10. +1 −0 mythtv/external/FFmpeg/cmdutils.h
  11. +1 −0 mythtv/external/FFmpeg/cmdutils_common_opts.h
  12. +5 −7 mythtv/external/FFmpeg/common.mak
  13. +72 −22 mythtv/external/FFmpeg/configure
  14. +68 −7 mythtv/external/FFmpeg/doc/APIchanges
  15. +1 −0 mythtv/external/FFmpeg/doc/Makefile
  16. +2 −0 mythtv/external/FFmpeg/doc/avtools-common-opts.texi
  17. +16 −7 mythtv/external/FFmpeg/doc/developer.texi
  18. +21 −10 mythtv/external/FFmpeg/doc/examples/Makefile
  19. +16 −11 mythtv/external/FFmpeg/doc/examples/decoding_encoding.c
  20. +6 −16 mythtv/external/FFmpeg/doc/examples/filtering_audio.c
  21. +3 −4 mythtv/external/FFmpeg/doc/examples/filtering_video.c
  22. +1 −1 mythtv/external/FFmpeg/doc/examples/metadata.c
  23. +3 −3 mythtv/external/FFmpeg/doc/examples/muxing.c
  24. +79 −69 mythtv/external/FFmpeg/doc/ffmpeg.texi
  25. +1 −0 mythtv/external/FFmpeg/doc/ffplay.texi
  26. +35 −5 mythtv/external/FFmpeg/doc/ffprobe.texi
  27. +116 −0 mythtv/external/FFmpeg/doc/filter_design.txt
  28. +357 −135 mythtv/external/FFmpeg/doc/filters.texi
  29. +7 −3 mythtv/external/FFmpeg/doc/general.texi
  30. +8 −0 mythtv/external/FFmpeg/doc/git-howto.texi
  31. +7 −0 mythtv/external/FFmpeg/doc/indevs.texi
  32. +77 −11 mythtv/external/FFmpeg/doc/muxers.texi
  33. +17 −27 mythtv/external/FFmpeg/doc/platform.texi
  34. +2 −0 mythtv/external/FFmpeg/doc/print_options.c
  35. +158 −0 mythtv/external/FFmpeg/doc/syntax.texi
  36. +2,010 −1,313 mythtv/external/FFmpeg/ffmpeg.c
  37. +71 −59 mythtv/external/FFmpeg/ffplay.c
  38. +0 −17 mythtv/external/FFmpeg/ffpresets/libvpx-1080p.ffpreset
  39. +0 −17 mythtv/external/FFmpeg/ffpresets/libvpx-1080p50_60.ffpreset
  40. +0 −16 mythtv/external/FFmpeg/ffpresets/libvpx-360p.ffpreset
  41. +0 −17 mythtv/external/FFmpeg/ffpresets/libvpx-720p.ffpreset
  42. +0 −17 mythtv/external/FFmpeg/ffpresets/libvpx-720p50_60.ffpreset
  43. +213 −252 mythtv/external/FFmpeg/ffprobe.c
  44. +4 −1 mythtv/external/FFmpeg/ffserver.c
  45. +12 −9 mythtv/external/FFmpeg/libavcodec/4xm.c
  46. +58 −33 mythtv/external/FFmpeg/libavcodec/Makefile
  47. +10 −5 mythtv/external/FFmpeg/libavcodec/aac.h
  48. +3 −0 mythtv/external/FFmpeg/libavcodec/aaccoder.c
  49. +208 −136 mythtv/external/FFmpeg/libavcodec/aacdec.c
  50. +11 −7 mythtv/external/FFmpeg/libavcodec/aacenc.c
  51. +74 −166 mythtv/external/FFmpeg/libavcodec/aacps.c
  52. +12 −10 mythtv/external/FFmpeg/libavcodec/aacps.h
  53. +10 −10 mythtv/external/FFmpeg/libavcodec/aacps_tablegen.c
  54. +8 −7 mythtv/external/FFmpeg/libavcodec/aacps_tablegen.h
  55. +214 −0 mythtv/external/FFmpeg/libavcodec/aacpsdsp.c
  56. +53 −0 mythtv/external/FFmpeg/libavcodec/aacpsdsp.h
  57. +9 −7 mythtv/external/FFmpeg/libavcodec/aacsbr.c
  58. +2 −2 mythtv/external/FFmpeg/libavcodec/aacsbrdata.h
  59. +2 −2 mythtv/external/FFmpeg/libavcodec/aactab.c
  60. +2 −2 mythtv/external/FFmpeg/libavcodec/aactab.h
  61. +26 −11 mythtv/external/FFmpeg/libavcodec/aasc.c
  62. +4 −0 mythtv/external/FFmpeg/libavcodec/ac3dec.c
  63. +1 −1 mythtv/external/FFmpeg/libavcodec/ac3enc.c
  64. +11 −10 mythtv/external/FFmpeg/libavcodec/ac3enc_fixed.c
  65. +11 −10 mythtv/external/FFmpeg/libavcodec/ac3enc_float.c
  66. +6 −4 mythtv/external/FFmpeg/libavcodec/adpcm.c
  67. +3 −3 mythtv/external/FFmpeg/libavcodec/adpcmenc.c
  68. +2 −1 mythtv/external/FFmpeg/libavcodec/adxdec.c
  69. +1 −1 mythtv/external/FFmpeg/libavcodec/alac.c
  70. +8 −3 mythtv/external/FFmpeg/libavcodec/allcodecs.c
  71. +10 −5 mythtv/external/FFmpeg/libavcodec/alsdec.c
  72. +2 −1 mythtv/external/FFmpeg/libavcodec/amrnbdec.c
  73. +2 −1 mythtv/external/FFmpeg/libavcodec/amrwbdec.c
  74. +1 −1 mythtv/external/FFmpeg/libavcodec/anm.c
  75. +6 −6 mythtv/external/FFmpeg/libavcodec/apedec.c
  76. +12 −11 mythtv/external/FFmpeg/libavcodec/arm/Makefile
  77. +57 −0 mythtv/external/FFmpeg/libavcodec/arm/aacpsdsp_init_arm.c
  78. +272 −0 mythtv/external/FFmpeg/libavcodec/arm/aacpsdsp_neon.S
  79. +6 −2 mythtv/external/FFmpeg/libavcodec/arm/ac3dsp_init_arm.c
  80. +8 −1 mythtv/external/FFmpeg/libavcodec/arm/asm.S
  81. +6 −2 mythtv/external/FFmpeg/libavcodec/arm/dcadsp_init_arm.c
  82. +6 −4 mythtv/external/FFmpeg/libavcodec/arm/dsputil_init_arm.c
  83. +1 −1 mythtv/external/FFmpeg/libavcodec/arm/dsputil_init_armv5te.c
  84. +1 −1 mythtv/external/FFmpeg/libavcodec/arm/dsputil_init_armv6.c
  85. +4 −1 mythtv/external/FFmpeg/libavcodec/arm/dsputil_init_vfp.c
  86. +229 −159 mythtv/external/FFmpeg/libavcodec/arm/dsputil_neon.S
  87. +5 −1 mythtv/external/FFmpeg/libavcodec/arm/fft_fixed_init_arm.c
  88. +10 −3 mythtv/external/FFmpeg/libavcodec/arm/fft_init_arm.c
  89. +5 −2 mythtv/external/FFmpeg/libavcodec/arm/fmtconvert_init_arm.c
  90. +5 −1 mythtv/external/FFmpeg/libavcodec/arm/h264dsp_init_arm.c
  91. +5 −1 mythtv/external/FFmpeg/libavcodec/arm/h264pred_init_arm.c
  92. +5 −1 mythtv/external/FFmpeg/libavcodec/arm/mpegaudiodsp_init_arm.c
  93. +6 −4 mythtv/external/FFmpeg/libavcodec/arm/mpegvideo_arm.c
  94. +2 −2 mythtv/external/FFmpeg/libavcodec/arm/rv40dsp_init_neon.c
  95. +4 −1 mythtv/external/FFmpeg/libavcodec/arm/sbrdsp_init_arm.c
  96. +5 −1 mythtv/external/FFmpeg/libavcodec/arm/vp56dsp_init_arm.c
  97. +78 −0 mythtv/external/FFmpeg/libavcodec/arm/vp8dsp.h
  98. +1,090 −1,790 mythtv/external/FFmpeg/libavcodec/arm/vp8dsp_armv6.S
  99. +9 −285 mythtv/external/FFmpeg/libavcodec/arm/vp8dsp_init_arm.c
  100. +118 −0 mythtv/external/FFmpeg/libavcodec/arm/vp8dsp_init_armv6.c
  101. +114 −0 mythtv/external/FFmpeg/libavcodec/arm/vp8dsp_init_neon.c
  102. +2 −0 mythtv/external/FFmpeg/libavcodec/assdec.c
  103. +7 −10 mythtv/external/FFmpeg/libavcodec/asv1.c
  104. +8 −8 mythtv/external/FFmpeg/libavcodec/atrac1.c
  105. +8 −8 mythtv/external/FFmpeg/libavcodec/atrac3.c
  106. +49 −101 mythtv/external/FFmpeg/libavcodec/audio_frame_queue.c
  107. +3 −3 mythtv/external/FFmpeg/libavcodec/audio_frame_queue.h
  108. +0 −14 mythtv/external/FFmpeg/libavcodec/audioconvert.c
  109. +0 −9 mythtv/external/FFmpeg/libavcodec/audioconvert.h
  110. +1 −1 mythtv/external/FFmpeg/libavcodec/aura.c
  111. +1,152 −993 mythtv/external/FFmpeg/libavcodec/avcodec.h
  112. +17 −0 mythtv/external/FFmpeg/libavcodec/avfft.h
  113. +64 −52 mythtv/external/FFmpeg/libavcodec/avpacket.c
  114. +2 −1 mythtv/external/FFmpeg/libavcodec/avs.c
  115. +143 −0 mythtv/external/FFmpeg/libavcodec/avuidec.c
  116. +107 −0 mythtv/external/FFmpeg/libavcodec/avuienc.c
  117. +8 −8 mythtv/external/FFmpeg/libavcodec/bethsoftvideo.c
  118. +22 −28 mythtv/external/FFmpeg/libavcodec/bfi.c
  119. +360 −372 mythtv/external/FFmpeg/libavcodec/bgmc.c
  120. +1 −1 mythtv/external/FFmpeg/libavcodec/bink.c
  121. +2 −2 mythtv/external/FFmpeg/libavcodec/binkaudio.c
  122. +4 −2 mythtv/external/FFmpeg/libavcodec/bmp.c
  123. +4 −3 mythtv/external/FFmpeg/libavcodec/bmpenc.c
  124. +1 −1 mythtv/external/FFmpeg/libavcodec/c93.c
  125. +38 −30 mythtv/external/FFmpeg/libavcodec/cabac.c
  126. +5 −0 mythtv/external/FFmpeg/libavcodec/cabac.h
  127. +5 −3 mythtv/external/FFmpeg/libavcodec/cabac_functions.h
  128. +19 −20 mythtv/external/FFmpeg/libavcodec/cavs.c
  129. +2 −2 mythtv/external/FFmpeg/libavcodec/cavsdec.c
  130. +1 −1 mythtv/external/FFmpeg/libavcodec/cdgraphics.c
  131. +1 −3 mythtv/external/FFmpeg/libavcodec/celp_filters.c
  132. +1 −1 mythtv/external/FFmpeg/libavcodec/cinepak.c
  133. +7 −2 mythtv/external/FFmpeg/libavcodec/cook.c
  134. +59 −0 mythtv/external/FFmpeg/libavcodec/cook_parser.c
  135. +63 −5 mythtv/external/FFmpeg/libavcodec/crystalhd.c
  136. +11 −108 mythtv/external/FFmpeg/libavcodec/cscd.c
  137. +2 −2 mythtv/external/FFmpeg/libavcodec/cyuv.c
  138. +182 −3 mythtv/external/FFmpeg/libavcodec/dca.c
  139. +13 −6 mythtv/external/FFmpeg/libavcodec/dcaenc.c
  140. +2 −0 mythtv/external/FFmpeg/libavcodec/dcaenc.h
  141. +1 −1 mythtv/external/FFmpeg/libavcodec/dct-test.c
  142. +38 −30 mythtv/external/FFmpeg/libavcodec/dfa.c
  143. +8 −3 mythtv/external/FFmpeg/libavcodec/diracdec.c
  144. +5 −1 mythtv/external/FFmpeg/libavcodec/dnxhddec.c
  145. +6 −4 mythtv/external/FFmpeg/libavcodec/dnxhdenc.c
  146. +1 −1 mythtv/external/FFmpeg/libavcodec/dpx.c
  147. +9 −4 mythtv/external/FFmpeg/libavcodec/dsicinav.c
  148. +10 −9 mythtv/external/FFmpeg/libavcodec/dsputil.c
  149. +1 −5 mythtv/external/FFmpeg/libavcodec/dsputil.h
  150. +49 −17 mythtv/external/FFmpeg/libavcodec/dv.c
  151. +355 −0 mythtv/external/FFmpeg/libavcodec/dv_profile.c
  152. +78 −0 mythtv/external/FFmpeg/libavcodec/dv_profile.h
  153. +1 −2 mythtv/external/FFmpeg/libavcodec/dv_tablegen.h
  154. +4 −4 mythtv/external/FFmpeg/libavcodec/dv_vlc_data.h
  155. +1 −1 mythtv/external/FFmpeg/libavcodec/dvbsub.c
  156. +1 −1 mythtv/external/FFmpeg/libavcodec/dvbsubdec.c
  157. +85 −322 mythtv/external/FFmpeg/libavcodec/dvdata.c
  158. +11 −51 mythtv/external/FFmpeg/libavcodec/dvdata.h
  159. +6 −5 mythtv/external/FFmpeg/libavcodec/dvdec.c
  160. +2 −1 mythtv/external/FFmpeg/libavcodec/dvdsubdec.c
  161. +1 −1 mythtv/external/FFmpeg/libavcodec/dvdsubenc.c
  162. +0 −157 mythtv/external/FFmpeg/libavcodec/dvquant.h
  163. +615 −464 mythtv/external/FFmpeg/libavcodec/dwt.c
  164. +48 −26 mythtv/external/FFmpeg/libavcodec/dwt.h
  165. +1 −1 mythtv/external/FFmpeg/libavcodec/dxa.c
  166. +17 −0 mythtv/external/FFmpeg/libavcodec/dxva2.h
  167. +2 −1 mythtv/external/FFmpeg/libavcodec/eac3enc.c
  168. +1 −1 mythtv/external/FFmpeg/libavcodec/eacmv.c
  169. +1 −1 mythtv/external/FFmpeg/libavcodec/eamad.c
  170. +1 −1 mythtv/external/FFmpeg/libavcodec/eatgq.c
  171. +16 −8 mythtv/external/FFmpeg/libavcodec/eatgv.c
  172. +1 −1 mythtv/external/FFmpeg/libavcodec/eatqi.c
  173. +12 −5 mythtv/external/FFmpeg/libavcodec/error_resilience.c
  174. +1 −1 mythtv/external/FFmpeg/libavcodec/escape124.c
  175. +481 −0 mythtv/external/FFmpeg/libavcodec/exr.c
  176. +10 −5 mythtv/external/FFmpeg/libavcodec/faxcompr.c
  177. +14 −6 mythtv/external/FFmpeg/libavcodec/fft-test.c
  178. +273 −78 mythtv/external/FFmpeg/libavcodec/ffv1.c
  179. +2 −2 mythtv/external/FFmpeg/libavcodec/flac_parser.c
  180. +1 −1 mythtv/external/FFmpeg/libavcodec/flacdec.c
  181. +5 −4 mythtv/external/FFmpeg/libavcodec/flacenc.c
  182. +2 −2 mythtv/external/FFmpeg/libavcodec/flashsv.c
  183. +10 −0 mythtv/external/FFmpeg/libavcodec/flashsv2enc.c
  184. +1 −1 mythtv/external/FFmpeg/libavcodec/flashsvenc.c
  185. +8 −3 mythtv/external/FFmpeg/libavcodec/flicvideo.c
  186. +2 −3 mythtv/external/FFmpeg/libavcodec/flvdec.c
  187. +2 −2 mythtv/external/FFmpeg/libavcodec/flvenc.c
  188. +1 −1 mythtv/external/FFmpeg/libavcodec/fmtconvert.h
  189. +1 −1 mythtv/external/FFmpeg/libavcodec/fraps.c
  190. +1 −1 mythtv/external/FFmpeg/libavcodec/frwu.c
  191. +2 −1 mythtv/external/FFmpeg/libavcodec/g722enc.c
  192. +12 −6 mythtv/external/FFmpeg/libavcodec/g723_1.c
  193. +7 −0 mythtv/external/FFmpeg/libavcodec/g723_1_data.h
  194. +5 −4 mythtv/external/FFmpeg/libavcodec/g726.c
  195. +2 −0 mythtv/external/FFmpeg/libavcodec/g729dec.c
  196. +1 −0 mythtv/external/FFmpeg/libavcodec/g729postfilter.h
  197. +4 −0 mythtv/external/FFmpeg/libavcodec/get_bits.h
  198. +5 −2 mythtv/external/FFmpeg/libavcodec/gif.c
  199. +1 −1 mythtv/external/FFmpeg/libavcodec/gifdec.c
  200. +2 −2 mythtv/external/FFmpeg/libavcodec/gsmdec.c
  201. +155 −0 mythtv/external/FFmpeg/libavcodec/h261data.c
  202. +8 −130 mythtv/external/FFmpeg/libavcodec/h261data.h
  203. +16 −14 mythtv/external/FFmpeg/libavcodec/h261dec.c
  204. +10 −10 mythtv/external/FFmpeg/libavcodec/h261enc.c
  205. +23 −14 mythtv/external/FFmpeg/libavcodec/h263dec.c
  206. +22 −13 mythtv/external/FFmpeg/libavcodec/h264.c
  207. +261 −236 mythtv/external/FFmpeg/libavcodec/h264.h
  208. +4 −11 mythtv/external/FFmpeg/libavcodec/h264_cabac.c
  209. +2 −2 mythtv/external/FFmpeg/libavcodec/h264_cavlc.c
Sorry, we could not display the entire diff because too many files (1,041) changed.
View
94 mythtv/configure
@@ -195,6 +195,7 @@ Configuration options:
--disable-swscale disable libswscale build
--enable-postproc enable GPLed postprocessing support [no]
--disable-avfilter disable video filter support [no]
+ --disable-avresample disable libavresample build [no]
--disable-pthreads disable pthreads [auto]
--enable-w32threads use Win32 threads [no]
--enable-x11grab enable X11 grabbing [no]
@@ -268,6 +269,7 @@ Configuration options:
External library support:
--enable-avisynth enable reading of AVISynth script files [no]
--enable-bzlib enable bzlib [autodetect]
+ --enable-fontconfig enable fontconfig
--enable-frei0r enable frei0r video filtering
--enable-gnutls enable gnutls [no]
--enable-libaacplus enable AAC+ encoding via libaacplus [no]
@@ -280,7 +282,6 @@ External library support:
--enable-libcdio enable audio CD grabbing with libcdio
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
- --enable-libdirac enable Dirac support via libdirac [no]
--enable-libfaac enable FAAC support via libfaac [no]
--enable-libfreetype enable libfreetype [no]
--enable-libgsm enable GSM support via libgsm [no]
@@ -299,7 +300,7 @@ External library support:
--enable-libv4l2 enable libv4l2/v4l-utils [no]
--enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
--enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
- --enable-libvorbis enable Vorbis encoding via libvorbis,
+ --enable-libvorbis enable Vorbis en/decoding via libvorbis,
native implementation exists [no]
--enable-libvpx enable VP8 support via libvpx [no]
--enable-libx264 enable H.264 encoding via x264 [no]
@@ -370,6 +371,8 @@ Developer options (useful when working on FFmpeg itself):
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
--disable-stripping disable stripping of executables and shared libraries
+ --assert-level=level 0(default), 1 or 2, amount of assertion testing,
+ 2 causes a slowdown at runtime.
--samples=PATH location of test samples for FATE
NOTE: Object files are built at the place where configure is launched.
@@ -1229,6 +1232,7 @@ CONFIG_LIST="
avdevice
avfilter
avformat
+ avresample
avisynth
bzlib
crystalhd
@@ -1238,6 +1242,7 @@ CONFIG_LIST="
dxva2
fastdiv
fft
+ fontconfig
frei0r
gnutls
gpl
@@ -1249,7 +1254,6 @@ CONFIG_LIST="
libcdio
libcelt
libdc1394
- libdirac
libfaac
libfreetype
libgsm
@@ -1375,6 +1379,7 @@ HAVE_LIST="
attribute_may_alias
attribute_packed
cbrtf
+ clock_gettime
closesocket
cmov
dcbzl
@@ -1430,9 +1435,11 @@ HAVE_LIST="
memalign
mkstemp
mmap
+ netinet_sctp_h
PeekNamedPipe
poll_h
posix_memalign
+ pthread_cancel
round
roundf
sched_getaffinity
@@ -1612,6 +1619,7 @@ CMDLINE_SET="
ar
arch
as
+ assert_level
build_suffix
cc
cpu
@@ -1858,7 +1866,6 @@ h264_parser_select="golomb h264dsp h264pred"
# external libraries
libaacplus_encoder_deps="libaacplus"
libcelt_decoder_deps="libcelt"
-libdirac_decoder_deps="libdirac !libschroedinger"
libfaac_encoder_deps="libfaac"
libgsm_decoder_deps="libgsm"
libgsm_encoder_deps="libgsm"
@@ -1879,6 +1886,7 @@ libstagefright_h264_decoder_deps="libstagefright_h264"
libtheora_encoder_deps="libtheora"
libvo_aacenc_encoder_deps="libvo_aacenc"
libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
+libvorbis_decoder_deps="libvorbis"
libvorbis_encoder_deps="libvorbis"
libvpx_decoder_deps="libvpx"
libvpx_encoder_deps="libvpx"
@@ -1965,6 +1973,7 @@ mmst_protocol_deps="network"
rtmp_protocol_deps="!librtmp_protocol"
rtmp_protocol_select="tcp_protocol"
rtp_protocol_select="udp_protocol"
+sctp_protocol_deps="network netinet_sctp_h"
tcp_protocol_deps="network"
tls_protocol_deps_any="openssl gnutls"
tls_protocol_select="tcp_protocol"
@@ -1977,24 +1986,31 @@ aresample_filter_deps="swresample"
ass_filter_deps="libass"
blackframe_filter_deps="gpl"
boxblur_filter_deps="gpl"
+colormatrix_filter_deps="gpl"
cropdetect_filter_deps="gpl"
delogo_filter_deps="gpl"
drawtext_filter_deps="libfreetype"
frei0r_filter_deps="frei0r dlopen"
+frei0r_filter_extralibs='$ldl'
frei0r_src_filter_deps="frei0r dlopen"
+frei0r_src_filter_extralibs='$ldl'
hqdn3d_filter_deps="gpl"
movie_filter_deps="avcodec avformat"
mp_filter_deps="gpl avcodec swscale postproc"
mptestsrc_filter_deps="gpl"
negate_filter_deps="lut_filter"
+resample_filter_deps="avresample"
ocv_filter_deps="libopencv"
pan_filter_deps="swresample"
+removelogo_filter_deps="avcodec avformat swscale"
scale_filter_deps="swscale"
+super2xsai_filter_deps="gpl"
tinterlace_filter_deps="gpl"
yadif_filter_deps="gpl"
# libraries
avdevice_deps="avcodec avformat"
+avfilter_deps="swscale"
avformat_deps="avcodec"
postproc_deps="gpl"
@@ -2004,7 +2020,7 @@ ffplay_select="buffersink_filter rdft"
ffprobe_deps="avcodec avformat"
ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
ffserver_extralibs='$ldl'
-ffmpeg_deps="avcodec avformat swscale swresample"
+ffmpeg_deps="avcodec avfilter avformat swscale swresample format_filter"
ffmpeg_select="buffersink_filter"
doc_deps="texi2html"
@@ -2126,6 +2142,8 @@ test_deps _muxer _demuxer \
yuv4mpegpipe=yuv4mpeg \
ac3_fixed_test_deps="ac3_fixed_encoder ac3_decoder"
+colormatrix1_test_deps="colormatrix_filter"
+colormatrix2_test_deps="colormatrix_filter"
flashsv2_test_deps="zlib"
mpg_test_deps="mpeg1system_muxer mpegps_demuxer"
mpng_test_deps="zlib"
@@ -2223,6 +2241,7 @@ enable avcodec
enable avdevice
enable avfilter
enable avformat
+enable avresample
enable avutil
enable postproc
enable stripping
@@ -2833,6 +2852,24 @@ elif $cc -v 2>&1 | grep -q Open64; then
speed_cflags='-O2'
size_cflags='-Os'
filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros'
+elif $cc -V 2>&1 | grep -q Portland; then
+ cc_type=pgi
+ cc_version='AV_STRINGIFY(__PGIC__.__PGIC_MINOR__.__PGIC_PATCHLEVEL__)'
+ cc_ident="PGI $($cc -V 2>&1 | awk '/^pgcc/ { print $2; exit }')"
+ opt_common='-alias=ansi -Mlre -Mpre'
+ speed_cflags="-O3 -Mautoinline -Munroll=c:4 $opt_common"
+ size_cflags="-O2 -Munroll=c:1 $opt_common"
+ noopt_cflags="-O1"
+ filter_cflags=pgi_flags
+ pgi_flags(){
+ for flag; do
+ case $flag in
+ -fomit-frame-pointer) echo -Mnoframe ;;
+ -g) echo -gopt ;;
+ *) echo $flag ;;
+ esac
+ done
+ }
fi
test -n "$cc_type" && enable $cc_type ||
@@ -3153,9 +3190,12 @@ elif enabled ppc; then
74*|ppc74*|powerpc74*)
cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
;;
- g5|970|ppc970|powerpc970|power4*)
+ g5|970|ppc970|powerpc970)
cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
;;
+ power[3-7]*)
+ cpuflags="-mcpu=$cpu -mpowerpc-gfxopt -mpowerpc64"
+ ;;
cell)
cpuflags="-mcpu=cell"
enable ldbrx
@@ -3365,14 +3405,14 @@ case $target_os in
SHFLAGS='-shared -Wl,-h,$$(@F)'
enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS"
network_extralibs="-lsocket -lnsl"
- add_cppflags -D__EXTENSIONS__
+ add_cppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
# When using suncc to build, the Solaris linker will mark
# an executable with each instruction set encountered by
# the Solaris assembler. As our libraries contain their own
# guards for processor-specific code, instead suppress
# generation of the HWCAPS ELF section on Solaris x86 only.
enabled_all suncc x86 && echo "hwcap_1 = OVERRIDE;" > mapfile && add_ldflags -Wl,-M,mapfile
- add_cxxppflags -D__EXTENSIONS__
+ add_cxxppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
nm_opts='-P -g'
;;
netbsd)
@@ -3384,7 +3424,6 @@ case $target_os in
;;
openbsd)
append CCONFIG "openbsd"
- enable malloc_aligned
# On OpenBSD 4.5. the compiler does not use PIC unless
# explicitly using -fPIC. FFmpeg builds fine without PIC,
# however the generated executable will not do anything
@@ -3397,12 +3436,10 @@ case $target_os in
oss_outdev_extralibs="-lossaudio"
;;
dragonfly)
- enable malloc_aligned
disable symver
;;
freebsd)
append CCONFIG "freebsd"
- enable malloc_aligned
# Workaround compile errors from missing u_int/uint def
CPPFLAGS=`echo $CPPFLAGS | sed 's/-D_POSIX_C_SOURCE=200112//'`
disable ivtv
@@ -3441,7 +3478,6 @@ EOF
fi
###### Standard ffmpeg configure stuff follows:
- enable malloc_aligned
gas="gas-preprocessor.pl $cc"
enabled ppc && add_asflags -force_cpusubtype_ALL
@@ -3471,7 +3507,6 @@ EOF
fi
LIBTARGET=i386
if enabled x86_64; then
- enable malloc_aligned
LIBTARGET=x64
elif enabled arm; then
LIBTARGET=arm-wince
@@ -3876,6 +3911,7 @@ if enabled network; then
check_type netinet/in.h "struct sockaddr_in6"
check_type "sys/types.h sys/socket.h" "struct sockaddr_storage"
check_struct "sys/types.h sys/socket.h" "struct sockaddr" sa_len
+ check_header netinet/sctp.h
# Prefer arpa/inet.h over winsock2
if check_header arpa/inet.h ; then
check_func closesocket
@@ -3989,6 +4025,7 @@ fi
# Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
check_func nanosleep || { check_func nanosleep -lrt && add_extralibs -lrt; }
+check_func clock_gettime || { check_func clock_gettime -lrt && add_extralibs -lrt; }
check_func fcntl
check_func fork
check_func getaddrinfo $network_extralibs
@@ -4048,7 +4085,7 @@ check_func_headers "sys/types.h sys/socket.h ifaddrs.h" getifaddrs
check_func clock_gettime || \
{ check_func clock_gettime -lrt && add_extralibs -lrt; }
-if ! enabled_any memalign memalign_hack posix_memalign malloc_aligned &&
+if ! enabled_any memalign memalign_hack posix_memalign &&
enabled_any $need_memalign ; then
die "Error, no aligned memory allocator but SSE enabled, disable it or use --enable-memalign-hack."
fi
@@ -4087,6 +4124,10 @@ for thread in $THREADS_LIST; do
fi
done
+if enabled pthreads; then
+ check_func pthread_cancel
+fi
+
# Attempt to use libudev for mediamonitor
enabled libudev && check_lib2 libudev.h udev_new -ludev || disable libudev
@@ -4110,12 +4151,10 @@ check_mathfunc truncf
# these are off by default, so fail if requested and not available
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
+enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
enabled libaacplus && require "libaacplus >= 2.0.0" aacplus.h aacplusEncOpen -laacplus
-enabled libdirac && require_pkg_config dirac \
- "libdirac_decoder/dirac_parser.h" \
- "dirac_decoder_init"
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm
enabled libmodplug && require libmodplug libmodplug/modplug.h ModPlug_Load -lmodplug
@@ -4130,7 +4169,7 @@ enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schr
enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
enabled libstagefright_h264 && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h
media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h media/stagefright/MediaDefs.h
- media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder
+ media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder -lgnustl_static
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
enabled libutvideo && require_cpp utvideo "stdint.h stdlib.h utvideo/utvideo.h utvideo/Codec.h" 'CCodec*' -lutvideo -lstdc++
enabled libv4l2 && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl
@@ -4353,11 +4392,12 @@ check_cflags -Wno-switch
check_cflags -Wpointer-arith
check_cflags -Wredundant-decls
check_cflags -Wno-pointer-sign
-check_cflags -Wcast-qual
check_cflags -Wwrite-strings
check_cflags -Wtype-limits
check_cflags -Wundef
check_cflags -Wmissing-prototypes
+check_cflags -Wno-pointer-to-int-cast
+check_cflags -Wstrict-prototypes
enabled extra_warnings && check_cflags -Winline
# C++ Flags
check_cxxflags -Wall
@@ -4372,7 +4412,7 @@ check_cxxflags -D__STDC_LIMIT_MACROS
# add some linker flags
check_ldflags -Wl,--warn-common
-check_ldflags '-Wl,-rpath-link,\$(SRC_PATH_BARE)/external/FFmpeg/libpostproc:\$(SRC_PATH_BARE)/external/FFmpeg/libswresample:\$(SRC_PATH_BARE)/external/FFmpeg/libswscale:\$(SRC_PATH_BARE)/external/FFmpeg/libavfilter:\$(SRC_PATH_BARE)/external/FFmpeg/libavdevice:\$(SRC_PATH_BARE)/external/FFmpeg/libavformat:\$(SRC_PATH_BARE)/external/FFmpeg/libavcodec:\$(SRC_PATH_BARE)/external/FFmpeg/libavutil'
+check_ldflags '-Wl,-rpath-link,\$(SRC_PATH_BARE)/external/FFmpeg/libpostproc:\$(SRC_PATH_BARE)/external/FFmpeg/libswresample:\$(SRC_PATH_BARE)/external/FFmpeg/libswscale:\$(SRC_PATH_BARE)/external/FFmpeg/libavfilter:\$(SRC_PATH_BARE)/external/FFmpeg/libavdevice:\$(SRC_PATH_BARE)/external/FFmpeg/libavformat:\$(SRC_PATH_BARE)/external/FFmpeg/libavcodec:\$(SRC_PATH_BARE)/external/FFmpeg/libavutil:\$(SRC_PATH_BARE)/external/FFmpeg/libavresample'
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
enabled xmm_clobber_test && \
@@ -4646,10 +4686,11 @@ if enabled icc; then
# -wd: Disable following warnings
# 144, 167, 556: -Wno-pointer-sign
# 1292: attribute "foo" ignored
+ # 1419: external declaration in primary source file
# 10006: ignoring unknown option -fno-signed-zeros
# 10148: ignoring unknown option -Wno-parentheses
# 10156: ignoring option '-W'; no argument required
- check_cflags -wd144,167,556,1292,10006,10148,10156
+ check_cflags -wd144,167,556,1292,1419,10006,10148,10156
# 11030: Warning unknown option --as-needed
# 10156: ignoring option '-export'; no argument required
check_ldflags -wd10156,11030
@@ -4866,7 +4907,6 @@ echo "libass enabled ${libass-no}"
echo "libcdio support ${libcdio-no}"
echo "libcelt enabled ${libcelt-no}"
echo "libdc1394 support ${libdc1394-no}"
-echo "libdirac enabled ${libdirac-no}"
echo "libfaac enabled ${libfaac-no}"
echo "libgsm enabled ${libgsm-no}"
echo "libmodplug enabled ${libmodplug-no}"
@@ -5159,6 +5199,7 @@ get_version LIBAVDEVICE external/FFmpeg/libavdevice/avdevice.h
get_version LIBAVFILTER external/FFmpeg/libavfilter/version.h
get_version LIBAVFORMAT external/FFmpeg/libavformat/version.h
get_version LIBAVUTIL external/FFmpeg/libavutil/avutil.h
+get_version LIBAVRESAMPLE external/FFmpeg/libavresample/version.h
get_version LIBPOSTPROC external/FFmpeg/libpostproc/postprocess.h
get_version LIBSWRESAMPLE external/FFmpeg/libswresample/swresample.h
get_version LIBSWSCALE external/FFmpeg/libswscale/swscale.h
@@ -5205,12 +5246,19 @@ cat > $TMPH <<EOF
#define SIZEOF_LONG $_sizeof_long
EOF
+test -n "$assert_level" &&
+ echo "#define ASSERT_LEVEL $assert_level" >>$TMPH
+
test -n "$malloc_prefix" &&
echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH
if enabled small || disabled optimizations; then
echo "#undef av_always_inline" >> $TMPH
- echo "#define av_always_inline av_unused" >> $TMPH
+ if enabled small; then
+ echo "#define av_always_inline inline" >> $TMPH
+ else
+ echo "#define av_always_inline av_unused" >> $TMPH
+ fi
fi
if enabled mac_corevideo; then
View
23 mythtv/external/FFmpeg/.gitignore
@@ -1,9 +1,17 @@
.config
.version
+*.a
*.o
*.d
+*.def
+*.dll
*.exe
*.ho
+*.lib
+*.pc
+*.so
+*.so.*
+*.ver
*-example
*-test
*_g
@@ -25,20 +33,16 @@ avconv
doc/avoptions_codec.texi
doc/avoptions_format.texi
doc/print_options
+doc/examples/decoding_encoding
+doc/examples/filtering_audio
+doc/examples/filtering_video
+doc/examples/metadata
+doc/examples/muxing
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
@@ -49,6 +53,7 @@ tests/vsynth1
tests/vsynth2
tools/aviocat
tools/cws2fws
+tools/ffeval
tools/graph2dot
tools/ismindex
tools/lavfi-showfiltfmts
View
13 mythtv/external/FFmpeg/Changelog
@@ -20,6 +20,19 @@ version next:
- ZeroCodec decoder
- tile video filter
- Metal Gear Solid: The Twin Snakes demuxer
+- OpenEXR image decoder
+- removelogo filter
+- drop support for ffmpeg without libavfilter
+- drawtext video filter: fontconfig support
+- ffmpeg -benchmark_all option
+- super2xsai filter ported from libmpcodecs
+- add libavresample audio conversion library for compatibility
+- MicroDVD decoder
+- Avid Meridien (AVUI) encoder and decoder
+- accept + prefix to -pix_fmt option to disable automatic conversions.
+- audio filters support in libavfilter and avconv
+- add fps filter
+- audio split filter
version 0.10:
View
2 mythtv/external/FFmpeg/MAINTAINERS
@@ -159,6 +159,7 @@ Codecs:
indeo5* Kostya Shishkov
interplayvideo.c Mike Melanson
ivi* Kostya Shishkov
+ jacosub* Clément Bœsch
jpeg_ls.c Kostya Shishkov
jvdec.c Peter Ross
kmvc.c Kostya Shishkov
@@ -315,6 +316,7 @@ Muxers/Demuxers:
ipmovie.c Mike Melanson
img2.c Michael Niedermayer
iss.c Stefan Gehrer
+ jacosub* Clément Bœsch
jvdec.c Peter Ross
libmodplug.c Clément Bœsch
libnut.c Oded Shimon
View
12 mythtv/external/FFmpeg/Makefile
@@ -34,6 +34,7 @@ ALLMANPAGES = $(BASENAMES:%=%.1)
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
FFLIBS-$(CONFIG_AVFILTER) += avfilter
FFLIBS-$(CONFIG_AVFORMAT) += avformat
+FFLIBS-$(CONFIG_AVRESAMPLE) += avresample
FFLIBS-$(CONFIG_AVCODEC) += avcodec
FFLIBS-$(CONFIG_POSTPROC) += postproc
FFLIBS-$(CONFIG_SWRESAMPLE)+= swresample
@@ -42,6 +43,7 @@ FFLIBS-$(CONFIG_SWSCALE) += swscale
FFLIBS := avutil
DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd
+EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile
SKIPHEADERS = cmdutils_common_opts.h
@@ -72,7 +74,8 @@ config.h: .config
SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \
ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
- ALTIVEC-OBJS ARMV6-OBJS MMX-OBJS NEON-OBJS YASM-OBJS \
+ ALTIVEC-OBJS ARMV5TE-OBJS ARMV6-OBJS ARMVFP-OBJS MMI-OBJS \
+ MMX-OBJS NEON-OBJS VIS-OBJS YASM-OBJS \
OBJS TESTOBJS
define RESET
@@ -133,9 +136,10 @@ install-mythprogs: install-progs-yes $(MYTHPROGS)
$(Q)mkdir -p "$(BINDIR)"
$(INSTALL) -c -m 755 $(MYTHPROGS) "$(BINDIR)"
-install-data: $(DATA_FILES)
- $(Q)mkdir -p "$(DATADIR)"
+install-data: $(DATA_FILES) $(EXAMPLES_FILES)
+ $(Q)mkdir -p "$(DATADIR)/examples"
$(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)"
+ $(INSTALL) -m 644 $(EXAMPLES_FILES) "$(DATADIR)/examples"
uninstall: uninstall-libs uninstall-headers uninstall-progs uninstall-data
@@ -183,5 +187,5 @@ $(sort $(OBJDIRS)):
# so this saves some time on slow systems.
.SUFFIXES:
-.PHONY: all all-yes alltools *clean config examples install*
+.PHONY: all all-yes alltools check *clean config install*
.PHONY: testprogs uninstall*
View
8 mythtv/external/FFmpeg/README
@@ -4,9 +4,15 @@ FFmpeg README
1) Documentation
----------------
-* Read the documentation in the doc/ directory.
+* Read the documentation in the doc/ directory in git.
+ You can also view it online at http://ffmpeg.org/documentation.html
2) Licensing
------------
* See the LICENSE file.
+
+3) Build and Install
+--------------------
+
+* See the INSTALL file.
View
47 mythtv/external/FFmpeg/README.sync
@@ -1,4 +1,49 @@
This code was resynced upstream to:
-git://source.ffmpeg.org/ffmpeg.git at SHA1 d3db8988d on March 31, 2010
+git://source.ffmpeg.org/ffmpeg.git at SHA1 d3db8988d on March 31, 2012
+git://source.ffmpeg.org/ffmpeg.git at SHA1 ea5dab58e on May 23, 2012
+
+List of files modified from original FFmpeg:
+Makefile
+README.sync
+common.mak
+configure
+libavcodec/Makefile
+libavcodec/avcodec.h
+libavcodec/dsputil.h
+libavcodec/dvbsub_parser.c
+libavcodec/dvbsubdec.c
+libavcodec/dvdsubdec.c
+libavcodec/get_bits.h
+libavcodec/golomb.h
+libavcodec/h264_refs.c
+libavcodec/libavcodec.v
+libavcodec/mpeg12.c
+libavcodec/mpeg4videodec.c
+libavcodec/mpeg4videoenc.c
+libavcodec/mpegaudio_parser.c
+libavcodec/mpegaudiodec.c
+libavcodec/mpegaudiodecheader.c
+libavcodec/mpegvideo.c
+libavcodec/mpegvideo.h
+libavcodec/myth_utils.c
@pkendall64
pkendall64 added a line comment Jun 1, 2012

This one should say it's a new file too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+libavcodec/pcm.c
+libavcodec/pgssubdec.c
+libavformat/Makefile
+libavformat/allformats.c
+libavformat/avformat.h
+libavformat/mpeg.c
+libavformat/mpeg.h
+libavformat/mpegts-mythtv.c <- new file
+libavformat/mpegts-mythtv.h <- new file
+libavformat/mpegts.c
+libavformat/mpegts.h
+libavformat/nuv.c <- could be ignored, whitespace only
+libavformat/utils-myth.c <- new file
+libavformat/utils.c
+libavresample/libavresample.v
+libavutil/bswap.h
+libpostproc/Makefile
+libpostproc/postprocess.c
+library.mak
View
13 mythtv/external/FFmpeg/arch.mak
@@ -0,0 +1,13 @@
+OBJS-$(HAVE_ARMV5TE) += $(ARMV5TE-OBJS) $(ARMV5TE-OBJS-yes)
+OBJS-$(HAVE_ARMV6) += $(ARMV6-OBJS) $(ARMV6-OBJS-yes)
+OBJS-$(HAVE_ARMVFP) += $(ARMVFP-OBJS) $(ARMVFP-OBJS-yes)
+OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
+
+OBJS-$(HAVE_MMI) += $(MMI-OBJS) $(MMI-OBJS-yes)
+
+OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes)
+
+OBJS-$(HAVE_VIS) += $(VIS-OBJS) $(VIS-OBJS-yes)
+
+OBJS-$(HAVE_MMX) += $(MMX-OBJS) $(MMX-OBJS-yes)
+OBJS-$(HAVE_YASM) += $(YASM-OBJS) $(YASM-OBJS-yes)
View
64 mythtv/external/FFmpeg/cmdutils.c
@@ -32,11 +32,13 @@
#include "libavformat/avformat.h"
#include "libavfilter/avfilter.h"
#include "libavdevice/avdevice.h"
+#include "libavresample/avresample.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#if CONFIG_POSTPROC
#include "libpostproc/postprocess.h"
#endif
+#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/mathematics.h"
#include "libavutil/parseutils.h"
@@ -54,6 +56,7 @@
#endif
struct SwsContext *sws_opts;
+SwrContext *swr_opts;
AVDictionary *format_opts, *codec_opts;
const int this_year = 2012;
@@ -66,6 +69,7 @@ void init_opts(void)
sws_opts = sws_getContext(16, 16, 0, 16, 16, 0, SWS_BICUBIC,
NULL, NULL, NULL);
#endif
+ swr_opts = swr_alloc();
}
void uninit_opts(void)
@@ -74,6 +78,7 @@ void uninit_opts(void)
sws_freeContext(sws_opts);
sws_opts = NULL;
#endif
+ swr_free(&swr_opts);
av_dict_free(&format_opts);
av_dict_free(&codec_opts);
}
@@ -415,10 +420,10 @@ void parse_loglevel(int argc, char **argv, const OptionDef *options)
#define FLAGS(o) ((o)->type == AV_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0
int opt_default(const char *opt, const char *arg)
{
- const AVOption *oc, *of, *os;
+ const AVOption *oc, *of, *os, *oswr = NULL;
char opt_stripped[128];
const char *p;
- const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class(), *sc;
+ const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class(), *sc, *swr_class;
if (!(p = strchr(opt, ':')))
p = opt + strlen(opt);
@@ -444,8 +449,17 @@ int opt_default(const char *opt, const char *arg)
}
}
#endif
+ swr_class = swr_get_class();
+ if (!oc && !of && !os && (oswr = av_opt_find(&swr_class, opt, NULL, 0,
+ AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
+ int ret = av_opt_set(swr_opts, opt, arg, 0);
+ if (ret < 0) {
+ av_log(NULL, AV_LOG_ERROR, "Error setting option %s.\n", opt);
+ return ret;
+ }
+ }
- if (oc || of || os)
+ if (oc || of || os || oswr)
return 0;
av_log(NULL, AV_LOG_ERROR, "Unrecognized option '%s'\n", opt);
return AVERROR_OPTION_NOT_FOUND;
@@ -534,38 +548,10 @@ int opt_max_alloc(const char *opt, const char *arg)
int opt_cpuflags(const char *opt, const char *arg)
{
- static const AVOption cpuflags_opts[] = {
- { "flags" , NULL, 0, AV_OPT_TYPE_FLAGS, { 0 }, INT64_MIN, INT64_MAX, .unit = "flags" },
- { "altivec" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_ALTIVEC }, .unit = "flags" },
- { "mmx" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_MMX }, .unit = "flags" },
- { "mmx2" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_MMX2 }, .unit = "flags" },
- { "sse" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE }, .unit = "flags" },
- { "sse2" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE2 }, .unit = "flags" },
- { "sse2slow", NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE2SLOW }, .unit = "flags" },
- { "sse3" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE3 }, .unit = "flags" },
- { "sse3slow", NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE3SLOW }, .unit = "flags" },
- { "ssse3" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSSE3 }, .unit = "flags" },
- { "atom" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_ATOM }, .unit = "flags" },
- { "sse4.1" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE4 }, .unit = "flags" },
- { "sse4.2" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_SSE42 }, .unit = "flags" },
- { "avx" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_AVX }, .unit = "flags" },
- { "xop" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_XOP }, .unit = "flags" },
- { "fma4" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_FMA4 }, .unit = "flags" },
- { "3dnow" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_3DNOW }, .unit = "flags" },
- { "3dnowext", NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_3DNOWEXT }, .unit = "flags" },
- { NULL },
- };
- static const AVClass class = {
- .class_name = "cpuflags",
- .item_name = av_default_item_name,
- .option = cpuflags_opts,
- .version = LIBAVUTIL_VERSION_INT,
- };
- int flags = av_get_cpu_flags();
int ret;
- const AVClass *pclass = &class;
+ unsigned flags = av_get_cpu_flags();
- if ((ret = av_opt_eval_flags(&pclass, &cpuflags_opts[0], arg, &flags)) < 0)
+ if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
@@ -613,7 +599,8 @@ static int warned_cfg = 0;
const char *indent = flags & INDENT? " " : ""; \
if (flags & SHOW_VERSION) { \
unsigned int version = libname##_version(); \
- av_log(NULL, level, "%slib%-11s %2d.%3d.%3d / %2d.%3d.%3d\n",\
+ av_log(NULL, level, \
+ "%slib%-11s %2d.%3d.%3d / %2d.%3d.%3d\n", \
indent, #libname, \
LIB##LIBNAME##_VERSION_MAJOR, \
LIB##LIBNAME##_VERSION_MINOR, \
@@ -642,6 +629,7 @@ static void print_all_libs_info(int flags, int level)
PRINT_LIB_INFO(avformat, AVFORMAT, flags, level);
PRINT_LIB_INFO(avdevice, AVDEVICE, flags, level);
PRINT_LIB_INFO(avfilter, AVFILTER, flags, level);
+// PRINT_LIB_INFO(avresample, AVRESAMPLE, flags, level);
PRINT_LIB_INFO(swscale, SWSCALE, flags, level);
PRINT_LIB_INFO(swresample,SWRESAMPLE, flags, level);
#if CONFIG_POSTPROC
@@ -1088,7 +1076,7 @@ int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
case 's': type = AVMEDIA_TYPE_SUBTITLE; break;
case 'd': type = AVMEDIA_TYPE_DATA; break;
case 't': type = AVMEDIA_TYPE_ATTACHMENT; break;
- default: abort(); // never reached, silence warning
+ default: av_assert0(0);
}
if (type != st->codec->codec_type)
return 0;
@@ -1121,6 +1109,12 @@ int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
return 1;
}
return 0;
+ } else if (*spec == '#') {
+ int sid;
+ char *endptr;
+ sid = strtol(spec + 1, &endptr, 0);
+ if (!*endptr)
+ return st->id == sid;
} else if (!*spec) /* empty specifier, matches everything */
return 1;
View
1 mythtv/external/FFmpeg/cmdutils.h
@@ -51,6 +51,7 @@ extern const int this_year;
extern AVCodecContext *avcodec_opts[AVMEDIA_TYPE_NB];
extern AVFormatContext *avformat_opts;
extern struct SwsContext *sws_opts;
+extern struct SwrContext *swr_opts;
extern AVDictionary *format_opts, *codec_opts;
/**
View
1 mythtv/external/FFmpeg/cmdutils_common_opts.h
@@ -14,6 +14,7 @@
{ "loglevel", HAS_ARG, {(void*)opt_loglevel}, "set libav* logging level", "loglevel" },
{ "v", HAS_ARG, {(void*)opt_loglevel}, "set libav* logging level", "loglevel" },
{ "debug", HAS_ARG, {(void*)opt_codec_debug}, "set debug flags", "flags" },
+ { "fdebug", HAS_ARG, {(void*)opt_codec_debug}, "set debug flags", "flags" },
{ "report", 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc", HAS_ARG, {(void*)opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags", HAS_ARG | OPT_EXPERT, {(void*)opt_cpuflags}, "force specific cpu flags", "flags" },
View
12 mythtv/external/FFmpeg/common.mak
@@ -20,8 +20,7 @@ $(foreach VAR,$(SILENT),$(eval override $(VAR) = @$($(VAR))))
$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
endif
-ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale swresample
-
+ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil postproc swscale swresample
# NASM requires -I path terminated with /
IFLAGS := -I. -I$(SRC_PATH)/
@@ -74,12 +73,14 @@ COMPILE_S = $(call COMPILE,AS)
$(OBJS):
endif
-OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes)
+include $(SRC_PATH)/arch.mak
OBJS += $(OBJS-yes)
FFLIBS := $(FFLIBS-yes) $(FFLIBS)
TESTPROGS += $(TESTPROGS-yes)
+FFEXTRALIBS := $(addprefix -lmyth,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS)
+
EXAMPLES := $(EXAMPLES:%=$(SUBDIR)%-example$(EXESUF))
OBJS := $(sort $(OBJS:%=$(SUBDIR)%))
TESTOBJS := $(TESTOBJS:%=$(SUBDIR)%) $(TESTPROGS:%=$(SUBDIR)%-test.o)
@@ -90,9 +91,6 @@ TOOLS += $(TOOLS-yes)
TOOLOBJS := $(TOOLS:%=tools/%.o)
TOOLS := $(TOOLS:%=tools/%$(EXESUF))
-FFEXTRALIBS := $(addprefix -lmyth,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS)
-#FFLDFLAGS := $(addprefix -L$(SRC_PATH_BARE)/external/FFmpeg/lib,$(ALLFFLIBS)) $(LDFLAGS)
-
DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))
@@ -117,6 +115,6 @@ OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS))
CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver *.gcno *.gcda
DISTCLEANSUFFIXES = *.pc
-LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp
+LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
-include $(wildcard $(OBJS:.o=.d) $(TESTOBJS:.o=.d))
View
94 mythtv/external/FFmpeg/configure
@@ -112,6 +112,7 @@ Component options:
--disable-swscale disable libswscale build
--disable-postproc disable libpostproc build
--disable-avfilter disable video filter support [no]
+ --disable-avresample disable libavresample build [no]
--disable-pthreads disable pthreads [auto]
--disable-w32threads disable Win32 threads [auto]
--disable-os2threads disable OS/2 threads [auto]
@@ -166,6 +167,7 @@ Individual component options:
External library support:
--enable-avisynth enable reading of AVISynth script files [no]
--enable-bzlib enable bzlib [autodetect]
+ --enable-fontconfig enable fontconfig
--enable-frei0r enable frei0r video filtering
--enable-gnutls enable gnutls [no]
--enable-libaacplus enable AAC+ encoding via libaacplus [no]
@@ -178,7 +180,6 @@ External library support:
--enable-libcdio enable audio CD grabbing with libcdio
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
- --enable-libdirac enable Dirac support via libdirac [no]
--enable-libfaac enable FAAC support via libfaac [no]
--enable-libfreetype enable libfreetype [no]
--enable-libgsm enable GSM support via libgsm [no]
@@ -197,7 +198,7 @@ External library support:
--enable-libv4l2 enable libv4l2/v4l-utils [no]
--enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
--enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
- --enable-libvorbis enable Vorbis encoding via libvorbis,
+ --enable-libvorbis enable Vorbis en/decoding via libvorbis,
native implementation exists [no]
--enable-libvpx enable VP8 support via libvpx [no]
--enable-libx264 enable H.264 encoding via x264 [no]
@@ -277,6 +278,8 @@ Developer options (useful when working on FFmpeg itself):
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
--disable-stripping disable stripping of executables and shared libraries
+ --assert-level=level 0(default), 1 or 2, amount of assertion testing,
+ 2 causes a slowdown at runtime.
--valgrind=VALGRIND run "make fate" tests through valgrind to detect memory
leaks and errors, using the specified valgrind binary.
Cannot be combined with --target-exec
@@ -1011,6 +1014,7 @@ CONFIG_LIST="
avdevice
avfilter
avformat
+ avresample
avisynth
bzlib
crystalhd
@@ -1020,6 +1024,7 @@ CONFIG_LIST="
dxva2
fastdiv
fft
+ fontconfig
frei0r
gnutls
gpl
@@ -1031,7 +1036,6 @@ CONFIG_LIST="
libcdio
libcelt
libdc1394
- libdirac
libfaac
libfreetype
libgsm
@@ -1157,6 +1161,7 @@ HAVE_LIST="
attribute_may_alias
attribute_packed
cbrtf
+ clock_gettime
closesocket
cmov
dcbzl
@@ -1212,9 +1217,11 @@ HAVE_LIST="
memalign
mkstemp
mmap
+ netinet_sctp_h
PeekNamedPipe
poll_h
posix_memalign
+ pthread_cancel
round
roundf
sched_getaffinity
@@ -1303,6 +1310,7 @@ CMDLINE_SET="
ar
arch
as
+ assert_level
build_suffix
cc
cpu
@@ -1452,6 +1460,8 @@ mp3on4float_decoder_select="mpegaudiodsp"
mpc7_decoder_select="mpegaudiodsp"
mpc8_decoder_select="mpegaudiodsp"
mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder"
+#MYTH mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
+#MYTH mpeg_xvmc_decoder_select="mpegvideo_decoder"
mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder"
mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder"
mpeg1video_encoder_select="aandct"
@@ -1549,7 +1559,6 @@ h264_parser_select="golomb h264dsp h264pred"
# external libraries
libaacplus_encoder_deps="libaacplus"
libcelt_decoder_deps="libcelt"
-libdirac_decoder_deps="libdirac !libschroedinger"
libfaac_encoder_deps="libfaac"
libgsm_decoder_deps="libgsm"
libgsm_encoder_deps="libgsm"
@@ -1570,6 +1579,7 @@ libstagefright_h264_decoder_deps="libstagefright_h264"
libtheora_encoder_deps="libtheora"
libvo_aacenc_encoder_deps="libvo_aacenc"
libvo_amrwbenc_encoder_deps="libvo_amrwbenc"
+libvorbis_decoder_deps="libvorbis"
libvorbis_encoder_deps="libvorbis"
libvpx_decoder_deps="libvpx"
libvpx_encoder_deps="libvpx"
@@ -1655,6 +1665,7 @@ mmst_protocol_deps="network"
rtmp_protocol_deps="!librtmp_protocol"
rtmp_protocol_select="tcp_protocol"
rtp_protocol_select="udp_protocol"
+sctp_protocol_deps="network netinet_sctp_h"
tcp_protocol_deps="network"
tls_protocol_deps_any="openssl gnutls"
tls_protocol_select="tcp_protocol"
@@ -1667,24 +1678,31 @@ aresample_filter_deps="swresample"
ass_filter_deps="libass"
blackframe_filter_deps="gpl"
boxblur_filter_deps="gpl"
+colormatrix_filter_deps="gpl"
cropdetect_filter_deps="gpl"
delogo_filter_deps="gpl"
drawtext_filter_deps="libfreetype"
frei0r_filter_deps="frei0r dlopen"
+frei0r_filter_extralibs='$ldl'
frei0r_src_filter_deps="frei0r dlopen"
+frei0r_src_filter_extralibs='$ldl'
hqdn3d_filter_deps="gpl"
movie_filter_deps="avcodec avformat"
mp_filter_deps="gpl avcodec swscale postproc"
mptestsrc_filter_deps="gpl"
negate_filter_deps="lut_filter"
+resample_filter_deps="avresample"
ocv_filter_deps="libopencv"
pan_filter_deps="swresample"
+removelogo_filter_deps="avcodec avformat swscale"
scale_filter_deps="swscale"
+super2xsai_filter_deps="gpl"
tinterlace_filter_deps="gpl"
yadif_filter_deps="gpl"
# libraries
avdevice_deps="avcodec avformat"
+avfilter_deps="swscale"
avformat_deps="avcodec"
postproc_deps="gpl"
@@ -1694,7 +1712,7 @@ ffplay_select="buffersink_filter rdft"
ffprobe_deps="avcodec avformat"
ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer"
ffserver_extralibs='$ldl'
-ffmpeg_deps="avcodec avformat swscale swresample"
+ffmpeg_deps="avcodec avfilter avformat swscale swresample format_filter"
ffmpeg_select="buffersink_filter"
doc_deps="texi2html"
@@ -1793,6 +1811,8 @@ test_deps _muxer _demuxer \
yuv4mpegpipe=yuv4mpeg \
ac3_fixed_test_deps="ac3_fixed_encoder ac3_decoder"
+colormatrix1_test_deps="colormatrix_filter"
+colormatrix2_test_deps="colormatrix_filter"
flashsv2_test_deps="zlib"
mpg_test_deps="mpeg1system_muxer mpegps_demuxer"
mpng_test_deps="zlib"
@@ -1858,6 +1878,7 @@ enable avcodec
enable avdevice
enable avfilter
enable avformat
+enable avresample
enable avutil
enable postproc
enable stripping
@@ -2329,6 +2350,24 @@ elif $cc -v 2>&1 | grep -q Open64; then
speed_cflags='-O2'
size_cflags='-Os'
filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros'
+elif $cc -V 2>&1 | grep -q Portland; then
+ cc_type=pgi
+ cc_version='AV_STRINGIFY(__PGIC__.__PGIC_MINOR__.__PGIC_PATCHLEVEL__)'
+ cc_ident="PGI $($cc -V 2>&1 | awk '/^pgcc/ { print $2; exit }')"
+ opt_common='-alias=ansi -Mlre -Mpre'
+ speed_cflags="-O3 -Mautoinline -Munroll=c:4 $opt_common"
+ size_cflags="-O2 -Munroll=c:1 $opt_common"
+ noopt_cflags="-O1"
+ filter_cflags=pgi_flags
+ pgi_flags(){
+ for flag; do
+ case $flag in
+ -fomit-frame-pointer) echo -Mnoframe ;;
+ -g) echo -gopt ;;
+ *) echo $flag ;;
+ esac
+ done
+ }
fi
test -n "$cc_type" && enable $cc_type ||
@@ -2448,9 +2487,12 @@ elif enabled ppc; then
74*|ppc74*|powerpc74*)
cpuflags="-mcpu=7400 -mpowerpc-gfxopt"
;;
- g5|970|ppc970|powerpc970|power4*)
+ g5|970|ppc970|powerpc970)
cpuflags="-mcpu=970 -mpowerpc-gfxopt -mpowerpc64"
;;
+ power[3-7]*)
+ cpuflags="-mcpu=$cpu -mpowerpc-gfxopt -mpowerpc64"
+ ;;
cell)
cpuflags="-mcpu=cell"
enable ldbrx
@@ -2622,7 +2664,7 @@ case $target_os in
SHFLAGS='-shared -Wl,-h,$$(@F)'
enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS"
network_extralibs="-lsocket -lnsl"
- add_cppflags -D__EXTENSIONS__
+ add_cppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
# When using suncc to build, the Solaris linker will mark
# an executable with each instruction set encountered by
# the Solaris assembler. As our libraries contain their own
@@ -2637,7 +2679,6 @@ case $target_os in
oss_outdev_extralibs="-lossaudio"
;;
openbsd)
- enable malloc_aligned
# On OpenBSD 4.5. the compiler does not use PIC unless
# explicitly using -fPIC. FFmpeg builds fine without PIC,
# however the generated executable will not do anything
@@ -2650,18 +2691,15 @@ case $target_os in
oss_outdev_extralibs="-lossaudio"
;;
dragonfly)
- enable malloc_aligned
disable symver
;;
freebsd)
- enable malloc_aligned
;;
bsd/os)
add_extralibs -lpoll -lgnugetopt
strip="strip -d"
;;
darwin)
- enable malloc_aligned
gas="gas-preprocessor.pl $cc"
enabled ppc && add_asflags -force_cpusubtype_ALL
SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
@@ -2685,7 +2723,6 @@ case $target_os in
fi
LIBTARGET=i386
if enabled x86_64; then
- enable malloc_aligned
LIBTARGET=x64
elif enabled arm; then
LIBTARGET=arm-wince
@@ -2790,7 +2827,11 @@ case $target_os in
;;
esac
-echo "config:$arch:$subarch:$cpu:$target_os:$cc_ident:$FFMPEG_CONFIGURATION" >config.fate
+esc(){
+ echo "$*" | sed 's/%/%25/g;s/:/%3a/g'
+}
+
+echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $FFMPEG_CONFIGURATION)" >config.fate
check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable pic
@@ -3024,6 +3065,7 @@ if enabled network; then
check_type netinet/in.h "struct sockaddr_in6"
check_type "sys/types.h sys/socket.h" "struct sockaddr_storage"
check_struct "sys/types.h sys/socket.h" "struct sockaddr" sa_len
+ check_header netinet/sctp.h
# Prefer arpa/inet.h over winsock2
if check_header arpa/inet.h ; then
check_func closesocket
@@ -3046,6 +3088,7 @@ fi
# Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
check_func nanosleep || { check_func nanosleep -lrt && add_extralibs -lrt; }
+check_func clock_gettime || { check_func clock_gettime -lrt && add_extralibs -lrt; }
check_func fcntl
check_func fork
check_func getaddrinfo $network_extralibs
@@ -3088,6 +3131,7 @@ check_header sys/select.h
check_header termios.h
check_header vdpau/vdpau.h
check_header vdpau/vdpau_x11.h
+#MYTH check_header X11/extensions/XvMClib.h
check_header asm/types.h
disabled zlib || check_lib zlib.h zlibVersion -lz || disable zlib
@@ -3132,6 +3176,10 @@ for thread in $THREADS_LIST; do
fi
done
+if enabled pthreads; then
+ check_func pthread_cancel
+fi
+
check_lib math.h sin -lm && LIBM="-lm"
disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersion -lcrystalhd || disable crystalhd
enabled vaapi && require vaapi va/va.h vaInitialize -lva
@@ -3152,6 +3200,7 @@ check_mathfunc truncf
# these are off by default, so fail if requested and not available
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
+enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
enabled libaacplus && require "libaacplus >= 2.0.0" aacplus.h aacplusEncOpen -laacplus
@@ -3160,9 +3209,6 @@ enabled libbluray && require libbluray libbluray/bluray.h bd_open -lbluray
enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 &&
{ check_lib celt/celt.h celt_decoder_create_custom -lcelt0 ||
die "ERROR: libcelt version must be >= 0.11.0."; }
-enabled libdirac && require_pkg_config dirac \
- "libdirac_decoder/dirac_parser.h" \
- "dirac_decoder_init"
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
enabled libfreetype && require_pkg_config freetype2 "ft2build.h freetype/freetype.h" FT_Init_FreeType
enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm
@@ -3179,7 +3225,7 @@ enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schr
enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
enabled libstagefright_h264 && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h
media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h media/stagefright/MediaDefs.h
- media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder
+ media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder -lgnustl_static
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
enabled libutvideo && require_cpp utvideo "stdint.h stdlib.h utvideo/utvideo.h utvideo/Codec.h" 'CCodec*' -lutvideo -lstdc++
enabled libv4l2 && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl
@@ -3311,7 +3357,6 @@ check_cflags -Wdisabled-optimization
check_cflags -Wpointer-arith
check_cflags -Wredundant-decls
check_cflags -Wno-pointer-sign
-check_cflags -Wcast-qual
check_cflags -Wwrite-strings
check_cflags -Wtype-limits
check_cflags -Wundef
@@ -3322,7 +3367,7 @@ enabled extra_warnings && check_cflags -Winline
# add some linker flags
check_ldflags -Wl,--warn-common
-check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil
+check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
enabled xmm_clobber_test && \
@@ -3371,10 +3416,11 @@ if enabled icc; then
# -wd: Disable following warnings
# 144, 167, 556: -Wno-pointer-sign
# 1292: attribute "foo" ignored
+ # 1419: external declaration in primary source file
# 10006: ignoring unknown option -fno-signed-zeros
# 10148: ignoring unknown option -Wno-parentheses
# 10156: ignoring option '-W'; no argument required
- check_cflags -wd144,167,556,1292,10006,10148,10156
+ check_cflags -wd144,167,556,1292,1419,10006,10148,10156
# 11030: Warning unknown option --as-needed
# 10156: ignoring option '-export'; no argument required
check_ldflags -wd10156,11030
@@ -3433,7 +3479,7 @@ if test $target_os = "haiku"; then
disable posix_memalign
fi
-! enabled_any memalign posix_memalign malloc_aligned &&
+! enabled_any memalign posix_memalign &&
enabled_any $need_memalign && enable memalign_hack
# add_dep lib dep
@@ -3533,7 +3579,6 @@ echo "libass enabled ${libass-no}"
echo "libcdio support ${libcdio-no}"
echo "libcelt enabled ${libcelt-no}"
echo "libdc1394 support ${libdc1394-no}"
-echo "libdirac enabled ${libdirac-no}"
echo "libfaac enabled ${libfaac-no}"
echo "libgsm enabled ${libgsm-no}"
echo "libmodplug enabled ${libmodplug-no}"
@@ -3692,6 +3737,7 @@ get_version LIBAVCODEC libavcodec/version.h
get_version LIBAVDEVICE libavdevice/avdevice.h
get_version LIBAVFILTER libavfilter/version.h
get_version LIBAVFORMAT libavformat/version.h
+get_version LIBAVRESAMPLE libavresample/version.h
get_version LIBAVUTIL libavutil/avutil.h
get_version LIBPOSTPROC libpostproc/postprocess.h
get_version LIBSWRESAMPLE libswresample/swresample.h
@@ -3713,6 +3759,9 @@ cat > $TMPH <<EOF
#define SLIBSUF "$SLIBSUF"
EOF
+test -n "$assert_level" &&
+ echo "#define ASSERT_LEVEL $assert_level" >>$TMPH
+
test -n "$malloc_prefix" &&
echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH
@@ -3834,5 +3883,6 @@ pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_V
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$libavdevice_pc_deps"
pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$libavfilter_pc_deps"
pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" "" "libavutil = $LIBAVUTIL_VERSION"
+pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs"
pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
pkgconfig_generate libswresample "FFmpeg audio rescaling library" "$LIBSWRESAMPLE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"
View
75 mythtv/external/FFmpeg/doc/APIchanges
@@ -2,20 +2,81 @@ Never assume the API of libav* to be stable unless at least 1 month has passed
since the last major version increase.
The last version increases were:
-libavcodec: 2012-01-27
-libavdevice: 2011-04-18
-libavfilter: 2011-04-18
-libavformat: 2012-01-27
-libpostproc: 2011-04-18
-libswscale: 2011-06-20
-libavutil: 2011-04-18
+libavcodec: 2012-01-27
+libavdevice: 2011-04-18
+libavfilter: 2011-04-18
+libavformat: 2012-01-27
+libavresample: 2012-04-24
+libpostproc: 2011-04-18
+libswresample: 2011-09-19
+libswscale: 2011-06-20
+libavutil: 2011-04-18
API changes, most recent first:
+2012-05-07 - xxxxxxx - lavf 54.5.100
+ Add av_guess_sample_aspect_ratio() function.
+
+2012-04-20 - xxxxxxx - lavfi 2.70.100
+ Add avfilter_unref_bufferp() to avfilter.h.
+
+2012-04-12 - xxxxxxx - lavfi 2.68.100
+ Install libavfilter/asrc_abuffer.h public header.
+
2012-03-26 - a67d9cf - lavfi 2.66.100
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
+2012-05-15 - lavfi 2.17.0
+ Add support for audio filters
+ ac71230/a2cd9be - add video/audio buffer sink in a new installed
+ header buffersink.h
+ 720c6b7 - add av_buffersrc_write_frame(), deprecate
+ av_vsrc_buffer_add_frame()
+ ab16504 - add avfilter_copy_buf_props()
+ 9453c9e - add extended_data to AVFilterBuffer
+ 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
+
+2012-05-09 - lavu 51.30.0 - samplefmt.h
+ 142e740 - add av_samples_copy()
+ 6d7f617 - add av_samples_set_silence()
+
+2012-05-09 - a5117a2 - lavc 54.13.1
+ For audio formats with fixed frame size, the last frame
+ no longer needs to be padded with silence, libavcodec
+ will handle this internally (effectively all encoders
+ behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
+
+2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
+ Add sample_rate and channel_layout fields to AVFrame.
+
+2012-05-01 - 4010d72 - lavr 0.0.1
+ Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
+
+2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
+ Add av_parse_cpu_flags()
+
+2012-04-24 - c8af852 - lavr 0.0.0
+ Add libavresample audio conversion library
+
+2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
+ Add audio FIFO functions:
+ av_audio_fifo_free()
+ av_audio_fifo_alloc()
+ av_audio_fifo_realloc()
+ av_audio_fifo_write()
+ av_audio_fifo_read()
+ av_audio_fifo_drain()
+ av_audio_fifo_reset()
+ av_audio_fifo_size()
+ av_audio_fifo_space()
+
+2012-04-14 - lavfi 2.16.0 - avfiltergraph.h
+ d7bcc71 Add avfilter_graph_parse2().
+
+2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
+ Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
+
2012-03-21 - b75c67d - lavu 51.43.100
Add bprint.h for bprint API.
View
1 mythtv/external/FFmpeg/doc/Makefile
@@ -8,6 +8,7 @@ HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
doc/git-howto.html \
doc/libavfilter.html \
doc/platform.html \
+ doc/syntax.html \
TXTPAGES = doc/fate.txt \
View
2 mythtv/external/FFmpeg/doc/avtools-common-opts.texi
@@ -41,6 +41,8 @@ streams of this type.
@item p:@var{program_id}[:@var{stream_index}]
If @var{stream_index} is given, then matches stream number @var{stream_index} in
program with id @var{program_id}. Otherwise matches all streams in this program.
+@item #@var{stream_id}
+Matches the stream by format-specific ID.
@end table
@section Generic options
View
23 mythtv/external/FFmpeg/doc/developer.texi
@@ -14,12 +14,13 @@
@section API
@itemize @bullet
@item libavcodec is the library containing the codecs (both encoding and
-decoding). Look at @file{libavcodec/apiexample.c} to see how to use it.
+decoding). Look at @file{doc/examples/decoding_encoding.c} to see how to use
+it.
@item libavformat is the library containing the file format handling (mux and
demux code for several formats). Look at @file{ffplay.c} to use it in a
-player. See @file{libavformat/output-example.c} to use it to generate
-audio or video streams.
+player. See @file{doc/examples/muxing.c} to use it to generate audio or video
+streams.
@end itemize
@@ -187,6 +188,8 @@ the following snippet into your @file{.vimrc}:
set expandtab
set shiftwidth=4
set softtabstop=4
+set cindent
+set cinoptions=(0
" allow tabs in Makefiles
autocmd FileType make set noexpandtab shiftwidth=8 softtabstop=8
" Trailing whitespace and tabs are forbidden, so highlight them.
@@ -198,10 +201,16 @@ autocmd InsertEnter * match ForbiddenWhitespace /\t\|\s\+\%#\@@<!$/
For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
@example
-(setq c-default-style "k&r")
-(setq-default c-basic-offset 4)
-(setq-default indent-tabs-mode nil)
-(setq-default show-trailing-whitespace t)
+(c-add-style "ffmpeg"
+ '("k&r"
+ (c-basic-offset . 4)
+ (indent-tabs-mode nil)
+ (show-trailing-whitespace t)
+ (c-offsets-alist
+ (statement-cont . (c-lineup-assignments +)))
+ )
+ )
+(setq c-default-style "ffmpeg")
@end example
@section Development Policy
View
31 mythtv/external/FFmpeg/doc/examples/Makefile
@@ -1,17 +1,28 @@
-# use pkg-config for getting CFLAGS abd LDFLAGS
-FFMPEG_LIBS=libavdevice libavformat libavfilter libavcodec libswscale libavutil
-CFLAGS+=-Wall $(shell pkg-config --cflags $(FFMPEG_LIBS))
-LDFLAGS+=$(shell pkg-config --libs $(FFMPEG_LIBS))
+# use pkg-config for getting CFLAGS and LDLIBS
+FFMPEG_LIBS= libavdevice \
+ libavformat \
+ libavfilter \
+ libavcodec \
+ libavresample \
+ libswresample \
+ libswscale \
+ libavutil \
-EXAMPLES=decoding_encoding filtering_video filtering_audio metadata muxing
+CFLAGS += -Wall -O2 -g
+CFLAGS += $(shell pkg-config --cflags $(FFMPEG_LIBS))
+LDLIBS += $(shell pkg-config --libs $(FFMPEG_LIBS))
-OBJS=$(addsuffix .o,$(EXAMPLES))
+EXAMPLES= decoding_encoding \
+ filtering_video \
+ filtering_audio \
+ metadata \
+ muxing \
-%: %.o
- $(CC) $< $(LDFLAGS) -o $@
+OBJS=$(addsuffix .o,$(EXAMPLES))
-%.o: %.c
- $(CC) $< $(CFLAGS) -c -o $@
+# the following examples make explicit use of the math library
+decoding_encoding: LDLIBS += -lm
+muxing: LDLIBS += -lm
.phony: all clean
View
27 mythtv/external/FFmpeg/doc/examples/decoding_encoding.c
@@ -29,11 +29,13 @@
* format handling
*/
-#include "libavutil/imgutils.h"
-#include "libavutil/opt.h"
-#include "libavcodec/avcodec.h"
-#include "libavutil/mathematics.h"
-#include "libavutil/samplefmt.h"
+#include <math.h>
+
+#include <libavutil/imgutils.h>
+#include <libavutil/opt.h>
+#include <libavcodec/avcodec.h>
+#include <libavutil/mathematics.h>
+#include <libavutil/samplefmt.h>
#define INBUF_SIZE 4096
#define AUDIO_INBUF_SIZE 20480
@@ -52,7 +54,7 @@ static void audio_encode_example(const char *filename)
float t, tincr;
uint8_t *outbuf;
- printf("Audio encoding\n");
+ printf("Encode audio file %s\n", filename);
/* find the MP2 encoder */
codec = avcodec_find_encoder(CODEC_ID_MP2);
@@ -123,7 +125,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
av_init_packet(&avpkt);
- printf("Audio decoding\n");
+ printf("Decode audio file %s\n", filename);
/* find the mpeg audio decoder */
codec = avcodec_find_decoder(CODEC_ID_MP2);
@@ -211,12 +213,13 @@ static void video_encode_example(const char *filename, int codec_id)
{
AVCodec *codec;
AVCodecContext *c= NULL;
- int i, out_size, size, x, y, outbuf_size;
+ int i, out_size, x, y, outbuf_size;
FILE *f;
AVFrame *picture;
uint8_t *outbuf;
+ int had_output=0;
- printf("Video encoding\n");
+ printf("Encode video file %s\n", filename);
/* find the mpeg1 video encoder */
codec = avcodec_find_encoder(codec_id);
@@ -284,15 +287,17 @@ static void video_encode_example(const char *filename, int codec_id)
/* encode the image */
out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
+ had_output |= out_size;