[FFmpeg-cvslog] configure: Use pkg-config for libkvazaar.
ffmpeg | branch: master | Arttu Ylä-Outinen arttu.yla-outi...@tut.fi | Tue Aug 18 09:04:41 2015 +0300| [b807f7e286642ea5303ad30ba7003beb1e65a862] | committer: Michael Niedermayer configure: Use pkg-config for libkvazaar. Signed-off-by: Arttu Ylä-Outinen arttu.yla-outi...@tut.fi Liked-by: wm4 nfx...@googlemail.com Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b807f7e286642ea5303ad30ba7003beb1e65a862 --- configure |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index a6c57d0..49d4ff3 100755 --- a/configure +++ b/configure @@ -5226,7 +5226,7 @@ enabled libgsm { for gsm_hdr in gsm.h gsm/gsm.h; do check_lib ${gsm_hdr} gsm_create -lgsm break; done || die ERROR: libgsm not found; } enabled libilbcrequire libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc -enabled libkvazaar require2 libkvazaar kvazaar.h kvz_api_get -lkvazaar +enabled libkvazaar require_pkg_config kvazaar kvazaar.h kvz_api_get enabled libmfx require_pkg_config libmfx mfx/mfxvideo.h MFXInit enabled libmodplug require_pkg_config libmodplug libmodplug/modplug.h ModPlug_Load enabled libmp3lame require libmp3lame = 3.98.3 lame/lame.h lame_set_VBR_quality -lmp3lame ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '44b44441203177690305c294be6eff8d9c668954'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:01:35 2015 +0200| [9c22aedd265ef38dc240d107171eb846fdef744a] | committer: Hendrik Leppkes Merge commit '44b1203177690305c294be6eff8d9c668954' * commit '44b1203177690305c294be6eff8d9c668954': x86inc: Various minor backports from x264 Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9c22aedd265ef38dc240d107171eb846fdef744a --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '7bf9647264308d2df74b2b50669f2d02a7ecc90b'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:14:08 2015 +0200| [983fa5a1a922b5436befd26cc1b301a35c5765d8] | committer: Hendrik Leppkes Merge commit '7bf9647264308d2df74b2b50669f2d02a7ecc90b' * commit '7bf9647264308d2df74b2b50669f2d02a7ecc90b': vp7: bound checking in vp7_decode_frame_header Only partially merged, see 46f72ea507afee6adb0d2324848159063d0e7afc Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=983fa5a1a922b5436befd26cc1b301a35c5765d8 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] movenc: Add a new flag for writing global sidx indexes for dash
ffmpeg | branch: master | Martin Storsjö mar...@martin.st | Sun Aug 9 23:11:55 2015 +0300| [26ac22e5e7394346e9d59f800e7d4e91f4518d33] | committer: Martin Storsjö movenc: Add a new flag for writing global sidx indexes for dash The double meaning of the faststart flag (moving a moov atom to the start of files, making them streamable, for non-fragmented files, vs inserting a global sidx index at the start of files for fragmented files) is confusing - see 40ed1cbf1 for explanation of its origins. Since the second meaning of the flag hasn't been part of any libav release yet, just rename it to get rid of the confusion without any extra deprecation (which wouldn't get rid of the potential confusion, of users adding -movflags faststart even for fragmented files, where it isn't needed for making them streamable). This gets back the old behaviour, where -movflags faststart doesn't have any effect for fragmented files. Signed-off-by: Martin Storsjö mar...@martin.st http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=26ac22e5e7394346e9d59f800e7d4e91f4518d33 --- libavformat/movenc.c | 15 --- libavformat/movenc.h |1 + 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index bb2504f..ee2f089 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -62,6 +62,7 @@ static const AVOption options[] = { { dash, Write DASH compatible fragmented MP4, 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_DASH}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, movflags }, { frag_discont, Signal that the next fragment is discontinuous from earlier ones, 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_FRAG_DISCONT}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, movflags }, { delay_moov, Delay writing the initial moov until the first fragment is cut, or until the first fragment flush, 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_DELAY_MOOV}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, movflags }, +{ global_sidx, Write a global sidx index at the start of the file, 0, AV_OPT_TYPE_CONST, {.i64 = FF_MOV_FLAG_GLOBAL_SIDX}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, movflags }, FF_RTP_FLAG_OPTS(MOVMuxContext, rtp_flags), { skip_iods, Skip writing iods atom., offsetof(MOVMuxContext, iods_skip), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, { iods_audio_profile, iods audio profile atom., offsetof(MOVMuxContext, iods_audio_profile), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 255, AV_OPT_FLAG_ENCODING_PARAM}, @@ -2836,7 +2837,7 @@ static int mov_write_moof_tag(AVIOContext *pb, MOVMuxContext *mov, int tracks, mov_write_moof_tag_internal(avio_buf, mov, tracks, 0); moof_size = ffio_close_null_buf(avio_buf); -if (mov-flags FF_MOV_FLAG_DASH !(mov-flags FF_MOV_FLAG_FASTSTART)) +if (mov-flags FF_MOV_FLAG_DASH !(mov-flags FF_MOV_FLAG_GLOBAL_SIDX)) mov_write_sidx_tags(pb, mov, tracks, moof_size + 8 + mdat_size); if ((ret = mov_add_tfra_entries(pb, mov, tracks, moof_size + 8 + mdat_size)) 0) @@ -2976,7 +2977,7 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s) else if (mov-mode == MODE_MP4) ffio_wfourcc(pb, mp41); -if (mov-flags FF_MOV_FLAG_DASH mov-flags FF_MOV_FLAG_FASTSTART) +if (mov-flags FF_MOV_FLAG_DASH mov-flags FF_MOV_FLAG_GLOBAL_SIDX) ffio_wfourcc(pb, dash); return update_size(pb, pos); @@ -3228,7 +3229,7 @@ static int mov_flush_fragment(AVFormatContext *s) mov_write_moov_tag(s-pb, mov, s); if (mov-flags FF_MOV_FLAG_DELAY_MOOV) { -if (mov-flags FF_MOV_FLAG_FASTSTART) +if (mov-flags FF_MOV_FLAG_GLOBAL_SIDX) mov-reserved_header_pos = avio_tell(s-pb); avio_flush(s-pb); mov-moov_written = 1; @@ -3242,7 +3243,7 @@ static int mov_flush_fragment(AVFormatContext *s) avio_write(s-pb, buf, buf_size); av_free(buf); -if (mov-flags FF_MOV_FLAG_FASTSTART) +if (mov-flags FF_MOV_FLAG_GLOBAL_SIDX) mov-reserved_header_pos = avio_tell(s-pb); mov-moov_written = 1; @@ -3481,7 +3482,7 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) * in sidx/tfrf/tfxd tags; make sure the sidx pts and duration match up with * the next fragment. This means the cts of the first sample must * be the same in all fragments. */ -if ((mov-flags FF_MOV_FLAG_DASH !(mov-flags FF_MOV_FLAG_FASTSTART)) || +if ((mov-flags FF_MOV_FLAG_DASH !(mov-flags FF_MOV_FLAG_GLOBAL_SIDX)) || mov-mode == MODE_ISM) pkt-pts = pkt-dts + trk-end_pts - trk-cluster[trk-entry].dts; } else { @@ -4048,7 +4049,7 @@ static int mov_write_header(AVFormatContext *s) !(mov-flags FF_MOV_FLAG_DELAY_MOOV)) { mov_write_moov_tag(pb, mov, s); mov-moov_written = 1; -if
[FFmpeg-cvslog] x86inc: Various minor backports from x264
ffmpeg | branch: master | Henrik Gramner hen...@gramner.com | Tue Aug 11 20:56:24 2015 +0200| [44b1203177690305c294be6eff8d9c668954] | committer: Anton Khirnov x86inc: Various minor backports from x264 Signed-off-by: Anton Khirnov an...@khirnov.net http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=44b1203177690305c294be6eff8d9c668954 --- libavutil/x86/x86inc.asm | 32 +--- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index a519fd5..6ad9785 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -1,7 +1,7 @@ ;* ;* x86inc.asm: x264asm abstraction layer ;* -;* Copyright (C) 2005-2013 x264 project +;* Copyright (C) 2005-2015 x264 project ;* ;* Authors: Loren Merritt lor...@u.washington.edu ;* Anton Mitrofanov bugmas...@narod.ru @@ -67,6 +67,15 @@ %endif %endif +%define FORMAT_ELF 0 +%ifidn __OUTPUT_FORMAT__,elf +%define FORMAT_ELF 1 +%elifidn __OUTPUT_FORMAT__,elf32 +%define FORMAT_ELF 1 +%elifidn __OUTPUT_FORMAT__,elf64 +%define FORMAT_ELF 1 +%endif + %ifdef PREFIX %define mangle(x) _ %+ x %else @@ -688,7 +697,7 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, CAT_XDEFINE cglobaled_, %2, 1 %endif %xdefine current_function %2 -%ifidn __OUTPUT_FORMAT__,elf +%if FORMAT_ELF global %2:function %%VISIBILITY %else global %2 @@ -714,14 +723,16 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, ; like cextern, but without the prefix %macro cextern_naked 1 -%xdefine %1 mangle(%1) +%ifdef PREFIX +%xdefine %1 mangle(%1) +%endif CAT_XDEFINE cglobaled_, %1, 1 extern %1 %endmacro %macro const 1-2+ %xdefine %1 mangle(private_prefix %+ _ %+ %1) -%ifidn __OUTPUT_FORMAT__,elf +%if FORMAT_ELF global %1:data hidden %else global %1 @@ -729,10 +740,9 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, %1: %2 %endmacro -; This is needed for ELF, otherwise the GNU linker assumes the stack is -; executable by default. -%ifidn __OUTPUT_FORMAT__,elf -[section .note.GNU-stack noalloc noexec nowrite progbits] +; This is needed for ELF, otherwise the GNU linker assumes the stack is executable by default. +%if FORMAT_ELF +[SECTION .note.GNU-stack noalloc noexec nowrite progbits] %endif ; cpuflags @@ -751,8 +761,8 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, %assign cpuflags_avx (111)| cpuflags_sse42 %assign cpuflags_xop (112)| cpuflags_avx %assign cpuflags_fma4 (113)| cpuflags_avx -%assign cpuflags_avx2 (114)| cpuflags_avx -%assign cpuflags_fma3 (115)| cpuflags_avx +%assign cpuflags_fma3 (114)| cpuflags_avx +%assign cpuflags_avx2 (115)| cpuflags_fma3 %assign cpuflags_cache32 (116) %assign cpuflags_cache64 (117) @@ -801,7 +811,7 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, %endif %endif -%if cpuflag(sse2) +%if ARCH_X86_64 || cpuflag(sse2) CPUNOP amdnop %else CPUNOP basicnop ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: arm: Assume softfp ABI on darwin
ffmpeg | branch: master | Martin Storsjö mar...@martin.st | Fri Aug 14 09:47:21 2015 +0300| [cb2dbe2c762dae44d890aa26620bcdd9022fd0f3] | committer: Martin Storsjö configure: arm: Assume softfp ABI on darwin Don't try to detect the float ABI by checking at the toolchain name or by trying to assemble and link files with eabi_attributes. This fixes the float ABI detection when building using clang with -fembed-bitcode, where the current eabi_attributes check accidentally passes. This issue was pointed out by James Howe james.h...@hp.com. CC: libav-sta...@libav.org Signed-off-by: Martin Storsjö mar...@martin.st http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb2dbe2c762dae44d890aa26620bcdd9022fd0f3 --- configure |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 2c3e77a..1334480 100755 --- a/configure +++ b/configure @@ -4015,7 +4015,7 @@ elif enabled arm; then enable vfp_args elif check_cpp_condition stddef.h defined _M_ARM_FP _M_ARM_FP = 30; then enable vfp_args -elif ! check_cpp_condition stddef.h defined __ARM_PCS || defined __SOFTFP__; then +elif ! check_cpp_condition stddef.h defined __ARM_PCS || defined __SOFTFP__ [ $target_os != darwin ]; then case ${cross_prefix:-$cc} in *hardfloat*) enable vfp_args; fpabi=vfp ;; *) check_ld EOF enable vfp_args fpabi=vfp || fpabi=soft ;; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit 'cb2dbe2c762dae44d890aa26620bcdd9022fd0f3'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:02:01 2015 +0200| [fdca9350139bae44623b90a7db4d8116c3487372] | committer: Hendrik Leppkes Merge commit 'cb2dbe2c762dae44d890aa26620bcdd9022fd0f3' * commit 'cb2dbe2c762dae44d890aa26620bcdd9022fd0f3': configure: arm: Assume softfp ABI on darwin Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fdca9350139bae44623b90a7db4d8116c3487372 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libfdk-aacdec: Bump the max number of channels to 8
ffmpeg | branch: master | Martin Storsjö mar...@martin.st | Fri Aug 14 10:55:54 2015 +0300| [87de6ddb7b7674e329d5c96677bd8685bc7f7855] | committer: Martin Storsjö libfdk-aacdec: Bump the max number of channels to 8 In the latest version of fdk-aac, the decoder can output up to 8 channels; take this into account when preallocating buffers that need to fit the output from any packet. CC: libav-sta...@libav.org Signed-off-by: Martin Storsjö mar...@martin.st http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=87de6ddb7b7674e329d5c96677bd8685bc7f7855 --- libavcodec/libfdk-aacdec.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c index e893ee3..30dd59f 100644 --- a/libavcodec/libfdk-aacdec.c +++ b/libavcodec/libfdk-aacdec.c @@ -54,7 +54,7 @@ typedef struct FDKAACDecContext { #define DMX_ANC_BUFFSIZE 128 -#define DECODER_MAX_CHANNELS 6 +#define DECODER_MAX_CHANNELS 8 #define DECODER_BUFFSIZE 2048 * sizeof(INT_PCM) #define OFFSET(x) offsetof(FDKAACDecContext, x) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '26ac22e5e7394346e9d59f800e7d4e91f4518d33'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 08:50:22 2015 +0200| [1907e19d0ce2ad752912d73b798ebf4494aa1b1c] | committer: Hendrik Leppkes Merge commit '26ac22e5e7394346e9d59f800e7d4e91f4518d33' * commit '26ac22e5e7394346e9d59f800e7d4e91f4518d33': movenc: Add a new flag for writing global sidx indexes for dash Conflicts: libavformat/movenc.c libavformat/movenc.h Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1907e19d0ce2ad752912d73b798ebf4494aa1b1c --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '87de6ddb7b7674e329d5c96677bd8685bc7f7855'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:02:15 2015 +0200| [9dc30d08114068ccfe65e89c3c46deee3e6a2289] | committer: Hendrik Leppkes Merge commit '87de6ddb7b7674e329d5c96677bd8685bc7f7855' * commit '87de6ddb7b7674e329d5c96677bd8685bc7f7855': libfdk-aacdec: Bump the max number of channels to 8 Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9dc30d08114068ccfe65e89c3c46deee3e6a2289 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] hlsenc: Use AV_TIME_BASE units for all the computations
ffmpeg | branch: master | Luca Barbato lu_z...@gentoo.org | Fri Aug 14 22:01:45 2015 +0200| [72839fce6457fdb5d51b4a5381ac52914ee66389] | committer: Luca Barbato hlsenc: Use AV_TIME_BASE units for all the computations Do not risk mixing different timebases. CC: libav-sta...@libav.org Signed-off-by: Luca Barbato lu_z...@gentoo.org http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=72839fce6457fdb5d51b4a5381ac52914ee66389 --- libavformat/hlsenc.c | 28 +++- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 21c9526..c9116fa 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -33,7 +33,7 @@ typedef struct ListEntry { char name[1024]; -int duration; +int64_t duration; // segment duration in AV_TIME_BASE units struct ListEntry *next; } ListEntry; @@ -50,9 +50,10 @@ typedef struct HLSContext { int allowcache; int64_t recording_time; int has_video; +// The following timestamps are in AV_TIME_BASE units. int64_t start_pts; int64_t end_pts; -int64_t duration; // last segment duration computed so far, in seconds +int64_t duration; // last segment duration computed so far. int nb_entries; ListEntry *list; ListEntry *end_list; @@ -85,7 +86,7 @@ static int hls_mux_init(AVFormatContext *s) return 0; } -static int append_entry(HLSContext *hls, uint64_t duration) +static int append_entry(HLSContext *hls, int64_t duration) { ListEntry *en = av_malloc(sizeof(*en)); @@ -131,7 +132,7 @@ static int hls_window(AVFormatContext *s, int last) { HLSContext *hls = s-priv_data; ListEntry *en; -int target_duration = 0; +int64_t target_duration = 0; int ret = 0; AVIOContext *out = NULL; char temp_filename[1024]; @@ -152,14 +153,16 @@ static int hls_window(AVFormatContext *s, int last) if (hls-allowcache == 0 || hls-allowcache == 1) { avio_printf(out, #EXT-X-ALLOW-CACHE:%s\n, hls-allowcache == 0 ? NO : YES); } -avio_printf(out, #EXT-X-TARGETDURATION:%d\n, target_duration); +avio_printf(out, #EXT-X-TARGETDURATION:%PRId64\n, +av_rescale(target_duration, 1, AV_TIME_BASE)); avio_printf(out, #EXT-X-MEDIA-SEQUENCE:%PRId64\n, sequence); av_log(s, AV_LOG_VERBOSE, EXT-X-MEDIA-SEQUENCE:%PRId64\n, sequence); for (en = hls-list; en; en = en-next) { -avio_printf(out, #EXTINF:%d,\n, en-duration); +avio_printf(out, #EXTINF:%PRId64,\n, +av_rescale(en-duration, 1, AV_TIME_BASE)); if (hls-baseurl) avio_printf(out, %s, hls-baseurl); avio_printf(out, %s\n, en-name); @@ -265,11 +268,12 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) AVFormatContext *oc = hls-avf; AVStream *st = s-streams[pkt-stream_index]; int64_t end_pts = hls-recording_time * hls-number; +int64_t pts = av_rescale_q(pkt-pts, st-time_base, AV_TIME_BASE_Q); int ret, can_split = 1; if (hls-start_pts == AV_NOPTS_VALUE) { -hls-start_pts = pkt-pts; -hls-end_pts = pkt-pts; +hls-start_pts = pts; +hls-end_pts = pts; } if (hls-has_video) { @@ -279,16 +283,14 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) if (pkt-pts == AV_NOPTS_VALUE) can_split = 0; else -hls-duration = av_rescale(pkt-pts - hls-end_pts, - st-time_base.num, st-time_base.den); +hls-duration = pts - hls-end_pts; -if (can_split av_compare_ts(pkt-pts - hls-start_pts, st-time_base, - end_pts, AV_TIME_BASE_Q) = 0) { +if (can_split pts - hls-start_pts = end_pts) { ret = append_entry(hls, hls-duration); if (ret) return ret; -hls-end_pts = pkt-pts; +hls-end_pts = pts; hls-duration = 0; av_write_frame(oc, NULL); /* Flush any buffered data */ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '72839fce6457fdb5d51b4a5381ac52914ee66389'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:22:41 2015 +0200| [316825f3e9d5f27ed31650928daba3f18bf06600] | committer: Hendrik Leppkes Merge commit '72839fce6457fdb5d51b4a5381ac52914ee66389' * commit '72839fce6457fdb5d51b4a5381ac52914ee66389': hlsenc: Use AV_TIME_BASE units for all the computations Not merged, duration/time computation is handled quite differently in ffmpeg's hlsenc Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=316825f3e9d5f27ed31650928daba3f18bf06600 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libfdk-aacdec: Clean up properly if the init fails
ffmpeg | branch: master | Martin Storsjö mar...@martin.st | Fri Aug 14 11:33:03 2015 +0300| [f34b152eb7b7e8d2aee57c710a072cf74173fbe1] | committer: Martin Storsjö libfdk-aacdec: Clean up properly if the init fails Previously most of the error paths leaked. Also add FF_CODEC_CAP_INIT_THREADSAFE while adding caps_internal; this decoder wrapper doesn't have any static data that is initialized. Signed-off-by: Martin Storsjö mar...@martin.st http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f34b152eb7b7e8d2aee57c710a072cf74173fbe1 --- libavcodec/libfdk-aacdec.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c index 9f896ef..5ac8fb7 100644 --- a/libavcodec/libfdk-aacdec.c +++ b/libavcodec/libfdk-aacdec.c @@ -256,13 +256,11 @@ static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) s-anc_buffer = av_malloc(DMX_ANC_BUFFSIZE); if (!s-anc_buffer) { av_log(avctx, AV_LOG_ERROR, Unable to allocate ancillary buffer for the decoder\n); - ret = AVERROR(ENOMEM); - goto fail; + return AVERROR(ENOMEM); } if (aacDecoder_AncDataInit(s-handle, s-anc_buffer, DMX_ANC_BUFFSIZE)) { av_log(avctx, AV_LOG_ERROR, Unable to register downmix ancillary buffer in the decoder\n); - ret = AVERROR_UNKNOWN; - goto fail; + return AVERROR_UNKNOWN; } } } @@ -307,15 +305,10 @@ static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) s-decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS; s-decoder_buffer = av_malloc(s-decoder_buffer_size); -if (!s-decoder_buffer) { -ret = AVERROR(ENOMEM); -goto fail; -} +if (!s-decoder_buffer) +return AVERROR(ENOMEM); return 0; -fail: -fdk_aac_decode_close(avctx); -return ret; } static int fdk_aac_decode_frame(AVCodecContext *avctx, void *data, @@ -389,4 +382,6 @@ AVCodec ff_libfdk_aac_decoder = { .flush = fdk_aac_decode_flush, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_CHANNEL_CONF, .priv_class = fdk_aac_dec_class, +.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | + FF_CODEC_CAP_INIT_CLEANUP, }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libfdk-aacdec: Always decode into an intermediate buffer
ffmpeg | branch: master | Martin Storsjö mar...@martin.st | Fri Aug 14 11:05:30 2015 +0300| [1b90433f79de857550d4d8c35c89fbe954920594] | committer: Martin Storsjö libfdk-aacdec: Always decode into an intermediate buffer For ADTS streams, the output format (number of channels, frame size) can change at any point (with the latest version of fdk-aac, the decoder seems to change format after a handful of frames, not outputting the right format immediately, for cases that worked fine with the earlier version of the lib). Previously, the decoder decoded straight into the output frame once the number of channels and frame size was known. This obviously does not work if the number of channels or frame size changes. The alternative would be to allocate the AVFrame with the maximum number of channels and frame size, and change them afterward decoding into it, but that may cause confusion to users e.g. of the get_buffer callback. This solution should be more robust. CC: libav-sta...@libav.org Signed-off-by: Martin Storsjö mar...@martin.st http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1b90433f79de857550d4d8c35c89fbe954920594 --- libavcodec/libfdk-aacdec.c | 68 1 file changed, 18 insertions(+), 50 deletions(-) diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c index 30dd59f..9f896ef 100644 --- a/libavcodec/libfdk-aacdec.c +++ b/libavcodec/libfdk-aacdec.c @@ -41,8 +41,8 @@ enum ConcealMethod { typedef struct FDKAACDecContext { const AVClass *class; HANDLE_AACDECODER handle; -int initialized; uint8_t *decoder_buffer; +int decoder_buffer_size; uint8_t *anc_buffer; enum ConcealMethod conceal_method; int drc_level; @@ -305,6 +305,13 @@ static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) avctx-sample_fmt = AV_SAMPLE_FMT_S16; +s-decoder_buffer_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS; +s-decoder_buffer = av_malloc(s-decoder_buffer_size); +if (!s-decoder_buffer) { +ret = AVERROR(ENOMEM); +goto fail; +} + return 0; fail: fdk_aac_decode_close(avctx); @@ -319,8 +326,6 @@ static int fdk_aac_decode_frame(AVCodecContext *avctx, void *data, int ret; AAC_DECODER_ERROR err; UINT valid = avpkt-size; -uint8_t *buf, *tmpptr = NULL; -int buf_size; err = aacDecoder_Fill(s-handle, avpkt-data, avpkt-size, valid); if (err != AAC_DEC_OK) { @@ -328,33 +333,7 @@ static int fdk_aac_decode_frame(AVCodecContext *avctx, void *data, return AVERROR_INVALIDDATA; } -if (s-initialized) { -frame-nb_samples = avctx-frame_size; -if ((ret = ff_get_buffer(avctx, frame, 0)) 0) { -av_log(avctx, AV_LOG_ERROR, ff_get_buffer() failed\n); -return ret; -} - -if (s-anc_buffer) { -buf_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS; -buf = s-decoder_buffer; -} else { -buf = frame-extended_data[0]; -buf_size = avctx-channels * frame-nb_samples * - av_get_bytes_per_sample(avctx-sample_fmt); -} -} else { -buf_size = DECODER_BUFFSIZE * DECODER_MAX_CHANNELS; - -if (!s-decoder_buffer) -s-decoder_buffer = av_malloc(buf_size); -if (!s-decoder_buffer) -return AVERROR(ENOMEM); - -buf = tmpptr = s-decoder_buffer; -} - -err = aacDecoder_DecodeFrame(s-handle, (INT_PCM *) buf, buf_size, 0); +err = aacDecoder_DecodeFrame(s-handle, (INT_PCM *) s-decoder_buffer, s-decoder_buffer_size, 0); if (err == AAC_DEC_NOT_ENOUGH_BITS) { ret = avpkt-size - valid; goto end; @@ -366,28 +345,17 @@ static int fdk_aac_decode_frame(AVCodecContext *avctx, void *data, goto end; } -if (!s-initialized) { -if ((ret = get_stream_info(avctx)) 0) -goto end; -s-initialized = 1; -frame-nb_samples = avctx-frame_size; -} - -if (tmpptr) { -frame-nb_samples = avctx-frame_size; -if ((ret = ff_get_buffer(avctx, frame, 0)) 0) { -av_log(avctx, AV_LOG_ERROR, ff_get_buffer() failed\n); -goto end; -} -} -if (s-decoder_buffer) { -memcpy(frame-extended_data[0], buf, - avctx-channels * avctx-frame_size * - av_get_bytes_per_sample(avctx-sample_fmt)); +if ((ret = get_stream_info(avctx)) 0) +goto end; +frame-nb_samples = avctx-frame_size; -if (!s-anc_buffer) -av_freep(s-decoder_buffer); +if ((ret = ff_get_buffer(avctx, frame, 0)) 0) { +av_log(avctx, AV_LOG_ERROR, ff_get_buffer() failed\n); +goto end; } +memcpy(frame-extended_data[0], s-decoder_buffer, + avctx-channels * avctx-frame_size * + av_get_bytes_per_sample(avctx-sample_fmt)); *got_frame_ptr = 1; ret = avpkt-size - valid;
[FFmpeg-cvslog] Merge commit 'f34b152eb7b7e8d2aee57c710a072cf74173fbe1'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:09:55 2015 +0200| [e721cb8d8b5c64c4d9786928f6c629cb93611d74] | committer: Hendrik Leppkes Merge commit 'f34b152eb7b7e8d2aee57c710a072cf74173fbe1' * commit 'f34b152eb7b7e8d2aee57c710a072cf74173fbe1': libfdk-aacdec: Clean up properly if the init fails Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e721cb8d8b5c64c4d9786928f6c629cb93611d74 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '1b90433f79de857550d4d8c35c89fbe954920594'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:05:54 2015 +0200| [4cf4831ae7e2b6ccbea9c2d65605a3722aeac9c2] | committer: Hendrik Leppkes Merge commit '1b90433f79de857550d4d8c35c89fbe954920594' * commit '1b90433f79de857550d4d8c35c89fbe954920594': libfdk-aacdec: Always decode into an intermediate buffer Conflicts: libavcodec/libfdk-aacdec.c Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4cf4831ae7e2b6ccbea9c2d65605a3722aeac9c2 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] asfdec: prevent the memory leak in the asf_read_metada_obj
ffmpeg | branch: master | Alexandra Hájková alexandra.khirn...@gmail.com | Thu Aug 13 10:16:20 2015 +0200| [317cfaa5e09755ed0b34af512ec687963a67bdbf] | committer: Luca Barbato asfdec: prevent the memory leak in the asf_read_metada_obj also do not return the error code but just break reading metadata object in the case of the aspect ratio reading failure Signed-off-by: Luca Barbato lu_z...@gentoo.org http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=317cfaa5e09755ed0b34af512ec687963a67bdbf --- libavformat/asfdec.c |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c index 93e8c3c..4b04227 100644 --- a/libavformat/asfdec.c +++ b/libavformat/asfdec.c @@ -590,8 +590,10 @@ static int asf_read_metadata_obj(AVFormatContext *s, const GUIDParseTable *g) buflen); if (!strcmp(name, AspectRatioX) || !strcmp(name, AspectRatioY)) { ret = asf_store_aspect_ratio(s, st_num, name, type); -if (ret 0) -return ret; +if (ret 0) { +av_freep(name); +break; +} } else { if (st_num ASF_MAX_STREAMS) { if ((ret = process_metadata(s, name, name_len, val_len, type, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] fate: Make sure a corner-case for ASF is covered
ffmpeg | branch: master | Alexandra Hájková alexandra.khirn...@gmail.com | Fri Aug 14 11:42:26 2015 +0200| [58c3720a3cc71142b5d48d8ccdc9213f9a66cd33] | committer: Luca Barbato fate: Make sure a corner-case for ASF is covered Test the demuxer for the case when the replicated data length in a sample is 0. Sample-ID: https://samples.libav.org/mplayer-bugs/bug821/bug821-2.asf Signed-off-by: Luca Barbato lu_z...@gentoo.org http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=58c3720a3cc71142b5d48d8ccdc9213f9a66cd33 --- tests/fate/microsoft.mak|5 + tests/ref/fate/asf-repldata | 15 +++ 2 files changed, 20 insertions(+) diff --git a/tests/fate/microsoft.mak b/tests/fate/microsoft.mak index 10bbb30..6f83d2e 100644 --- a/tests/fate/microsoft.mak +++ b/tests/fate/microsoft.mak @@ -61,3 +61,8 @@ fate-vc1-ism: CMD = framecrc -i $(TARGET_SAMPLES)/isom/vc1-wmapro.ism -an FATE_SAMPLES_AVCONV-$(CONFIG_VC1_DECODER) += $(FATE_VC1-yes) fate-vc1: $(FATE_VC1-yes) + +FATE_ASF_REPLDATA += fate-asf-repldata +fate-asf-repldata: CMD = framecrc -i $(TARGET_SAMPLES)/asf/bug821-2.asf + +FATE_SAMPLES_AVCONV-$(call DEMDEC, ASF, MPEG4) += $(FATE_ASF_REPLDATA) diff --git a/tests/ref/fate/asf-repldata b/tests/ref/fate/asf-repldata new file mode 100644 index 000..6a1dbae --- /dev/null +++ b/tests/ref/fate/asf-repldata @@ -0,0 +1,15 @@ +#tb 0: 1/1000 +0, 0, 0,0, 460800, 0x85b053af +0,122,122,0, 460800, 0xfbdbb291 +0,245,245,0, 460800, 0x1389b3d9 +0,367,367,0, 460800, 0xc81e8326 +0,490,490,0, 460800, 0xb0028333 +0,612,612,0, 460800, 0x002b8619 +0,735,735,0, 460800, 0xeb808d70 +0,857,857,0, 460800, 0xe8288d27 +0,980,980,0, 460800, 0xcfbe8bcc +0, 1102, 1102,0, 460800, 0x682b8d38 +0, 1224, 1224,0, 460800, 0x5879cd04 +0, 1347, 1347,0, 460800, 0x88a6a3e6 +0, 1469, 1469,0, 460800, 0xc491db72 +0, 1592, 1592,0, 460800, 0xb779d5cc ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '317cfaa5e09755ed0b34af512ec687963a67bdbf'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:35:56 2015 +0200| [649b2e4c8308c478d6c9fb892191121f12e3c0d3] | committer: Hendrik Leppkes Merge commit '317cfaa5e09755ed0b34af512ec687963a67bdbf' * commit '317cfaa5e09755ed0b34af512ec687963a67bdbf': asfdec: prevent the memory leak in the asf_read_metada_obj Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=649b2e4c8308c478d6c9fb892191121f12e3c0d3 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Merge commit '58c3720a3cc71142b5d48d8ccdc9213f9a66cd33'
ffmpeg | branch: master | Hendrik Leppkes h.lepp...@gmail.com | Tue Aug 18 09:34:53 2015 +0200| [4b6b03ba23ddf5478235fb7bae2d1fe3e952] | committer: Hendrik Leppkes Merge commit '58c3720a3cc71142b5d48d8ccdc9213f9a66cd33' * commit '58c3720a3cc71142b5d48d8ccdc9213f9a66cd33': fate: Make sure a corner-case for ASF is covered Adjusted fate ref to match the different timebase of the ffasf demuxer Merged-by: Hendrik Leppkes h.lepp...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4b6b03ba23ddf5478235fb7bae2d1fe3e952 --- ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] vp7: bound checking in vp7_decode_frame_header
ffmpeg | branch: master | Federico Tomassetti feder...@tomassetti.me | Thu Aug 13 15:35:53 2015 +0200| [7bf9647264308d2df74b2b50669f2d02a7ecc90b] | committer: Luca Barbato vp7: bound checking in vp7_decode_frame_header CC: libav-sta...@libav.org http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7bf9647264308d2df74b2b50669f2d02a7ecc90b --- libavcodec/vp8.c |8 1 file changed, 8 insertions(+) diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index f11076a..55ebae6 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -480,6 +480,10 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si int width = s-avctx-width; int height = s-avctx-height; +if (buf_size 4) { +return AVERROR_INVALIDDATA; +} + s-profile = (buf[0] 1) 7; if (s-profile 1) { avpriv_request_sample(s-avctx, Unknown profile %d, s-profile); @@ -493,6 +497,10 @@ static int vp7_decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_si buf += 4 - s-profile; buf_size -= 4 - s-profile; +if (buf_size part1_size) { +return AVERROR_INVALIDDATA; +} + memcpy(s-put_pixels_tab, s-vp8dsp.put_vp8_epel_pixels_tab, sizeof(s-put_pixels_tab)); ff_vp56_init_range_decoder(c, buf, part1_size); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: force -mconsole when linking SDL under MinGW
ffmpeg | branch: master | Stephen Hutchinson qyo...@gmail.com | Tue Aug 18 12:00:06 2015 -0400| [c5308eea29216c218b61599dc83911d2c1afe716] | committer: Michael Niedermayer configure: force -mconsole when linking SDL under MinGW When building SDL with MinGW, it sets -mwindows with the assumption that the application is a GUI application. If this is linked without passing -mconsole to configure via --extra-ldflags, stdout will be silenced from cmd.exe while running FFmpeg. The -mwindows flag that causes this behavior is included in the sdl_libs variable, so append -mconsole there rather than create an sdl_ldflags case just to insert it (especially if -mconsole must come *after* -mwindows in order to be effective). Reviewed-by: Timothy Gu timothyg...@gmail.com Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c5308eea29216c218b61599dc83911d2c1afe716 --- configure |3 +++ 1 file changed, 3 insertions(+) diff --git a/configure b/configure index 49d4ff3..bc2160d 100755 --- a/configure +++ b/configure @@ -5376,6 +5376,9 @@ if ! disabled sdl; then disable sdl fi fi +if test $target_os = mingw32; then +sdl_libs=$sdl_libs -mconsole +fi fi enabled sdl add_cflags $sdl_cflags add_extralibs $sdl_libs ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Undeprecate av_opt_set_defaults2().
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Sun Aug 16 19:40:48 2015 -0400| [3285005347b2980fc078d4b5777844070bb6113b] | committer: Ronald S. Bultje Undeprecate av_opt_set_defaults2(). http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3285005347b2980fc078d4b5777844070bb6113b --- libavutil/opt.c |5 + libavutil/opt.h | 12 +--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index 62db1b5..580586e 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -1177,20 +1177,17 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags) void av_opt_set_defaults(void *s) { -#if FF_API_OLD_AVOPTIONS av_opt_set_defaults2(s, 0, 0); } void av_opt_set_defaults2(void *s, int mask, int flags) { -#endif const AVOption *opt = NULL; while ((opt = av_opt_next(s, opt))) { void *dst = ((uint8_t*)s) + opt-offset; -#if FF_API_OLD_AVOPTIONS + if ((opt-flags mask) != flags) continue; -#endif if (opt-flags AV_OPT_FLAG_READONLY) continue; diff --git a/libavutil/opt.h b/libavutil/opt.h index 481d096..4f2b46e 100644 --- a/libavutil/opt.h +++ b/libavutil/opt.h @@ -441,10 +441,16 @@ int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags); */ void av_opt_set_defaults(void *s); -#if FF_API_OLD_AVOPTIONS -attribute_deprecated +/** + * Set the values of all AVOption fields to their default values. Only these + * AVOption fields for which (opt-flags mask) == flags will have their + * default applied to s. + * + * @param s an AVOption-enabled struct (its first member must be a pointer to AVClass) + * @param mask combination of AV_OPT_FLAG_* + * @param flags combination of AV_OPT_FLAG_* + */ void av_opt_set_defaults2(void *s, int mask, int flags); -#endif /** * Parse the key/value pairs list in opts. For each key/value pair ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] mpeg4video: use ff_dlog instead of av_log under debugFF_DEBUG_PTS.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Mon Aug 17 20:44:53 2015 -0400| [9468207e1cbacdf5e67fbab51e141796065eb146] | committer: Ronald S. Bultje mpeg4video: use ff_dlog instead of av_log under debugFF_DEBUG_PTS. This fixes compilation with FF_API_UNUSED_MEMBERS=0. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9468207e1cbacdf5e67fbab51e141796065eb146 --- libavcodec/mpeg4videodec.c |5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 55ce5d8..3cb0c38 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -22,6 +22,7 @@ #define UNCHECKED_BITSTREAM_READER 1 +#include libavutil/internal.h #include libavutil/opt.h #include error_resilience.h #include idctdsp.h @@ -2320,9 +2321,7 @@ static int decode_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb) pts = ROUNDED_DIV(s-time, s-avctx-framerate.den); else pts = AV_NOPTS_VALUE; -if (s-avctx-debugFF_DEBUG_PTS) -av_log(s-avctx, AV_LOG_DEBUG, MPEG4 PTS: %PRId64\n, - pts); +ff_dlog(s-avctx, MPEG4 PTS: %PRId64\n, pts); check_marker(gb, before vop_coded); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libx264: Add option to force IDR frames
ffmpeg | branch: master | Derek Buitenhuis derek.buitenh...@gmail.com | Tue Aug 18 17:39:01 2015 -0300| [c981b1145a857c8f962c93b8eecb1c613b20ffe9] | committer: James Almer libx264: Add option to force IDR frames Currently, when forcing an I frame, via API, or via the ffmpeg cli, using -force_key_frames, we still let x264 decide what sort of keyframe to user. In some cases, it is useful to be able to force an IDR frame, e.g. for cutting streams. Signed-off-by: Derek Buitenhuis derek.buitenh...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c981b1145a857c8f962c93b8eecb1c613b20ffe9 --- libavcodec/libx264.c |5 - libavcodec/version.h |2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index c017685..a54743e 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -82,6 +82,7 @@ typedef struct X264Context { int nal_hrd; int avcintra_class; int motion_est; +int forced_idr; char *x264_params; } X264Context; @@ -270,7 +271,8 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame, x4-pic.i_pts = frame-pts; x4-pic.i_type = -frame-pict_type == AV_PICTURE_TYPE_I ? X264_TYPE_KEYFRAME : +frame-pict_type == AV_PICTURE_TYPE_I ? +(x4-forced_idr = 0 ? X264_TYPE_IDR : X264_TYPE_KEYFRAME) : frame-pict_type == AV_PICTURE_TYPE_P ? X264_TYPE_P : frame-pict_type == AV_PICTURE_TYPE_B ? X264_TYPE_B : X264_TYPE_AUTO; @@ -875,6 +877,7 @@ static const AVOption options[] = { { umh, NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_UMH }, INT_MIN, INT_MAX, VE, motion-est }, { esa, NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_ESA }, INT_MIN, INT_MAX, VE, motion-est }, { tesa, NULL, 0, AV_OPT_TYPE_CONST, { .i64 = X264_ME_TESA }, INT_MIN, INT_MAX, VE, motion-est }, +{ forced-idr, If forcing keyframes, force them as IDR frames., OFFSET(forced_idr), AV_OPT_TYPE_INT,{ .i64 = -1 }, -1, 1, VE }, { x264-params, Override the x264 configuration using a :-separated list of key=value parameters, OFFSET(x264_params), AV_OPT_TYPE_STRING, { 0 }, 0, 0, VE }, { NULL }, }; diff --git a/libavcodec/version.h b/libavcodec/version.h index 1b37a9e..2e7cf40 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -30,7 +30,7 @@ #define LIBAVCODEC_VERSION_MAJOR 56 #define LIBAVCODEC_VERSION_MINOR 57 -#define LIBAVCODEC_VERSION_MICRO 100 +#define LIBAVCODEC_VERSION_MICRO 101 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Prepare for removal of obsolete FF_IDCT_* members.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Sun Aug 16 19:37:46 2015 -0400| [7a629186ba0481f4aef1d9590d0e55b3bc5f4ed0] | committer: Ronald S. Bultje Prepare for removal of obsolete FF_IDCT_* members. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7a629186ba0481f4aef1d9590d0e55b3bc5f4ed0 --- libavcodec/avcodec.h |2 -- libavcodec/avdct.c |2 ++ libavcodec/options_table.h |2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index f09d8f4..41f373b 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2947,9 +2947,7 @@ typedef struct AVCodecContext { int dct_algo; #define FF_DCT_AUTO0 #define FF_DCT_FASTINT 1 -#if FF_API_UNUSED_MEMBERS #define FF_DCT_INT 2 -#endif /* FF_API_UNUSED_MEMBERS */ #define FF_DCT_MMX 3 #define FF_DCT_ALTIVEC 5 #define FF_DCT_FAAN6 diff --git a/libavcodec/avdct.c b/libavcodec/avdct.c index f92c691..3b622ba 100644 --- a/libavcodec/avdct.c +++ b/libavcodec/avdct.c @@ -58,7 +58,9 @@ static const AVOption avdct_options[] = { #if FF_API_ARCH_ALPHA {simplealpha, experimental / for debugging, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEALPHA }, INT_MIN, INT_MAX, V|E|D, idct}, #endif +#if FF_API_UNUSED_MEMBERS {ipp, experimental / for debugging, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_IPP }, INT_MIN, INT_MAX, V|E|D, idct}, +#endif {xvid, experimental / for debugging, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, idct}, {xvidmmx, experimental / for debugging, 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, idct}, {faani, floating point AAN IDCT (experimental / for debugging), 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_FAAN }, INT_MIN, INT_MAX, V|D|E, idct}, diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h index 0fc343a..93d4f77 100644 --- a/libavcodec/options_table.h +++ b/libavcodec/options_table.h @@ -201,9 +201,7 @@ static const AVOption avcodec_options[] = { {dct, DCT algorithm, OFFSET(dct_algo), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, V|E, dct}, {auto, autoselect a good one (default), 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_AUTO }, INT_MIN, INT_MAX, V|E, dct}, {fastint, fast integer, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_FASTINT }, INT_MIN, INT_MAX, V|E, dct}, -#if FF_API_UNUSED_MEMBERS {int, accurate integer, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_INT }, INT_MIN, INT_MAX, V|E, dct}, -#endif /* FF_API_UNUSED_MEMBERS */ {mmx, NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_MMX }, INT_MIN, INT_MAX, V|E, dct}, {altivec, NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_ALTIVEC }, INT_MIN, INT_MAX, V|E, dct}, {faan, floating point AAN DCT, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_FAAN }, INT_MIN, INT_MAX, V|E, dct}, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavfi: fix compilation with FF_API_OLD_FILTER_OPTS=0.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Sun Aug 16 22:26:16 2015 -0400| [6495c4c68713f352b164f47501d274d8da2edaf5] | committer: Ronald S. Bultje lavfi: fix compilation with FF_API_OLD_FILTER_OPTS=0. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6495c4c68713f352b164f47501d274d8da2edaf5 --- ffmpeg_filter.c |2 +- libavfilter/avfilter.c |3 ++- libavfilter/vf_aspect.c |2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index 6a59f05..10b2f5f 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -544,7 +544,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter, av_get_default_channel_layout(ost-audio_channels_mapped)); for (i = 0; i ost-audio_channels_mapped; i++) if (ost-audio_channels_map[i] != -1) -av_bprintf(pan_buf, :c%d=c%d, i, ost-audio_channels_map[i]); +av_bprintf(pan_buf, |c%d=c%d, i, ost-audio_channels_map[i]); AUTO_INSERT_FILTER(-map_channel, pan, pan_buf.str); av_bprint_finalize(pan_buf, NULL); diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 6475f29..4d833f0 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -976,8 +976,9 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) if (ret 0) goto fail; +} else #endif -} else { +{ ret = process_options(filter, options, args); if (ret 0) goto fail; diff --git a/libavfilter/vf_aspect.c b/libavfilter/vf_aspect.c index 84dbee9..bf30824 100644 --- a/libavfilter/vf_aspect.c +++ b/libavfilter/vf_aspect.c @@ -69,10 +69,10 @@ typedef struct AspectContext { static av_cold int init(AVFilterContext *ctx) { +#if FF_API_OLD_FILTER_OPTS AspectContext *s = ctx-priv; int ret; -#if FF_API_OLD_FILTER_OPTS if (s-ratio_expr s-aspect_den 0) { double num; av_log(ctx, AV_LOG_WARNING, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swscale: Fixed typos
ffmpeg | branch: master | Pedro Arthur bygran...@gmail.com | Tue Aug 18 15:06:49 2015 -0300| [4545906f60380e69c388792050ac40b484b3042f] | committer: Michael Niedermayer swscale: Fixed typos Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4545906f60380e69c388792050ac40b484b3042f --- libswscale/swscale_internal.h |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h index bf6be18..4e1cfc1 100644 --- a/libswscale/swscale_internal.h +++ b/libswscale/swscale_internal.h @@ -1015,7 +1015,7 @@ int ff_free_filters(SwsContext *c); function for applying ring buffer logic into slice s It checks if the slice can hold more @lum lines, if yes do nothing otherwise remove @lum least used lines. - It applyes the same procedure for @chr lines. + It applies the same procedure for @chr lines. */ int ff_rotate_slice(SwsSlice *s, int lum, int chr); @@ -1025,7 +1025,7 @@ int ff_init_desc_fmt_convert(SwsFilterDescriptor *desc, SwsSlice * src, SwsSlice /// initializes lum horizontal scaling descriptor int ff_init_desc_hscale(SwsFilterDescriptor *desc, SwsSlice *src, SwsSlice *dst, uint16_t *filter, int * filter_pos, int filter_size, int xInc); -/// initializes chr prixel format conversion descriptor +/// initializes chr pixel format conversion descriptor int ff_init_desc_cfmt_convert(SwsFilterDescriptor *desc, SwsSlice * src, SwsSlice *dst, uint32_t *pal); /// initializes chr horizontal scaling descriptor ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swscale: add license headers and copyrights
ffmpeg | branch: master | Pedro Arthur bygran...@gmail.com | Tue Aug 18 15:06:49 2015 -0300| [0f3687d6fb87d186d4d9468c2e256af6de4d2c78] | committer: Michael Niedermayer swscale: add license headers and copyrights Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0f3687d6fb87d186d4d9468c2e256af6de4d2c78 --- libswscale/hscale.c | 20 libswscale/slice.c | 20 2 files changed, 40 insertions(+) diff --git a/libswscale/hscale.c b/libswscale/hscale.c index c8543a2..ca09576 100644 --- a/libswscale/hscale.c +++ b/libswscale/hscale.c @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2015 Pedro Arthur bygran...@gmail.com + * + * 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 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #include swscale_internal.h static int lum_h_scale(SwsContext *c, SwsFilterDescriptor *desc, int sliceY, int sliceH) diff --git a/libswscale/slice.c b/libswscale/slice.c index 242367d..611e4e6 100644 --- a/libswscale/slice.c +++ b/libswscale/slice.c @@ -1,3 +1,23 @@ +/* + * Copyright (C) 2015 Pedro Arthur bygran...@gmail.com + * + * 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 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #include swscale_internal.h static void free_lines(SwsSlice *s) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] swscale: fixed compiler warnings
ffmpeg | branch: master | Pedro Arthur bygran...@gmail.com | Tue Aug 18 15:06:49 2015 -0300| [ed80dec621f621794e9d7ec7c1769bbf9a58a500] | committer: Michael Niedermayer swscale: fixed compiler warnings Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ed80dec621f621794e9d7ec7c1769bbf9a58a500 --- libswscale/swscale.c | 24 libswscale/swscale_internal.h |2 ++ libswscale/x86/swscale.c | 15 +++ 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/libswscale/swscale.c b/libswscale/swscale.c index e5bab9c..03019d4 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -321,35 +321,45 @@ static int swscale(SwsContext *c, const uint8_t *src[], { /* load a few things into local vars to make the code more readable? * and faster */ +#ifndef NEW_FILTER const int srcW = c-srcW; +#endif const int dstW = c-dstW; const int dstH = c-dstH; const int chrDstW= c-chrDstW; +#ifndef NEW_FILTER const int chrSrcW= c-chrSrcW; const int lumXInc= c-lumXInc; const int chrXInc= c-chrXInc; +#endif const enum AVPixelFormat dstFormat = c-dstFormat; const int flags = c-flags; int32_t *vLumFilterPos = c-vLumFilterPos; int32_t *vChrFilterPos = c-vChrFilterPos; +#ifndef NEW_FILTER int32_t *hLumFilterPos = c-hLumFilterPos; int32_t *hChrFilterPos = c-hChrFilterPos; int16_t *hLumFilter = c-hLumFilter; int16_t *hChrFilter = c-hChrFilter; +#endif int32_t *lumMmxFilter= c-lumMmxFilter; int32_t *chrMmxFilter= c-chrMmxFilter; const int vLumFilterSize = c-vLumFilterSize; const int vChrFilterSize = c-vChrFilterSize; +#ifndef NEW_FILTER const int hLumFilterSize = c-hLumFilterSize; const int hChrFilterSize = c-hChrFilterSize; int16_t **lumPixBuf = c-lumPixBuf; int16_t **chrUPixBuf = c-chrUPixBuf; int16_t **chrVPixBuf = c-chrVPixBuf; +#endif int16_t **alpPixBuf = c-alpPixBuf; const int vLumBufSize= c-vLumBufSize; const int vChrBufSize= c-vChrBufSize; +#ifndef NEW_FILTER uint8_t *formatConvBuffer= c-formatConvBuffer; uint32_t *pal= c-pal_yuv; +#endif yuv2planar1_fn yuv2plane1= c-yuv2plane1; yuv2planarX_fn yuv2planeX= c-yuv2planeX; yuv2interleavedX_fn yuv2nv12cX = c-yuv2nv12cX; @@ -369,9 +379,8 @@ static int swscale(SwsContext *c, const uint8_t *src[], int chrBufIndex = c-chrBufIndex; int lastInLumBuf = c-lastInLumBuf; int lastInChrBuf = c-lastInChrBuf; -int perform_gamma = c-is_internal_gamma; +//int perform_gamma = c-is_internal_gamma; -int numDesc = c-numDesc; int lumStart = 0; int lumEnd = c-descIndex[0]; int chrStart = lumEnd; @@ -382,10 +391,11 @@ static int swscale(SwsContext *c, const uint8_t *src[], int hasLumHoles = 1; int hasChrHoles = 1; - +#ifndef NEW_FILTER if (!usePal(c-srcFormat)) { pal = c-input_rgb2yuv_table; } +#endif if (isPacked(c-srcFormat)) { src[0] = @@ -450,8 +460,6 @@ static int swscale(SwsContext *c, const uint8_t *src[], } lastDstY = dstY; -#define NEW_FILTER 1 - ff_init_slice_from_src(src_slice, (uint8_t**)src, srcStride, c-srcW, srcSliceY, srcSliceH, chrSrcSliceY, chrSrcSliceH); @@ -532,7 +540,7 @@ static int swscale(SwsContext *c, const uint8_t *src[], lastLumSrcY, lastChrSrcY); } -#if NEW_FILTER +#ifdef NEW_FILTER posY = dst_slice-plane[0].sliceY + dst_slice-plane[0].sliceH; if (posY = lastLumSrcY !hasLumHoles) { firstPosY = FFMAX(firstLumSrcY, posY); @@ -645,7 +653,7 @@ static int swscale(SwsContext *c, const uint8_t *src[], } { -#if NEW_FILTER +#ifdef NEW_FILTER const int16_t **lumSrcPtr = (const int16_t **)(void*) dst_slice-plane[0].line + firstLumSrcY - dst_slice-plane[0].sliceY; const int16_t **chrUSrcPtr = (const int16_t **)(void*) dst_slice-plane[1].line + firstChrSrcY - dst_slice-plane[1].sliceY; const int16_t **chrVSrcPtr = (const int16_t **)(void*) dst_slice-plane[2].line + firstChrSrcY - dst_slice-plane[2].sliceY; @@ -722,7 +730,7 @@ static int swscale(SwsContext *c, const uint8_t *src[], } } } else if (yuv2packedX) { -#if !NEW_FILTER +#ifndef NEW_FILTER av_assert1(lumSrcPtr + vLumFilterSize - 1 (const int16_t **)lumPixBuf + vLumBufSize * 2); av_assert1(chrUSrcPtr +
[FFmpeg-cvslog] fate: Force simple idct for fate-asf-repldata
ffmpeg | branch: master | Michael Niedermayer mich...@niedermayer.cc | Wed Aug 19 03:07:12 2015 +0200| [c1507db61760483e45ca9d512238181f333a2281] | committer: Michael Niedermayer fate: Force simple idct for fate-asf-repldata otherwise it can fail when a different idct is used on some platform Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c1507db61760483e45ca9d512238181f333a2281 --- tests/fate/microsoft.mak|2 +- tests/ref/fate/asf-repldata | 28 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/fate/microsoft.mak b/tests/fate/microsoft.mak index ead1b34..1c793df 100644 --- a/tests/fate/microsoft.mak +++ b/tests/fate/microsoft.mak @@ -67,7 +67,7 @@ FATE_MICROSOFT-$(CONFIG_VC1_DECODER) += $(FATE_VC1-yes) fate-vc1: $(FATE_VC1-yes) FATE_ASF_REPLDATA += fate-asf-repldata -fate-asf-repldata: CMD = framecrc -i $(TARGET_SAMPLES)/asf/bug821-2.asf +fate-asf-repldata: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/asf/bug821-2.asf FATE_MICROSOFT-$(call DEMDEC, ASF, MPEG4) += $(FATE_ASF_REPLDATA) diff --git a/tests/ref/fate/asf-repldata b/tests/ref/fate/asf-repldata index efd5457..e46b565 100644 --- a/tests/ref/fate/asf-repldata +++ b/tests/ref/fate/asf-repldata @@ -1,15 +1,15 @@ #tb 0: 6/49 -0, 0, 0,1, 460800, 0x85b053af -0, 1, 1,1, 460800, 0xfbdbb291 -0, 2, 2,1, 460800, 0x1389b3d9 -0, 3, 3,1, 460800, 0xc81e8326 -0, 4, 4,1, 460800, 0xb0028333 -0, 5, 5,1, 460800, 0x002b8619 -0, 6, 6,1, 460800, 0xeb808d70 -0, 7, 7,1, 460800, 0xe8288d27 -0, 8, 8,1, 460800, 0xcfbe8bcc -0, 9, 9,1, 460800, 0x682b8d38 -0, 10, 10,1, 460800, 0x5879cd04 -0, 11, 11,1, 460800, 0x88a6a3e6 -0, 12, 12,1, 460800, 0xc491db72 -0, 13, 13,1, 460800, 0xb779d5cc \ No newline at end of file +0, 0, 0,1, 460800, 0x1f8b53b0 +0, 1, 1,1, 460800, 0x95b6b292 +0, 2, 2,1, 460800, 0xad55b3da +0, 3, 3,1, 460800, 0x61f98327 +0, 4, 4,1, 460800, 0x49dd8334 +0, 5, 5,1, 460800, 0x99f7861a +0, 6, 6,1, 460800, 0x855b8d71 +0, 7, 7,1, 460800, 0x82038d28 +0, 8, 8,1, 460800, 0x69998bcd +0, 9, 9,1, 460800, 0x02068d39 +0, 10, 10,1, 460800, 0xf245cd05 +0, 11, 11,1, 460800, 0x2281a3e7 +0, 12, 12,1, 460800, 0x5f01db74 +0, 13, 13,1, 460800, 0x51e9d5ce ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Replace av_dlog with ff_dlog.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Mon Aug 17 20:45:35 2015 -0400| [229843aa359ae0c9519977d7fa952688db63f559] | committer: Ronald S. Bultje Replace av_dlog with ff_dlog. ff_dlog checks compilability, and is non-public. av_dlog is deprecated and no longer exists if FF_API_DLOG=0. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=229843aa359ae0c9519977d7fa952688db63f559 --- ffmpeg.c |2 +- libavcodec/ccaption_dec.c| 13 +++-- libavcodec/libzvbi-teletextdec.c |7 --- libavcodec/proresdec2.c |9 + libavdevice/lavfi.c |7 --- libavdevice/v4l.c|3 ++- libavfilter/src_movie.c |3 ++- libavfilter/vf_histeq.c |5 +++-- libavfilter/vf_palettegen.c |5 +++-- libavfilter/vf_paletteuse.c |3 ++- libavfilter/vsrc_cellauto.c |3 ++- libavfilter/vsrc_life.c |3 ++- libavformat/avienc.c |5 +++-- libavformat/ffmdec.c |9 + libavformat/ftp.c| 23 --- libavformat/mov.c|3 ++- libavformat/mpegts.c |3 ++- libavformat/segment.c|3 ++- libavformat/swfdec.c |3 ++- 19 files changed, 65 insertions(+), 47 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 07ce4af..c8f8678 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1151,7 +1151,7 @@ static void do_video_out(AVFormatContext *s, ost-forced_keyframes_expr_const_values[FKF_T] = pts_time; res = av_expr_eval(ost-forced_keyframes_pexpr, ost-forced_keyframes_expr_const_values, NULL); -av_dlog(NULL, force_key_frame: n:%f n_forced:%f prev_forced_n:%f t:%f prev_forced_t:%f - res:%f\n, +ff_dlog(NULL, force_key_frame: n:%f n_forced:%f prev_forced_n:%f t:%f prev_forced_t:%f - res:%f\n, ost-forced_keyframes_expr_const_values[FKF_N], ost-forced_keyframes_expr_const_values[FKF_N_FORCED], ost-forced_keyframes_expr_const_values[FKF_PREV_FORCED_N], diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c index 264d21c..9f67caa 100644 --- a/libavcodec/ccaption_dec.c +++ b/libavcodec/ccaption_dec.c @@ -21,6 +21,7 @@ #include avcodec.h #include ass.h +#include libavutil/internal.h #include libavutil/opt.h #define SCREEN_ROWS 15 @@ -451,9 +452,9 @@ static void handle_char(CCaptionSubContext *ctx, char hi, char lo, int64_t pts) ctx-prev_cmd[0] = 0; ctx-prev_cmd[1] = 0; if (lo) - av_dlog(ctx, (%c,%c)\n,hi,lo); + ff_dlog(ctx, (%c,%c)\n,hi,lo); else - av_dlog(ctx, (%c)\n,hi); + ff_dlog(ctx, (%c)\n,hi); } static int process_cc608(CCaptionSubContext *ctx, int64_t pts, uint8_t hi, uint8_t lo) @@ -493,21 +494,21 @@ static int process_cc608(CCaptionSubContext *ctx, int64_t pts, uint8_t hi, uint8 ret = handle_edm(ctx, pts); } else if ( COR3(hi, 0x14, 0x15, 0x1C) lo == 0x2D ) { /* carriage return */ -av_dlog(ctx, carriage return\n); +ff_dlog(ctx, carriage return\n); reap_screen(ctx, pts); roll_up(ctx); ctx-screen_changed = 1; ctx-cursor_column = 0; } else if ( COR3(hi, 0x14, 0x15, 0x1C) lo == 0x2F ) { /* end of caption */ -av_dlog(ctx, handle_eoc\n); +ff_dlog(ctx, handle_eoc\n); ret = handle_eoc(ctx, pts); } else if (hi=0x20) { /* Standard characters (always in pairs) */ handle_char(ctx, hi, lo, pts); } else { /* Ignoring all other non data code */ -av_dlog(ctx, Unknown command 0x%hhx 0x%hhx\n, hi, lo); +ff_dlog(ctx, Unknown command 0x%hhx 0x%hhx\n, hi, lo); } /* set prev command */ @@ -553,7 +554,7 @@ static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avp { int start_time = av_rescale_q(ctx-start_time, avctx-time_base, (AVRational){ 1, 100 }); int end_time = av_rescale_q(ctx-end_time, avctx-time_base, (AVRational){ 1, 100 }); -av_dlog(ctx, cdp writing data (%s)\n,ctx-buffer.str); +ff_dlog(ctx, cdp writing data (%s)\n,ctx-buffer.str); ret = ff_ass_add_rect_bprint(sub, ctx-buffer, start_time, end_time - start_time); if (ret 0) return ret; diff --git a/libavcodec/libzvbi-teletextdec.c b/libavcodec/libzvbi-teletextdec.c index 32d983c..3733d88 100644 --- a/libavcodec/libzvbi-teletextdec.c +++ b/libavcodec/libzvbi-teletextdec.c @@ -22,6 +22,7 @@ #include libavcodec/ass.h #include libavutil/opt.h #include libavutil/bprint.h +#include libavutil/internal.h #include libavutil/intreadwrite.h #include libavutil/log.h @@ -274,7 +275,7 @@ static int gen_sub_bitmap(TeletextContext *ctx, AVSubtitleRect *sub_rect, vbi_pa b =
[FFmpeg-cvslog] Move ff_dlog from lavc to lavu.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Mon Aug 17 20:27:25 2015 -0400| [70a19c482a62bbbcda5a1115cfcd6a708f598fbc] | committer: Ronald S. Bultje Move ff_dlog from lavc to lavu. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=70a19c482a62bbbcda5a1115cfcd6a708f598fbc --- libavcodec/internal.h |6 -- libavutil/internal.h |6 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 0daf669..f93a196 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -48,12 +48,6 @@ #define FF_CODEC_CAP_INIT_CLEANUP (1 1) -#ifdef DEBUG -# define ff_dlog(ctx, ...) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__) -#else -# define ff_dlog(ctx, ...) do { if (0) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0) -#endif - #ifdef TRACE # define ff_tlog(ctx, ...) av_log(ctx, AV_LOG_TRACE, __VA_ARGS__) #else diff --git a/libavutil/internal.h b/libavutil/internal.h index a46b2b1..047f742 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -250,6 +250,12 @@ void avpriv_request_sample(void *avc, #define SIZE_SPECIFIER zu #endif +#ifdef DEBUG +# define ff_dlog(ctx, ...) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__) +#else +# define ff_dlog(ctx, ...) do { if (0) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0) +#endif + /** * A wrapper for open() setting O_CLOEXEC. */ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavfi: add error message to help users convert to new lavfi syntax.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Mon Aug 17 20:04:57 2015 -0400| [ad7d972e08dddb1788ac6a434d1be314febcb09d] | committer: Ronald S. Bultje lavfi: add error message to help users convert to new lavfi syntax. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ad7d972e08dddb1788ac6a434d1be314febcb09d --- libavfilter/avfilter.c | 13 - libavfilter/version.h |3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 700baa2..6475f29 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -895,7 +895,7 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) return AVERROR(EINVAL); } -#if FF_API_OLD_FILTER_OPTS +#if FF_API_OLD_FILTER_OPTS || FF_API_OLD_FILTER_OPTS_ERROR if ( !strcmp(filter-filter-name, format) || !strcmp(filter-filter-name, noformat) || !strcmp(filter-filter-name, frei0r) || @@ -955,12 +955,23 @@ int avfilter_init_str(AVFilterContext *filter, const char *args) while ((p = strchr(p, ':'))) *p++ = '|'; +#if FF_API_OLD_FILTER_OPTS if (deprecated) av_log(filter, AV_LOG_WARNING, This syntax is deprecated. Use '|' to separate the list items.\n); av_log(filter, AV_LOG_DEBUG, compat: called with args=[%s]\n, copy); ret = process_options(filter, options, copy); +#else +if (deprecated) { +av_log(filter, AV_LOG_ERROR, This syntax is deprecated. Use + '|' to separate the list items ('%s' instead of '%s')\n, + copy, args); +ret = AVERROR(EINVAL); +} else { +ret = process_options(filter, options, copy); +} +#endif av_freep(copy); if (ret 0) diff --git a/libavfilter/version.h b/libavfilter/version.h index 90a6dc0..6fc4145 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -61,6 +61,9 @@ #ifndef FF_API_OLD_FILTER_OPTS #define FF_API_OLD_FILTER_OPTS (LIBAVFILTER_VERSION_MAJOR 6) #endif +#ifndef FF_API_OLD_FILTER_OPTS_ERROR +#define FF_API_OLD_FILTER_OPTS_ERROR(LIBAVFILTER_VERSION_MAJOR 7) +#endif #ifndef FF_API_AVFILTER_OPEN #define FF_API_AVFILTER_OPEN(LIBAVFILTER_VERSION_MAJOR 6) #endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] scale2ref: override request_frame() and correctly connect them to the corresponding inputs
ffmpeg | branch: master | Michael Niedermayer mich...@niedermayer.cc | Tue Aug 18 15:10:30 2015 +0200| [22f85543ed92f4c6453b110137834151dee0d7eb] | committer: Michael Niedermayer scale2ref: override request_frame() and correctly connect them to the corresponding inputs Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=22f85543ed92f4c6453b110137834151dee0d7eb --- libavfilter/vf_scale.c | 12 1 file changed, 12 insertions(+) diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 07d5217..9698bfb 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -433,6 +433,16 @@ static int config_props_ref(AVFilterLink *outlink) return 0; } +static int request_frame(AVFilterLink *outlink) +{ +return ff_request_frame(outlink-src-inputs[0]); +} + +static int request_frame_ref(AVFilterLink *outlink) +{ +return ff_request_frame(outlink-src-inputs[1]); +} + static int scale_slice(AVFilterLink *link, AVFrame *out_buf, AVFrame *cur_pic, struct SwsContext *sws, int y, int h, int mul, int field) { ScaleContext *scale = link-dst-priv; @@ -697,11 +707,13 @@ static const AVFilterPad avfilter_vf_scale2ref_outputs[] = { .name = default, .type = AVMEDIA_TYPE_VIDEO, .config_props = config_props, +.request_frame= request_frame, }, { .name = ref, .type = AVMEDIA_TYPE_VIDEO, .config_props = config_props_ref, +.request_frame= request_frame_ref, }, { NULL } }; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter/vf_scale: Set scale2ref ref output timebase
ffmpeg | branch: master | Michael Niedermayer mich...@niedermayer.cc | Tue Aug 18 15:06:10 2015 +0200| [db0f8f3f9d9f7d440b1e4a0b416bf6c7b6390bd0] | committer: Michael Niedermayer avfilter/vf_scale: Set scale2ref ref output timebase Signed-off-by: Michael Niedermayer mich...@niedermayer.cc http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=db0f8f3f9d9f7d440b1e4a0b416bf6c7b6390bd0 --- libavfilter/vf_scale.c |1 + 1 file changed, 1 insertion(+) diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 702adc4..07d5217 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -428,6 +428,7 @@ static int config_props_ref(AVFilterLink *outlink) outlink-w = inlink-w; outlink-h = inlink-h; outlink-sample_aspect_ratio = inlink-sample_aspect_ratio; +outlink-time_base = inlink-time_base; return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Sun Aug 16 19:35:59 2015 -0400| [030b5a4f777b59066f1766030db082a53682994d] | committer: Ronald S. Bultje lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=030b5a4f777b59066f1766030db082a53682994d --- libavcodec/error_resilience.c |2 ++ libavcodec/h263dec.c |2 ++ libavcodec/h264.c |4 libavcodec/h264_picture.c |4 libavcodec/h264_slice.c | 16 libavcodec/mpeg12dec.c| 20 +--- libavcodec/mpegpicture.c |6 +- libavcodec/mpegvideo.c| 11 +-- libavcodec/utils.c|2 ++ libavcodec/vc1dec.c | 28 +--- 10 files changed, 78 insertions(+), 17 deletions(-) diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c index b3b46d1..2c741a4 100644 --- a/libavcodec/error_resilience.c +++ b/libavcodec/error_resilience.c @@ -777,7 +777,9 @@ void ff_er_frame_start(ERContext *s) static int er_supported(ERContext *s) { if(s-avctx-hwaccel s-avctx-hwaccel-decode_slice || +#if FF_API_CAP_VDPAU s-avctx-codec-capabilitiesAV_CODEC_CAP_HWACCEL_VDPAU || +#endif !s-cur_pic.f || s-cur_pic.field_picture ) diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 7fa7090..8f28a94 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -603,10 +603,12 @@ retry: if (!s-divx_packed !avctx-hwaccel) ff_thread_finish_setup(avctx); +#if FF_API_CAP_VDPAU if (CONFIG_MPEG4_VDPAU_DECODER (s-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU)) { ff_vdpau_mpeg4_decode_picture(avctx-priv_data, s-gb.buffer, s-gb.buffer_end - s-gb.buffer); goto frame_end; } +#endif if (avctx-hwaccel) { ret = avctx-hwaccel-start_frame(avctx, s-gb.buffer, diff --git a/libavcodec/h264.c b/libavcodec/h264.c index d55231c..1b29c8c 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1561,9 +1561,11 @@ again: if (h-avctx-hwaccel (ret = h-avctx-hwaccel-start_frame(h-avctx, buf, buf_size)) 0) goto end; +#if FF_API_CAP_VDPAU if (CONFIG_H264_VDPAU_DECODER h-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU) ff_vdpau_h264_picture_start(h); +#endif } if (sl-redundant_pic_count == 0) { @@ -1573,6 +1575,7 @@ again: consumed); if (ret 0) goto end; +#if FF_API_CAP_VDPAU } else if (CONFIG_H264_VDPAU_DECODER h-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU) { ff_vdpau_add_data_chunk(h-cur_pic_ptr-f-data[0], @@ -1581,6 +1584,7 @@ again: ff_vdpau_add_data_chunk(h-cur_pic_ptr-f-data[0], buf[buf_index - consumed], consumed); +#endif } else context_count++; } diff --git a/libavcodec/h264_picture.c b/libavcodec/h264_picture.c index 04bbf02..731d780 100644 --- a/libavcodec/h264_picture.c +++ b/libavcodec/h264_picture.c @@ -157,9 +157,11 @@ int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup) int err = 0; h-mb_y = 0; +#if FF_API_CAP_VDPAU if (CONFIG_H264_VDPAU_DECODER h-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU) ff_vdpau_h264_set_reference_frames(h); +#endif if (in_setup || !(avctx-active_thread_type FF_THREAD_FRAME)) { if (!h-droppable) { @@ -178,9 +180,11 @@ int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup) hardware accelerator failed to decode picture\n); } +#if FF_API_CAP_VDPAU if (CONFIG_H264_VDPAU_DECODER h-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU) ff_vdpau_h264_picture_complete(h); +#endif #if CONFIG_ERROR_RESILIENCE av_assert0(sl == h-slice_ctx); diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 48f501b..e330489 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -612,8 +612,11 @@ static int h264_frame_start(H264Context *h) if ((ret = alloc_picture(h, pic)) 0) return ret; -if(!h-frame_recovered !h-avctx-hwaccel - !(h-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU)) +if(!h-frame_recovered !h-avctx-hwaccel +#if FF_API_CAP_VDPAU +!(h-avctx-codec-capabilities AV_CODEC_CAP_HWACCEL_VDPAU) +#endif + )
[FFmpeg-cvslog] lavc: move vdpau decoders under FF_API_VDPAU.
ffmpeg | branch: master | wm4 nfx...@googlemail.com | Mon Aug 17 17:05:34 2015 -0400| [a383f226f02b969b72d6b286af21d0fcd38ca98a] | committer: Ronald S. Bultje lavc: move vdpau decoders under FF_API_VDPAU. Signed-off-by: Ronald S. Bultje rsbul...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a383f226f02b969b72d6b286af21d0fcd38ca98a --- libavcodec/allcodecs.c | 10 ++ libavcodec/h264.c |2 +- libavcodec/mpeg12dec.c |8 libavcodec/mpeg4videodec.c |2 +- libavcodec/vc1dec.c|4 ++-- libavcodec/vdpau.c |8 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 04a83d4..d4ae497 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -190,7 +190,9 @@ void avcodec_register_all(void) REGISTER_DECODER(H264_MMAL, h264_mmal); REGISTER_DECODER(H264_QSV, h264_qsv); REGISTER_DECODER(H264_VDA, h264_vda); +#if FF_API_VDPAU REGISTER_DECODER(H264_VDPAU,h264_vdpau); +#endif REGISTER_ENCDEC (HAP, hap); REGISTER_DECODER(HEVC, hevc); REGISTER_DECODER(HEVC_QSV, hevc_qsv); @@ -227,10 +229,14 @@ void avcodec_register_all(void) REGISTER_ENCDEC (MPEG2VIDEO,mpeg2video); REGISTER_ENCDEC (MPEG4, mpeg4); REGISTER_DECODER(MPEG4_CRYSTALHD, mpeg4_crystalhd); +#if FF_API_VDPAU REGISTER_DECODER(MPEG4_VDPAU, mpeg4_vdpau); +#endif REGISTER_DECODER(MPEGVIDEO, mpegvideo); +#if FF_API_VDPAU REGISTER_DECODER(MPEG_VDPAU,mpeg_vdpau); REGISTER_DECODER(MPEG1_VDPAU, mpeg1_vdpau); +#endif REGISTER_DECODER(MPEG2_CRYSTALHD, mpeg2_crystalhd); REGISTER_DECODER(MPEG2_QSV, mpeg2_qsv); REGISTER_DECODER(MSA1, msa1); @@ -311,7 +317,9 @@ void avcodec_register_all(void) REGISTER_DECODER(VBLE, vble); REGISTER_DECODER(VC1, vc1); REGISTER_DECODER(VC1_CRYSTALHD, vc1_crystalhd); +#if FF_API_VDPAU REGISTER_DECODER(VC1_VDPAU, vc1_vdpau); +#endif REGISTER_DECODER(VC1IMAGE, vc1image); REGISTER_DECODER(VC1_QSV, vc1_qsv); REGISTER_DECODER(VCR1, vcr1); @@ -331,7 +339,9 @@ void avcodec_register_all(void) REGISTER_ENCDEC (WMV2, wmv2); REGISTER_DECODER(WMV3, wmv3); REGISTER_DECODER(WMV3_CRYSTALHD,wmv3_crystalhd); +#if FF_API_VDPAU REGISTER_DECODER(WMV3_VDPAU,wmv3_vdpau); +#endif REGISTER_DECODER(WMV3IMAGE, wmv3image); REGISTER_DECODER(WNV1, wnv1); REGISTER_DECODER(XAN_WC3, xan_wc3); diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 1b29c8c..907943e 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1996,7 +1996,7 @@ AVCodec ff_h264_decoder = { .priv_class= h264_class, }; -#if CONFIG_H264_VDPAU_DECODER +#if CONFIG_H264_VDPAU_DECODER FF_API_VDPAU static const AVClass h264_vdpau_class = { .class_name = H264 VDPAU Decoder, .item_name = av_default_item_name, diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index bd8ccfd..4f60a1c 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1186,7 +1186,7 @@ static const enum AVPixelFormat mpeg1_hwaccel_pixfmt_list_420[] = { #if CONFIG_MPEG1_XVMC_HWACCEL AV_PIX_FMT_XVMC, #endif -#if CONFIG_MPEG1_VDPAU_DECODER +#if CONFIG_MPEG1_VDPAU_DECODER FF_API_VDPAU AV_PIX_FMT_VDPAU_MPEG1, #endif #if CONFIG_MPEG1_VDPAU_HWACCEL @@ -1200,7 +1200,7 @@ static const enum AVPixelFormat mpeg2_hwaccel_pixfmt_list_420[] = { #if CONFIG_MPEG2_XVMC_HWACCEL AV_PIX_FMT_XVMC, #endif -#if CONFIG_MPEG_VDPAU_DECODER +#if CONFIG_MPEG_VDPAU_DECODER FF_API_VDPAU AV_PIX_FMT_VDPAU_MPEG2, #endif #if CONFIG_MPEG2_VDPAU_HWACCEL @@ -2954,7 +2954,7 @@ AVCodec ff_mpeg_xvmc_decoder = { #endif #endif /* FF_API_XVMC */ -#if CONFIG_MPEG_VDPAU_DECODER +#if CONFIG_MPEG_VDPAU_DECODER FF_API_VDPAU AVCodec ff_mpeg_vdpau_decoder = { .name = mpegvideo_vdpau, .long_name = NULL_IF_CONFIG_SMALL(MPEG-1/2 video (VDPAU acceleration)), @@ -2970,7 +2970,7 @@ AVCodec ff_mpeg_vdpau_decoder = { }; #endif -#if CONFIG_MPEG1_VDPAU_DECODER +#if CONFIG_MPEG1_VDPAU_DECODER FF_API_VDPAU AVCodec ff_mpeg1_vdpau_decoder = { .name = mpeg1video_vdpau, .long_name = NULL_IF_CONFIG_SMALL(MPEG-1 video (VDPAU acceleration)), diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 3cb0c38..f15747f 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -2789,7 +2789,7 @@ AVCodec ff_mpeg4_decoder = { }; -#if CONFIG_MPEG4_VDPAU_DECODER +#if CONFIG_MPEG4_VDPAU_DECODER FF_API_VDPAU static const AVClass mpeg4_vdpau_class = { MPEG4 Video VDPAU Decoder, av_default_item_name, diff --git
[FFmpeg-cvslog] doc/indevs: fix fbdev typos
ffmpeg | branch: master | Lou Logan l...@lrcd.com | Tue Aug 18 12:55:15 2015 -0800| [5d410a1db2bfc88dbf4410f7a1a43dd81cb04333] | committer: Lou Logan doc/indevs: fix fbdev typos Fixes ticket #4784 as found by rodarmor. Signed-off-by: Lou Logan l...@lrcd.com Signed-off-by: Ronald S. Bultje rsbul...@gmail.com http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d410a1db2bfc88dbf4410f7a1a43dd81cb04333 --- doc/indevs.texi |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/indevs.texi b/doc/indevs.texi index d5415bb..6f47504 100644 --- a/doc/indevs.texi +++ b/doc/indevs.texi @@ -444,12 +444,12 @@ Documentation/fb/framebuffer.txt included in the Linux source tree. To record from the framebuffer device @file{/dev/fb0} with @command{ffmpeg}: @example -ffmpeg -f fbdev -r 10 -i /dev/fb0 out.avi +ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi @end example You can take a single screenshot image with the command: @example -ffmpeg -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg +ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 screenshot.jpeg @end example See also @url{http://linux-fbdev.sourceforge.net/}, and fbset(1). ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] FF_OPT_TYPE_* - AV_OPT_TYPE_*.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Sun Aug 16 19:34:13 2015 -0400| [6471040f5650ad8c06e8fe285325b41db5bef75e] | committer: Ronald S. Bultje FF_OPT_TYPE_* - AV_OPT_TYPE_*. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6471040f5650ad8c06e8fe285325b41db5bef75e --- libavcodec/dvbsubdec.c |6 +++--- libavcodec/frwu.c|2 +- libavcodec/h264.c|4 ++-- libavcodec/libvpxenc.c |6 +++--- libavcodec/mpeg4videodec.c |4 ++-- libavcodec/s302m.c | 10 +- libavcodec/v210dec.c |2 +- libavformat/hls.c|2 +- libavformat/mov.c|6 +++--- libavformat/tedcaptionsdec.c |2 +- 10 files changed, 22 insertions(+), 22 deletions(-) diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c index ec7c146..ab6054e 100644 --- a/libavcodec/dvbsubdec.c +++ b/libavcodec/dvbsubdec.c @@ -1718,9 +1718,9 @@ end: #define DS AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_SUBTITLE_PARAM static const AVOption options[] = { -{compute_edt, compute end of time using pts or timeout, offsetof(DVBSubContext, compute_edt), FF_OPT_TYPE_INT, {.i64 = 0}, 0, 1, DS}, -{compute_clut, compute clut when not available(-1) or always(1) or never(0), offsetof(DVBSubContext, compute_clut), FF_OPT_TYPE_INT, {.i64 = -1}, -1, 1, DS}, -{dvb_substream, , offsetof(DVBSubContext, substream), FF_OPT_TYPE_INT, {.i64 = -1}, -1, 63, DS}, +{compute_edt, compute end of time using pts or timeout, offsetof(DVBSubContext, compute_edt), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, DS}, +{compute_clut, compute clut when not available(-1) or always(1) or never(0), offsetof(DVBSubContext, compute_clut), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1, DS}, +{dvb_substream, , offsetof(DVBSubContext, substream), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 63, DS}, {NULL} }; static const AVClass dvbsubdec_class = { diff --git a/libavcodec/frwu.c b/libavcodec/frwu.c index db4c1ba..1aabefe 100644 --- a/libavcodec/frwu.c +++ b/libavcodec/frwu.c @@ -103,7 +103,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, } static const AVOption frwu_options[] = { -{change_field_order, Change field order, offsetof(FRWUContext, change_field_order), FF_OPT_TYPE_INT, +{change_field_order, Change field order, offsetof(FRWUContext, change_field_order), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM}, {NULL} }; diff --git a/libavcodec/h264.c b/libavcodec/h264.c index c4ab3fa..d55231c 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1943,8 +1943,8 @@ static av_cold int h264_decode_end(AVCodecContext *avctx) #define OFFSET(x) offsetof(H264Context, x) #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM static const AVOption h264_options[] = { -{is_avc, is avc, offsetof(H264Context, is_avc), FF_OPT_TYPE_INT, {.i64 = 0}, 0, 1, 0}, -{nal_length_size, nal_length_size, offsetof(H264Context, nal_length_size), FF_OPT_TYPE_INT, {.i64 = 0}, 0, 4, 0}, +{is_avc, is avc, offsetof(H264Context, is_avc), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, 0}, +{nal_length_size, nal_length_size, offsetof(H264Context, nal_length_size), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 4, 0}, { enable_er, Enable error resilience on damaged frames (unsafe), OFFSET(enable_er), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VD }, { NULL }, }; diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 3db617d..58e8f5d 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -985,9 +985,9 @@ static int vp8_encode(AVCodecContext *avctx, AVPacket *pkt, #define LEGACY_OPTIONS \ {speed, , offsetof(VP8Context, cpu_used), AV_OPT_TYPE_INT, {.i64 = 1}, -16, 16, VE}, \ {quality, , offsetof(VP8Context, deadline), AV_OPT_TYPE_INT, {.i64 = VPX_DL_GOOD_QUALITY}, INT_MIN, INT_MAX, VE, quality}, \ -{vp8flags, , offsetof(VP8Context, flags), FF_OPT_TYPE_FLAGS, {.i64 = 0}, 0, UINT_MAX, VE, flags}, \ -{error_resilient, enable error resilience, 0, FF_OPT_TYPE_CONST, {.dbl = VP8F_ERROR_RESILIENT}, INT_MIN, INT_MAX, VE, flags}, \ -{altref, enable use of alternate reference frames (VP8/2-pass only), 0, FF_OPT_TYPE_CONST, {.dbl = VP8F_AUTO_ALT_REF}, INT_MIN, INT_MAX, VE, flags}, \ +{vp8flags, , offsetof(VP8Context, flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, 0, UINT_MAX, VE, flags}, \ +{error_resilient, enable error resilience, 0, AV_OPT_TYPE_CONST, {.dbl = VP8F_ERROR_RESILIENT}, INT_MIN, INT_MAX, VE, flags}, \ +{altref, enable use of alternate reference frames (VP8/2-pass only), 0, AV_OPT_TYPE_CONST, {.dbl = VP8F_AUTO_ALT_REF}, INT_MIN, INT_MAX, VE, flags}, \ {arnr_max_frames, altref noise reduction max frame count, offsetof(VP8Context, arnr_max_frames), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 15, VE}, \ {arnr_strength, altref noise reduction filter strength, offsetof(VP8Context, arnr_strength),
[FFmpeg-cvslog] libvpxenc: make flags i64 instead of dbl.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Mon Aug 17 17:10:56 2015 -0400| [b07d2a250955ef03b63db125c581faf48d206cbd] | committer: Ronald S. Bultje libvpxenc: make flags i64 instead of dbl. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b07d2a250955ef03b63db125c581faf48d206cbd --- libavcodec/libvpxenc.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index 58e8f5d..5f39783 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -986,8 +986,8 @@ static int vp8_encode(AVCodecContext *avctx, AVPacket *pkt, {speed, , offsetof(VP8Context, cpu_used), AV_OPT_TYPE_INT, {.i64 = 1}, -16, 16, VE}, \ {quality, , offsetof(VP8Context, deadline), AV_OPT_TYPE_INT, {.i64 = VPX_DL_GOOD_QUALITY}, INT_MIN, INT_MAX, VE, quality}, \ {vp8flags, , offsetof(VP8Context, flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, 0, UINT_MAX, VE, flags}, \ -{error_resilient, enable error resilience, 0, AV_OPT_TYPE_CONST, {.dbl = VP8F_ERROR_RESILIENT}, INT_MIN, INT_MAX, VE, flags}, \ -{altref, enable use of alternate reference frames (VP8/2-pass only), 0, AV_OPT_TYPE_CONST, {.dbl = VP8F_AUTO_ALT_REF}, INT_MIN, INT_MAX, VE, flags}, \ +{error_resilient, enable error resilience, 0, AV_OPT_TYPE_CONST, {.i64 = VP8F_ERROR_RESILIENT}, INT_MIN, INT_MAX, VE, flags}, \ +{altref, enable use of alternate reference frames (VP8/2-pass only), 0, AV_OPT_TYPE_CONST, {.i64 = VP8F_AUTO_ALT_REF}, INT_MIN, INT_MAX, VE, flags}, \ {arnr_max_frames, altref noise reduction max frame count, offsetof(VP8Context, arnr_max_frames), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 15, VE}, \ {arnr_strength, altref noise reduction filter strength, offsetof(VP8Context, arnr_strength), AV_OPT_TYPE_INT, {.i64 = 3}, 0, 6, VE}, \ {arnr_type, altref noise reduction filter type, offsetof(VP8Context, arnr_type), AV_OPT_TYPE_INT, {.i64 = 3}, 1, 3, VE}, \ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] options: mark av_get_{int, double, q} as deprecated.
ffmpeg | branch: master | Ronald S. Bultje rsbul...@gmail.com | Sun Aug 16 16:11:13 2015 -0400| [ad45121d562d99c07ab8f77b01ba4bc610dbe0c0] | committer: Ronald S. Bultje options: mark av_get_{int,double,q} as deprecated. Convert last users to av_opt_get_*() counterparts. http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ad45121d562d99c07ab8f77b01ba4bc610dbe0c0 --- libavfilter/af_aresample.c | 17 + libavfilter/x86/vf_spp.c |4 +++- libavutil/opt.h|3 +++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c index 6cb765d..f6fdd08 100644 --- a/libavfilter/af_aresample.c +++ b/libavfilter/af_aresample.c @@ -80,9 +80,8 @@ static av_cold void uninit(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx) { AResampleContext *aresample = ctx-priv; -int out_rate = av_get_int(aresample-swr, osr, NULL); -uint64_t out_layout= av_get_int(aresample-swr, ocl, NULL); -enum AVSampleFormat out_format = av_get_int(aresample-swr, osf, NULL); +enum AVSampleFormat out_format; +int64_t out_rate, out_layout; AVFilterLink *inlink = ctx-inputs[0]; AVFilterLink *outlink = ctx-outputs[0]; @@ -91,6 +90,9 @@ static int query_formats(AVFilterContext *ctx) AVFilterFormats*in_samplerates, *out_samplerates; AVFilterChannelLayouts *in_layouts, *out_layouts; +av_opt_get_sample_fmt(aresample-swr, osf, 0, out_format); +av_opt_get_int(aresample-swr, osr, 0, out_rate); +av_opt_get_int(aresample-swr, ocl, 0, out_layout); in_formats = ff_all_formats(AVMEDIA_TYPE_AUDIO); if (!in_formats) @@ -144,8 +146,7 @@ static int config_output(AVFilterLink *outlink) AVFilterContext *ctx = outlink-src; AVFilterLink *inlink = ctx-inputs[0]; AResampleContext *aresample = ctx-priv; -int out_rate; -uint64_t out_layout; +int64_t out_rate, out_layout; enum AVSampleFormat out_format; char inchl_buf[128], outchl_buf[128]; @@ -164,9 +165,9 @@ static int config_output(AVFilterLink *outlink) if (ret 0) return ret; -out_rate = av_get_int(aresample-swr, osr, NULL); -out_layout = av_get_int(aresample-swr, ocl, NULL); -out_format = av_get_int(aresample-swr, osf, NULL); +av_opt_get_int(aresample-swr, osr, 0, out_rate); +av_opt_get_int(aresample-swr, ocl, 0, out_layout); +av_opt_get_sample_fmt(aresample-swr, osf, 0, out_format); outlink-time_base = (AVRational) {1, out_rate}; av_assert0(outlink-sample_rate == out_rate); diff --git a/libavfilter/x86/vf_spp.c b/libavfilter/x86/vf_spp.c index 1cfb9e8..45a9eb0 100644 --- a/libavfilter/x86/vf_spp.c +++ b/libavfilter/x86/vf_spp.c @@ -223,8 +223,10 @@ av_cold void ff_spp_init_x86(SPPContext *s) int cpu_flags = av_get_cpu_flags(); if (cpu_flags AV_CPU_FLAG_MMX) { +int64_t bps; s-store_slice = store_slice_mmx; -if (av_get_int(s-dct, bits_per_sample, NULL) = 8) { +av_opt_get_int(s-dct, bits_per_sample, 0, bps); +if (bps = 8) { switch (s-mode) { case 0: s-requantize = hardthresh_mmx; break; case 1: s-requantize = softthresh_mmx; break; diff --git a/libavutil/opt.h b/libavutil/opt.h index 0bc0d30..481d096 100644 --- a/libavutil/opt.h +++ b/libavutil/opt.h @@ -413,8 +413,11 @@ attribute_deprecated const AVOption *av_set_double(void *obj, const char *name, attribute_deprecated const AVOption *av_set_q(void *obj, const char *name, AVRational n); attribute_deprecated const AVOption *av_set_int(void *obj, const char *name, int64_t n); +attribute_deprecated double av_get_double(void *obj, const char *name, const AVOption **o_out); +attribute_deprecated AVRational av_get_q(void *obj, const char *name, const AVOption **o_out); +attribute_deprecated int64_t av_get_int(void *obj, const char *name, const AVOption **o_out); attribute_deprecated const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len); attribute_deprecated const AVOption *av_next_option(FF_CONST_AVUTIL55 void *obj, const AVOption *last); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog