[FFmpeg-cvslog] [ffmpeg-web] branch master updated. 8500f0f web/consulting: Add myself.
The branch, master has been updated via 8500f0f370cb2b34efba5977798e731eb68d805a (commit) from b5af63432925a84e7371ef1eb4883922bc42773a (commit) - Log - commit 8500f0f370cb2b34efba5977798e731eb68d805a Author: Thilo BorgmannAuthorDate: Tue Mar 22 12:39:45 2016 +0100 Commit: Lou Logan CommitDate: Tue Mar 22 10:36:35 2016 -0800 web/consulting: Add myself. diff --git a/src/consulting b/src/consulting index 8990219..0b03806 100644 --- a/src/consulting +++ b/src/consulting @@ -157,3 +157,17 @@ E.g.: + + + + Thilo Borgmann + +Thilo is located in Berlin, Germany and is available for contract work. +He has worked on FFmpeg since 2009 and has been a maintainer since 2010. +He has special expertise with decoders, metadata, input devices and +filters. You can contact him by email at +mailto:thilo.borgm...@mail.de;>thilo.borgm...@mail.de. + + + + --- Summary of changes: src/consulting | 14 ++ 1 file changed, 14 insertions(+) hooks/post-receive -- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavc: add AudioToolbox decoders
ffmpeg | branch: master | Rodger Combs| Thu Feb 18 21:38:37 2016 -0600| [d5d328059e5195b67f7264faa431301ec584648b] | committer: Rodger Combs lavc: add AudioToolbox decoders Part of trac #4828 > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d5d328059e5195b67f7264faa431301ec584648b --- Changelog|1 + configure| 24 +++ libavcodec/Makefile | 14 ++ libavcodec/allcodecs.c | 14 ++ libavcodec/audiotoolboxdec.c | 334 ++ libavcodec/version.h |4 +- 6 files changed, 389 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 20f98ed..29d2290 100644 --- a/Changelog +++ b/Changelog @@ -13,6 +13,7 @@ version : - protocol blacklisting API - MediaCodec H264 decoding - VC-2 HQ RTP payload format (draft v1) depacketizer +- AudioToolbox audio decoders version 3.0: diff --git a/configure b/configure index 764377c..cde3096 100755 --- a/configure +++ b/configure @@ -194,6 +194,7 @@ Individual component options: --disable-filtersdisable all filters External library support: + --disable-audiotoolbox enable AudioToolbox decoders and encoders [autodetect] --enable-avisynthenable reading of AviSynth script files [no] --disable-bzlib disable bzlib [autodetect] --enable-cudaenable dynamically linked CUDA [no] @@ -1446,6 +1447,7 @@ EXAMPLE_LIST=" " EXTERNAL_LIBRARY_LIST=" +audiotoolbox avisynth bzlib chromaprint @@ -2506,6 +2508,10 @@ zlib_encoder_select="zlib" zmbv_decoder_select="zlib" zmbv_encoder_select="zlib" +# platform codecs +audiotoolbox_deps="AudioToolbox_AudioToolbox_h" +audiotoolbox_extralibs="-framework CoreFoundation -framework AudioToolbox -framework CoreMedia" + # hardware accelerators crystalhd_deps="libcrystalhd_libcrystalhd_if_h" d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder ID3D11VideoContext" @@ -2641,6 +2647,20 @@ vc1_parser_select="vc1dsp" mjpeg2jpeg_bsf_select="jpegtables" # external libraries +aac_at_decoder_deps="audiotoolbox" +ac3_at_decoder_deps="audiotoolbox" +adpcm_ima_qt_at_decoder_deps="audiotoolbox" +alac_at_decoder_deps="audiotoolbox" +amr_nb_at_decoder_deps="audiotoolbox" +gsm_ms_at_decoder_deps="audiotoolbox" +ilbc_at_decoder_deps="audiotoolbox" +mp1_at_decoder_deps="audiotoolbox" +mp2_at_decoder_deps="audiotoolbox" +mp3_at_decoder_deps="audiotoolbox" +pcm_alaw_at_decoder_deps="audiotoolbox" +pcm_mulaw_at_decoder_deps="audiotoolbox" +qdmc_at_decoder_deps="audiotoolbox" +qdm2_at_decoder_deps="audiotoolbox" chromaprint_muxer_deps="chromaprint" h264_videotoolbox_encoder_deps="videotoolbox_encoder pthreads" libcelt_decoder_deps="libcelt" @@ -3087,6 +3107,9 @@ enable valgrind_backtrace sws_max_filter_size_default=256 set_default sws_max_filter_size +# Enable platform codecs by default. +enable audiotoolbox + # Enable hwaccels by default. enable d3d11va dxva2 vaapi vda vdpau videotoolbox_hwaccel xvmc enable xlib @@ -5365,6 +5388,7 @@ check_func_headers glob.h glob enabled xlib && check_func_headers "X11/Xlib.h X11/extensions/Xvlib.h" XvGetPortAttribute -lXv -lX11 -lXext +check_header AudioToolbox/AudioToolbox.h check_header direct.h check_header dirent.h check_header dlfcn.h diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 6bb1af1..53d3f0d 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -801,6 +801,20 @@ OBJS-$(CONFIG_WEBM_MUXER) += mpeg4audio.o mpegaudiodata.o \ OBJS-$(CONFIG_ELBG_FILTER) += elbg.o # external codec libraries +OBJS-$(CONFIG_AAC_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_AC3_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_ADPCM_IMA_QT_AT_DECODER)+= audiotoolboxdec.o +OBJS-$(CONFIG_ALAC_AT_DECODER)+= audiotoolboxdec.o +OBJS-$(CONFIG_AMR_NB_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_GSM_MS_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_ILBC_AT_DECODER)+= audiotoolboxdec.o +OBJS-$(CONFIG_MP1_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_MP2_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_MP3_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_PCM_MULAW_AT_DECODER) += audiotoolboxdec.o +OBJS-$(CONFIG_PCM_ALAW_AT_DECODER)+= audiotoolboxdec.o +OBJS-$(CONFIG_QDMC_AT_DECODER)+= audiotoolboxdec.o +OBJS-$(CONFIG_QDM2_AT_DECODER)+= audiotoolboxdec.o OBJS-$(CONFIG_LIBCELT_DECODER)+= libcelt_dec.o OBJS-$(CONFIG_LIBDCADEC_DECODER) += libdcadec.o dca.o OBJS-$(CONFIG_LIBFAAC_ENCODER)+= libfaac.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 2a25d66..e9f971b 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -563,6 +563,20 @@ void avcodec_register_all(void) REGISTER_ENCDEC (XSUB, xsub); /* external
[FFmpeg-cvslog] lavc: add AudioToolbox encoders
ffmpeg | branch: master | Rodger Combs| Tue Feb 23 21:01:24 2016 -0600| [65cff814534cec948f255b48098ad9e543993132] | committer: Rodger Combs lavc: add AudioToolbox encoders Fixes trac #4828 > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=65cff814534cec948f255b48098ad9e543993132 --- Changelog|1 + configure| 10 + libavcodec/Makefile |5 + libavcodec/allcodecs.c | 10 +- libavcodec/audiotoolboxenc.c | 471 ++ libavcodec/version.h |2 +- 6 files changed, 493 insertions(+), 6 deletions(-) diff --git a/Changelog b/Changelog index 29d2290..d70f6f0 100644 --- a/Changelog +++ b/Changelog @@ -14,6 +14,7 @@ version : - MediaCodec H264 decoding - VC-2 HQ RTP payload format (draft v1) depacketizer - AudioToolbox audio decoders +- AudioToolbox audio encoders version 3.0: diff --git a/configure b/configure index cde3096..0987bcd 100755 --- a/configure +++ b/configure @@ -2661,6 +2661,16 @@ pcm_alaw_at_decoder_deps="audiotoolbox" pcm_mulaw_at_decoder_deps="audiotoolbox" qdmc_at_decoder_deps="audiotoolbox" qdm2_at_decoder_deps="audiotoolbox" +aac_at_encoder_deps="audiotoolbox" +aac_at_encoder_select="audio_frame_queue" +alac_at_encoder_deps="audiotoolbox" +alac_at_encoder_select="audio_frame_queue" +ilbc_at_encoder_deps="audiotoolbox" +ilbc_at_encoder_select="audio_frame_queue" +pcm_alaw_at_encoder_deps="audiotoolbox" +pcm_alaw_at_encoder_select="audio_frame_queue" +pcm_mulaw_at_encoder_deps="audiotoolbox" +pcm_mulaw_at_encoder_select="audio_frame_queue" chromaprint_muxer_deps="chromaprint" h264_videotoolbox_encoder_deps="videotoolbox_encoder pthreads" libcelt_decoder_deps="libcelt" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 53d3f0d..ef9eb98 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -815,6 +815,11 @@ OBJS-$(CONFIG_PCM_MULAW_AT_DECODER) += audiotoolboxdec.o OBJS-$(CONFIG_PCM_ALAW_AT_DECODER)+= audiotoolboxdec.o OBJS-$(CONFIG_QDMC_AT_DECODER)+= audiotoolboxdec.o OBJS-$(CONFIG_QDM2_AT_DECODER)+= audiotoolboxdec.o +OBJS-$(CONFIG_AAC_AT_ENCODER) += audiotoolboxenc.o +OBJS-$(CONFIG_ALAC_AT_ENCODER)+= audiotoolboxenc.o +OBJS-$(CONFIG_ILBC_AT_ENCODER)+= audiotoolboxenc.o +OBJS-$(CONFIG_PCM_ALAW_AT_ENCODER)+= audiotoolboxenc.o +OBJS-$(CONFIG_PCM_MULAW_AT_ENCODER) += audiotoolboxenc.o OBJS-$(CONFIG_LIBCELT_DECODER)+= libcelt_dec.o OBJS-$(CONFIG_LIBDCADEC_DECODER) += libdcadec.o dca.o OBJS-$(CONFIG_LIBFAAC_ENCODER)+= libfaac.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index e9f971b..a953a16 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -563,18 +563,18 @@ void avcodec_register_all(void) REGISTER_ENCDEC (XSUB, xsub); /* external libraries */ -REGISTER_DECODER(AAC_AT,aac_at); +REGISTER_ENCDEC (AAC_AT,aac_at); REGISTER_DECODER(AC3_AT,ac3_at); REGISTER_DECODER(ADPCM_IMA_QT_AT, adpcm_ima_qt_at); -REGISTER_DECODER(ALAC_AT, alac_at); +REGISTER_ENCDEC (ALAC_AT, alac_at); REGISTER_DECODER(AMR_NB_AT, amr_nb_at); REGISTER_DECODER(GSM_MS_AT, gsm_ms_at); -REGISTER_DECODER(ILBC_AT, ilbc_at); +REGISTER_ENCDEC (ILBC_AT, ilbc_at); REGISTER_DECODER(MP1_AT,mp1_at); REGISTER_DECODER(MP2_AT,mp2_at); REGISTER_DECODER(MP3_AT,mp3_at); -REGISTER_DECODER(PCM_ALAW_AT, pcm_alaw_at); -REGISTER_DECODER(PCM_MULAW_AT, pcm_mulaw_at); +REGISTER_ENCDEC (PCM_ALAW_AT, pcm_alaw_at); +REGISTER_ENCDEC (PCM_MULAW_AT, pcm_mulaw_at); REGISTER_DECODER(QDMC_AT, qdmc_at); REGISTER_DECODER(QDM2_AT, qdm2_at); REGISTER_DECODER(LIBCELT, libcelt); diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c new file mode 100644 index 000..cb53f2a --- /dev/null +++ b/libavcodec/audiotoolboxenc.c @@ -0,0 +1,471 @@ +/* + * Audio Toolbox system codecs + * + * copyright (c) 2016 Rodger Combs + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51
[FFmpeg-cvslog] all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.h
ffmpeg | branch: master | Ganesh Ajjanagadde| Mon Mar 14 21:28:56 2016 -0400| [db1a642cd213804ed1579a19c9f5db08407dad9b] | committer: Ganesh Ajjanagadde all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.h The idea is to use ffmath.h for internal implementations of math functions. Currently, it is used for variants of libm functions, but is by no means limited to such things. Note that this is not exported; use lavu/mathematics for such purposes. Reviewed-by: Ronald S. Bultje Signed-off-by: Ganesh Ajjanagadde > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=db1a642cd213804ed1579a19c9f5db08407dad9b --- libavcodec/aacenc_utils.h |2 +- libavcodec/aacpsy.c |3 +- libavcodec/acelp_pitch_delay.c |3 +- libavcodec/cngdec.c |2 +- libavcodec/dcaenc.c |2 +- libavcodec/imc.c|2 +- libavcodec/on2avc.c |2 +- libavcodec/opus.c |2 +- libavcodec/wmadec.c |3 +- libavcodec/wmaenc.c |2 +- libavcodec/wmaprodec.c |2 +- libavfilter/af_anequalizer.c|1 + libavfilter/af_compand.c|1 + libavfilter/af_volume.c |1 + libavfilter/f_ebur128.c |1 + libavfilter/vaf_spectrumsynth.c |1 + libavfilter/vsrc_testsrc.c |1 + libavutil/eval.c|1 + libavutil/ffmath.h | 67 +++ libavutil/internal.h| 36 - 20 files changed, 85 insertions(+), 50 deletions(-) diff --git a/libavcodec/aacenc_utils.h b/libavcodec/aacenc_utils.h index 07f7337..bb1dcb4 100644 --- a/libavcodec/aacenc_utils.h +++ b/libavcodec/aacenc_utils.h @@ -28,7 +28,7 @@ #ifndef AVCODEC_AACENC_UTILS_H #define AVCODEC_AACENC_UTILS_H -#include "libavutil/internal.h" +#include "libavutil/ffmath.h" #include "aac.h" #include "aacenctab.h" #include "aactab.h" diff --git a/libavcodec/aacpsy.c b/libavcodec/aacpsy.c index 8643fe7..0898baf 100644 --- a/libavcodec/aacpsy.c +++ b/libavcodec/aacpsy.c @@ -25,8 +25,7 @@ */ #include "libavutil/attributes.h" -#include "libavutil/internal.h" -#include "libavutil/libm.h" +#include "libavutil/ffmath.h" #include "avcodec.h" #include "aactab.h" diff --git a/libavcodec/acelp_pitch_delay.c b/libavcodec/acelp_pitch_delay.c index c2533b1..8ec1ba3 100644 --- a/libavcodec/acelp_pitch_delay.c +++ b/libavcodec/acelp_pitch_delay.c @@ -21,9 +21,8 @@ */ #include "libavutil/common.h" +#include "libavutil/ffmath.h" #include "libavutil/float_dsp.h" -#include "libavutil/internal.h" -#include "libavutil/libm.h" #include "libavutil/mathematics.h" #include "avcodec.h" #include "acelp_pitch_delay.h" diff --git a/libavcodec/cngdec.c b/libavcodec/cngdec.c index 0251086..34f8814 100644 --- a/libavcodec/cngdec.c +++ b/libavcodec/cngdec.c @@ -22,7 +22,7 @@ #include #include "libavutil/common.h" -#include "libavutil/internal.h" +#include "libavutil/ffmath.h" #include "avcodec.h" #include "celp_filters.h" #include "internal.h" diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c index 70e9230..ab40e37 100644 --- a/libavcodec/dcaenc.c +++ b/libavcodec/dcaenc.c @@ -24,7 +24,7 @@ #include "libavutil/avassert.h" #include "libavutil/channel_layout.h" #include "libavutil/common.h" -#include "libavutil/internal.h" +#include "libavutil/ffmath.h" #include "avcodec.h" #include "dca.h" #include "dcadata.h" diff --git a/libavcodec/imc.c b/libavcodec/imc.c index 085ec09..850bc9d 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -35,9 +35,9 @@ #include #include "libavutil/channel_layout.h" +#include "libavutil/ffmath.h" #include "libavutil/float_dsp.h" #include "libavutil/internal.h" -#include "libavutil/libm.h" #include "avcodec.h" #include "bswapdsp.h" #include "get_bits.h" diff --git a/libavcodec/on2avc.c b/libavcodec/on2avc.c index 62c71cc..3064c6f 100644 --- a/libavcodec/on2avc.c +++ b/libavcodec/on2avc.c @@ -21,8 +21,8 @@ */ #include "libavutil/channel_layout.h" +#include "libavutil/ffmath.h" #include "libavutil/float_dsp.h" -#include "libavutil/internal.h" #include "avcodec.h" #include "bytestream.h" #include "fft.h" diff --git a/libavcodec/opus.c b/libavcodec/opus.c index f2b8ecc..47f2657 100644 --- a/libavcodec/opus.c +++ b/libavcodec/opus.c @@ -27,7 +27,7 @@ #include #include "libavutil/error.h" -#include "libavutil/internal.h" +#include "libavutil/ffmath.h" #include "opus.h" #include "vorbis.h" diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 1a84323..7130bf6 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -34,8 +34,7 @@ */ #include "libavutil/attributes.h" -#include "libavutil/internal.h" -#include "libavutil/libm.h" +#include "libavutil/ffmath.h" #include "avcodec.h" #include "internal.h" diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c index
[FFmpeg-cvslog] Added a selftest to libavutil/display.c
ffmpeg | branch: master | Petru Rares Sincraian| Sun Mar 20 09:54:07 2016 +0100| [124526ba1aee5b616b9f6cf2da6b5db85d05711d] | committer: Michael Niedermayer Added a selftest to libavutil/display.c - Check if av_display_rotation_get() gets the correct degrees - Check if av_display_rotation_set() sets the correct matrix - Check if av_display_matrix_flip() changes correct the matrix Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=124526ba1aee5b616b9f6cf2da6b5db85d05711d --- libavutil/Makefile |1 + libavutil/display.c | 43 +++ libavutil/display.h |1 + tests/fate/libavutil.mak |4 tests/ref/fate/display | 16 5 files changed, 65 insertions(+) diff --git a/libavutil/Makefile b/libavutil/Makefile index 58df75a..7a3076f 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -181,6 +181,7 @@ TESTPROGS = adler32 \ crc \ des \ dict\ +display \ error \ eval\ file\ diff --git a/libavutil/display.c b/libavutil/display.c index a0076e0..ceed492 100644 --- a/libavutil/display.c +++ b/libavutil/display.c @@ -71,3 +71,46 @@ void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip) for (i = 0; i < 9; i++) matrix[i] *= flip[i % 3]; } + +#ifdef TEST + +static void print_matrix(int32_t matrix[9]) +{ +int i, j; + +for (i = 0; i < 3; ++i) { +for (j = 0; j < 3 - 1; ++j) +printf("%d ", matrix[i*3 + j]); + +printf("%d\n", matrix[i*3 + j]); +} +} + +int main(void) +{ +int32_t matrix[9]; + +// Set the matrix to 90 degrees +av_display_rotation_set(matrix, 90); +print_matrix(matrix); +printf("degrees: %f\n", av_display_rotation_get(matrix)); + +// Set the matrix to -45 degrees +av_display_rotation_set(matrix, -45); +print_matrix(matrix); +printf("degrees: %f\n", av_display_rotation_get(matrix)); + +// flip horizontal +av_display_matrix_flip(matrix, 1, 0); +print_matrix(matrix); +printf("degrees: %f\n", av_display_rotation_get(matrix)); + +// flip vertical +av_display_matrix_flip(matrix, 0, 1); +print_matrix(matrix); +printf("degrees: %f\n", av_display_rotation_get(matrix)); + +return 0; + +} +#endif diff --git a/libavutil/display.h b/libavutil/display.h index c0cfee3..39c15ee 100644 --- a/libavutil/display.h +++ b/libavutil/display.h @@ -22,6 +22,7 @@ #define AVUTIL_DISPLAY_H #include +#include "common.h" /** * The display transformation matrix specifies an affine transformation that diff --git a/tests/fate/libavutil.mak b/tests/fate/libavutil.mak index 5d8e0e2..7f4fb7a 100644 --- a/tests/fate/libavutil.mak +++ b/tests/fate/libavutil.mak @@ -99,6 +99,10 @@ FATE_LIBAVUTIL-$(CONFIG_PIXELUTILS) += fate-pixelutils fate-pixelutils: libavutil/pixelutils-test$(EXESUF) fate-pixelutils: CMD = run libavutil/pixelutils-test +FATE_LIBAVUTIL += fate-display +fate-display: libavutil/display-test$(EXESUF) +fate-display: CMD = run libavutil/display-test + FATE_LIBAVUTIL += fate-random_seed fate-random_seed: libavutil/random_seed-test$(EXESUF) fate-random_seed: CMD = run libavutil/random_seed-test diff --git a/tests/ref/fate/display b/tests/ref/fate/display new file mode 100644 index 000..251e7e0 --- /dev/null +++ b/tests/ref/fate/display @@ -0,0 +1,16 @@ +0 65536 0 +-65536 0 0 +0 0 1073741824 +degrees: -90.00 +46340 -46340 0 +46340 46340 0 +0 0 1073741824 +degrees: 45.00 +-46340 -46340 0 +-46340 46340 0 +0 0 1073741824 +degrees: 135.00 +-46340 46340 0 +-46340 -46340 0 +0 0 1073741824 +degrees: -135.00 ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] vc2enc: add non-experimental support for all video formats from spec
ffmpeg | branch: master | Rostislav Pehlivanov| Mon Mar 21 17:32:55 2016 +| [2aebdfb451bb01165473f9b4d8e6a2c4997e3bf2] | committer: Rostislav Pehlivanov vc2enc: add non-experimental support for all video formats from spec Until now, for formats which were in the spec but not in the encoder's list of supported formats required the -strict -1 flag. This enables support for all video formats which are specified, all the way from QSIF525 to 8K. Signed-off-by: Rostislav Pehlivanov > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2aebdfb451bb01165473f9b4d8e6a2c4997e3bf2 --- libavcodec/vc2enc.c | 94 --- 1 file changed, 59 insertions(+), 35 deletions(-) diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c index 16e4110..209413f 100644 --- a/libavcodec/vc2enc.c +++ b/libavcodec/vc2enc.c @@ -39,6 +39,46 @@ /* Decides the cutoff point in # of slices to distribute the leftover bytes */ #define SLICE_REDIST_TOTAL 150 +typedef struct VC2BaseVideoFormat { +enum AVPixelFormat pix_fmt; +AVRational time_base; +int width, height, interlaced, level; +const char *name; +} VC2BaseVideoFormat; + +static const VC2BaseVideoFormat base_video_fmts[] = { +{ 0 }, /* Custom format, here just to make indexing equal to base_vf */ +{ AV_PIX_FMT_YUV420P, { 1001, 15000 }, 176, 120, 0, 1, "QSIF525" }, +{ AV_PIX_FMT_YUV420P, {2,25 }, 176, 144, 0, 1, "QCIF"}, +{ AV_PIX_FMT_YUV420P, { 1001, 15000 }, 352, 240, 0, 1, "SIF525" }, +{ AV_PIX_FMT_YUV420P, {2,25 }, 352, 288, 0, 1, "CIF" }, +{ AV_PIX_FMT_YUV420P, { 1001, 15000 }, 704, 480, 0, 1, "4SIF525" }, +{ AV_PIX_FMT_YUV420P, {2,25 }, 704, 576, 0, 1, "4CIF"}, + +{ AV_PIX_FMT_YUV422P10, { 1001, 3 }, 720, 480, 1, 2, "SD480I-60" }, +{ AV_PIX_FMT_YUV422P10, {1,25 }, 720, 576, 1, 2, "SD576I-50" }, + +{ AV_PIX_FMT_YUV422P10, { 1001, 6 }, 1280, 720, 0, 3, "HD720P-60" }, +{ AV_PIX_FMT_YUV422P10, {1,50 }, 1280, 720, 0, 3, "HD720P-50" }, +{ AV_PIX_FMT_YUV422P10, { 1001, 3 }, 1920, 1080, 1, 3, "HD1080I-60" }, +{ AV_PIX_FMT_YUV422P10, {1,25 }, 1920, 1080, 1, 3, "HD1080I-50" }, +{ AV_PIX_FMT_YUV422P10, { 1001, 6 }, 1920, 1080, 1, 3, "HD1080P-60" }, +{ AV_PIX_FMT_YUV422P10, {1,50 }, 1920, 1080, 1, 3, "HD1080P-50" }, + +{ AV_PIX_FMT_YUV444P12, {1,24 }, 2048, 1080, 0, 4,"DC2K" }, +{ AV_PIX_FMT_YUV444P12, {1,24 }, 4096, 2160, 0, 5,"DC4K" }, + +{ AV_PIX_FMT_YUV422P10, { 1001, 6 }, 3840, 2160, 0, 6, "UHDTV 4K-60" }, +{ AV_PIX_FMT_YUV422P10, {1,50 }, 3840, 2160, 0, 6, "UHDTV 4K-50" }, + +{ AV_PIX_FMT_YUV422P10, { 1001, 6 }, 7680, 4320, 0, 7, "UHDTV 8K-60" }, +{ AV_PIX_FMT_YUV422P10, {1,50 }, 7680, 4320, 0, 7, "UHDTV 8K-50" }, + +{ AV_PIX_FMT_YUV422P10, { 1001, 24000 }, 1920, 1080, 0, 3, "HD1080P-24" }, +{ AV_PIX_FMT_YUV422P10, { 1001, 3 }, 720, 486, 1, 2, "SD Pro486" }, +}; +static const int base_video_fmts_len = FF_ARRAY_ELEMS(base_video_fmts); + enum VC2_QM { VC2_QM_DEF = 0, VC2_QM_COL, @@ -1054,40 +1094,23 @@ static av_cold int vc2_encode_init(AVCodecContext *avctx) s->interlaced = !((avctx->field_order == AV_FIELD_UNKNOWN) || (avctx->field_order == AV_FIELD_PROGRESSIVE)); -if (avctx->pix_fmt == AV_PIX_FMT_YUV422P10) { -if (avctx->width == 1280 && avctx->height == 720) { -s->level = 3; -if (avctx->time_base.num == 1001 && avctx->time_base.den == 6) -s->base_vf = 9; -if (avctx->time_base.num == 1 && avctx->time_base.den == 50) -s->base_vf = 10; -} else if (avctx->width == 1920 && avctx->height == 1080) { -s->level = 3; -if (s->interlaced) { -if (avctx->time_base.num == 1001 && avctx->time_base.den == 3) -s->base_vf = 11; -if (avctx->time_base.num == 1 && avctx->time_base.den == 50) -s->base_vf = 12; -} else { -if (avctx->time_base.num == 1001 && avctx->time_base.den == 6) -s->base_vf = 13; -if (avctx->time_base.num == 1 && avctx->time_base.den == 50) -s->base_vf = 14; -if (avctx->time_base.num == 1001 && avctx->time_base.den == 24000) -s->base_vf = 21; -} -} else if (avctx->width == 3840 && avctx->height == 2160) { -s->level = 6; -if (avctx->time_base.num == 1001 && avctx->time_base.den == 6) -s->base_vf = 17; -if (avctx->time_base.num == 1 && avctx->time_base.den == 50) -s->base_vf = 18; -} -} - -if
[FFmpeg-cvslog] swresample/swresample: Remove "less than" comparissions of enums
ffmpeg | branch: master | Michael Niedermayer| Tue Mar 22 14:11:03 2016 +0100| [914ad90eddce785592dd7fbe4c1b513c0025a383] | committer: Michael Niedermayer swresample/swresample: Remove "less than" comparissions of enums Found-by: wm4 Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=914ad90eddce785592dd7fbe4c1b513c0025a383 --- libswresample/swresample.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libswresample/swresample.c b/libswresample/swresample.c index 8e23899..e02ec81 100644 --- a/libswresample/swresample.c +++ b/libswresample/swresample.c @@ -213,10 +213,10 @@ av_cold int swr_init(struct SwrContext *s){ s->rematrix_custom; if(s->int_sample_fmt == AV_SAMPLE_FMT_NONE){ -if( av_get_planar_sample_fmt(s-> in_sample_fmt) <= AV_SAMPLE_FMT_S16P - && av_get_planar_sample_fmt(s->out_sample_fmt) <= AV_SAMPLE_FMT_S16P){ +if( av_get_bytes_per_sample(s-> in_sample_fmt) <= 2 + && av_get_bytes_per_sample(s->out_sample_fmt) <= 2){ s->int_sample_fmt= AV_SAMPLE_FMT_S16P; -}else if( av_get_planar_sample_fmt(s-> in_sample_fmt) <= AV_SAMPLE_FMT_S16P +}else if( av_get_bytes_per_sample(s-> in_sample_fmt) <= 2 && !s->rematrix && s->out_sample_rate==s->in_sample_rate && !(s->flags & SWR_FLAG_RESAMPLE)){ @@ -226,7 +226,7 @@ av_cold int swr_init(struct SwrContext *s){ && !s->rematrix && s->engine != SWR_ENGINE_SOXR){ s->int_sample_fmt= AV_SAMPLE_FMT_S32P; -}else if(av_get_planar_sample_fmt(s->in_sample_fmt) <= AV_SAMPLE_FMT_FLTP){ +}else if(av_get_bytes_per_sample(s->in_sample_fmt) <= 4){ s->int_sample_fmt= AV_SAMPLE_FMT_FLTP; }else{ s->int_sample_fmt= AV_SAMPLE_FMT_DBLP; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/img2dec: Skip COM when auto-detecting jpeg.
ffmpeg | branch: master | Carl Eugen Hoyos| Tue Mar 22 11:13:24 2016 +0100| [ef888de1c1d2581d45c1917d8f9081b35ea07a72] | committer: Carl Eugen Hoyos lavf/img2dec: Skip COM when auto-detecting jpeg. It could theoretically contain invalid data that gets ignored by decoders. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ef888de1c1d2581d45c1917d8f9081b35ea07a72 --- libavformat/img2dec.c |1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index fe0e346..6864374 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -742,6 +742,7 @@ static int jpeg_probe(AVProbeData *p) case APP13: case APP14: case APP15: +case COM: i += AV_RB16([i + 2]) + 1; break; default: ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] fate: add audiomatch
ffmpeg | branch: master | Michael Niedermayer| Mon Mar 21 04:18:48 2016 +0100| [14478b6c3820339442d8c96b701d021499de0827] | committer: Michael Niedermayer fate: add audiomatch Testset provided by Justin Greer Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=14478b6c3820339442d8c96b701d021499de0827 --- .gitignore |1 + Makefile |2 +- tests/Makefile |2 +- tests/audiomatch.c | 110 tests/fate-run.sh | 12 +++ tests/fate/gapless.mak | 92 .../fate/audiomatch-afconvert-16000-mono-he-adts |1 + .../fate/audiomatch-afconvert-16000-mono-he-m4a|1 + .../fate/audiomatch-afconvert-16000-mono-lc-adts |1 + .../fate/audiomatch-afconvert-16000-mono-lc-m4a|1 + .../fate/audiomatch-afconvert-16000-stereo-he-adts |1 + .../fate/audiomatch-afconvert-16000-stereo-he-m4a |1 + .../audiomatch-afconvert-16000-stereo-he2-adts |1 + .../fate/audiomatch-afconvert-16000-stereo-he2-m4a |1 + .../fate/audiomatch-afconvert-16000-stereo-lc-adts |1 + .../fate/audiomatch-afconvert-16000-stereo-lc-m4a |1 + .../fate/audiomatch-afconvert-44100-mono-he-adts |1 + .../fate/audiomatch-afconvert-44100-mono-he-m4a|1 + .../fate/audiomatch-afconvert-44100-mono-lc-adts |1 + .../fate/audiomatch-afconvert-44100-mono-lc-m4a|1 + .../fate/audiomatch-afconvert-44100-stereo-he-adts |1 + .../fate/audiomatch-afconvert-44100-stereo-he-m4a |1 + .../audiomatch-afconvert-44100-stereo-he2-adts |1 + .../fate/audiomatch-afconvert-44100-stereo-he2-m4a |1 + .../fate/audiomatch-afconvert-44100-stereo-lc-adts |1 + .../fate/audiomatch-afconvert-44100-stereo-lc-m4a |1 + tests/ref/fate/audiomatch-dolby-44100-mono-he-mp4 |1 + tests/ref/fate/audiomatch-dolby-44100-mono-lc-mp4 |1 + .../ref/fate/audiomatch-dolby-44100-stereo-he-mp4 |1 + .../ref/fate/audiomatch-dolby-44100-stereo-he2-mp4 |1 + .../ref/fate/audiomatch-dolby-44100-stereo-lc-mp4 |1 + tests/ref/fate/audiomatch-faac-16000-mono-lc-adts |1 + tests/ref/fate/audiomatch-faac-16000-mono-lc-m4a |1 + .../ref/fate/audiomatch-faac-16000-stereo-lc-adts |1 + tests/ref/fate/audiomatch-faac-16000-stereo-lc-m4a |1 + tests/ref/fate/audiomatch-faac-44100-mono-lc-adts |1 + tests/ref/fate/audiomatch-faac-44100-mono-lc-m4a |1 + .../ref/fate/audiomatch-faac-44100-stereo-lc-adts |1 + tests/ref/fate/audiomatch-faac-44100-stereo-lc-m4a |1 + tests/ref/fate/audiomatch-nero-16000-mono-he-m4a |1 + tests/ref/fate/audiomatch-nero-16000-mono-lc-m4a |1 + tests/ref/fate/audiomatch-nero-16000-stereo-he-m4a |1 + .../ref/fate/audiomatch-nero-16000-stereo-he2-m4a |1 + tests/ref/fate/audiomatch-nero-16000-stereo-lc-m4a |1 + tests/ref/fate/audiomatch-nero-44100-mono-he-m4a |1 + tests/ref/fate/audiomatch-nero-44100-mono-lc-m4a |1 + tests/ref/fate/audiomatch-nero-44100-stereo-he-m4a |1 + .../ref/fate/audiomatch-nero-44100-stereo-he2-m4a |1 + tests/ref/fate/audiomatch-nero-44100-stereo-lc-m4a |1 + .../fate/audiomatch-quicktime7-44100-stereo-lc-mp4 |1 + .../fate/audiomatch-quicktimeX-44100-stereo-lc-m4a |1 + tests/ref/fate/audiomatch-square-aac |1 + tests/ref/fate/audiomatch-square-mp3 |1 + 53 files changed, 264 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9fc0ac2..3e6e18c 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,7 @@ /libavutil/ffversion.h /src /tests/audiogen +/tests/audiomatch /tests/base64 /tests/checkasm/checkasm /tests/data/ diff --git a/Makefile b/Makefile index 87a9869..d881fcc 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ OBJS-ffmpeg-$(CONFIG_VIDEOTOOLBOX) += ffmpeg_videotoolbox.o OBJS-ffmpeg-$(CONFIG_LIBMFX) += ffmpeg_qsv.o OBJS-ffserver += ffserver_config.o -TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64 +TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64 audiomatch HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options TOOLS = qt-faststart trasher uncoded_frame TOOLS-$(CONFIG_ZLIB) += cws2fws diff --git a/tests/Makefile b/tests/Makefile index 6e5dfa6..6fef0cd 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -200,7 +200,7 @@ $(FATE_EXTERN): @echo "$@ requires external samples and SAMPLES not specified"; false endif -FATE_UTILS = base64 tiny_psnr tiny_ssim +FATE_UTILS = base64 tiny_psnr tiny_ssim audiomatch TOOL = ffmpeg diff --git a/tests/audiomatch.c b/tests/audiomatch.c new file mode 100644 index