Commit Graph

777 Commits

Author SHA1 Message Date
Michael Niedermayer
bb3ed3bae6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Add FATE tests for the Ut Video encoder
  lavc: add Ut Video encoder
  mpegvideo_enc: remove stray duplicate line from 7f9aaa4
  swscale: x86: fix #endif comments in rgb2rgb template file
  avconv: mark more options as expert.
  avconv: split printing "main options" into global and per-file.
  avconv: refactor help printing.

Conflicts:
	Changelog
	ffmpeg_opt.c
	ffserver.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 17:31:55 +02:00
Jan Ekström
b96509c93c fate: Add FATE tests for the Ut Video encoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-20 11:23:10 +02:00
Clément Bœsch
3250231a02 lavfi: add edgedetect filter. 2012-08-16 22:03:32 +02:00
Philip Langdale
6057de19b5 srtenc: Add timing-less "subrip" encoder.
Unsurprisingly, if a timing-less subrip decoder is desireable, an
encoder is as well. With this in place, we can move on to remove
the use of the old encoder/decoder with embedded timing and move
all timing handling the (de)muxer where they belong.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-15 20:46:54 -07:00
Boris Maksalov
f0cbab2ac7 prores_kostya: fix incorrect picture_size field.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 16:57:39 +02:00
Nicolas George
690ef618b1 ffmpeg: copy subtitles frame dimensions.
The sub-movtextenc ref file changes because the dimensions
(400×60) are stored by the format.
2012-08-14 11:17:45 +02:00
Michael Niedermayer
c5ea3a009b ffmpeg: Do not discard slightly invalid timestamps.
Fixes Ticket1627

The fate change is due to ffmpeg no longer pushing audio timestamps
aggressively up (which is what caused the AV sync issues in the ticket)
but leaving them as they are.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 01:22:48 +02:00
Michael Niedermayer
18b0c39f99 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g723.1: fix addition overflow
  g723.1: simplify and fix multiplication overflow
  g723.1: deobfuscate an expression
  g723.1: remove unused #includes
  ARM: add missing "cc" clobber in av_clipl_int32_arm()
  rtmp: Factorize the code by adding handle_invoke_error
  rtmp: Factorize the code by adding handle_invoke_status
  rtmp: Factorize the code by adding handle_invoke_result
  libavutil: remove unused av_abort() macro
  ffmenc: replace if/abort with assert()
  libavutil: drop offsetof() fallback definition
  libavutil: drop fallback definitions of INTxx_MIN/MAX
  configure: Check for a sctp struct instead of just the header
  configure: suncc: Add -xc99 to dependency flags, required on Solaris
  doxygen: Fix function parameter names to match the code
  doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs
  swf: Move shared table out of the header file
  swf: Move swf_audio_codec_tags table to the only place it is used
  fate: add G.723.1 decoder tests

Conflicts:
	configure
	doc/platform.texi
	libavformat/Makefile
	libavutil/arm/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 16:25:23 +02:00
Mans Rullgard
05c36e0e5f g723.1: fix addition overflow
This addition must be done as 64-bit to avoid overflow and for
the subsequent clipping to be meaningful.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 12:18:38 +01:00
Michael Niedermayer
2f7e8dcf45 yadif: redesign first and last 2 lines handling.
The previous code dependent on the input buffer matching the
buffer that has been provided by yadifs get_buffer.
The API does in now way gurantee this though its often true.
This fixes some out of array reads.
The regression test checksums change due to "out of picture" values
being initialized differently.
There should be no visual difference in the filters output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:08:34 +02:00
Kostya Shishkov
84f9d78a96 fate: add G.723.1 decoder tests 2012-08-09 19:35:47 +02:00
Michael Niedermayer
11a1033c9f Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  build: cosmetics: Reorder some lists in a more logical fashion
  x86: pngdsp: Fix assembly for OS/2
  fate: add test for RTjpeg in nuv with frameheader
  rtmp: send check_bw as notification
  g723_1: clip argument for 15-bit version of normalize_bits()
  g723_1: use all LPC vectors in formant postfilter
  id3v2: Support v2.2 PIC
  avplay: fix build with lavfi disabled.
  avconv: split configuring filter configuration to a separate file.
  avconv: split option parsing into a separate file.
  mpc8: do not leave padding after last frame in buffer for the next decode call
  mpegaudioenc: list supported channel layouts.
  mpegaudiodec: don't print an error on > 1 frame in a packet.
  api-example: update to new audio encoding API.
  configure: add --enable/disable-random option
  doc: cygwin: Update list of FATE package requirements
  build: Remove all installed headers and header directories on uninstall
  build: change checkheaders to use regular build rules
  rtmp: Add a new option 'rtmp_subscribe'
  rtmp: Add support for subscribing live streams
  ...

Conflicts:
	Makefile
	common.mak
	configure
	doc/examples/decoding_encoding.c
	ffmpeg.c
	libavcodec/g723_1.c
	libavcodec/mpegaudiodec.c
	libavcodec/x86/pngdsp.asm
	libavformat/version.h
	library.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 00:51:02 +02:00
Janne Grunau
69ac6400b8 fate: add test for RTjpeg in nuv with frameheader
Renames the old test to allow using fate-nuv as group for all
nuv tests.
2012-08-08 15:06:46 +02:00
Michael Niedermayer
d106ffd942 fate: add bitexact flag to fate-sub-movtextenc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 17:59:12 +02:00
Michael Niedermayer
e776ee8f29 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix handling of custom mix matrices
  fate: force pix_fmt in lagarith-rgb32 test
  fate: add tests for lagarith lossless video codec.
  ARMv6: vp8: fix stack allocation with Apple's assembler
  ARM: vp56: allow inline asm to build with clang
  fft: 3dnow: fix register name typo in DECL_IMDCT macro
  x86: dct32: port to cpuflags
  x86: build: replace mmx2 by mmxext
  Revert "wmapro: prevent division by zero when sample rate is unspecified"
  wmapro: prevent division by zero when sample rate is unspecified
  lagarith: fix color plane inversion for YUY2 output.
  lagarith: pad RGB buffer by 1 byte.
  dsputil: make add_hfyu_left_prediction_sse4() support unaligned src.

Conflicts:
	doc/APIchanges
	libavcodec/lagarith.c
	libavfilter/x86/gradfun.c
	libavutil/cpu.h
	libavutil/version.h
	libswscale/utils.c
	libswscale/version.h
	libswscale/x86/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 23:51:43 +02:00
Philip Langdale
2daaf77698 movtextenc: 3GPP TS 26.245 Timed Text Encoder.
This change introduces a basic encoder for 3GPP Timed Text subtitles,
also known as TX3G, Quicktime subtitles, or "movtext" in the existing
code.

This initial change doesn't attempt to write styling information,
and just writes the plain text of the subtitles. I intend to add
support for styles eventually, but it's challenging due to a lack
of existing players that support them.

Note that an additional change is required to the mov/mp4 muxer to
write empty subtitle packets to indicate subtitle duration.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-04 12:01:24 -07:00
Ronald S. Bultje
c5d5d17880 fate: add tests for lagarith lossless video codec.
Based on patch by Oana Stratulat <oanaandreeastratulat@gmail.com>.
2012-08-03 20:48:34 -07:00
Michael Niedermayer
a7acab6cda Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1dec: Remove separate scaling function for interlaced field MVs
  vc1dec: Invoke edge_emulation regardless of MV precision
  x86: Use consistent 3dnowext function and macro name suffixes
  g723_1: scale output as supposed for the case with postfilter disabled
  g723_1: increase excitation storage by 4
  g723_1: fix upper bound parameter from inverse maximum autocorrelation
  g723_1: make scale_vector() behave like the reference
  g723_1: fix off-by-one error in normalize_bits()
  g723_1: save/restore excitation with offset to store LPC history
  wmapro: prevent division by zero when sample rate is unspecified
  x86: proresdsp: improve SIGNEXTEND macro comments
  x86: h264dsp: K&R formatting cosmetics
  LICENSE: Document all GPL files

Conflicts:
	libavcodec/g723_1.c
	libavcodec/wmaprodec.c
	libavcodec/x86/h264dsp_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 23:13:06 +02:00
Paul B Mahol
d84dd35f8e paf: fix audio packet duration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-03 15:18:12 +00:00
Nicolas George
39b0d40d92 fate: add test for the tile video filter. 2012-08-01 14:00:29 +02:00
Michael Niedermayer
64a2c51f7b fate: fix forgotten hunk for framerate order change in ffmpeg.c
broken by: cbb2c95e47
i had fixed that commit but pushed from an old branch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 17:51:33 +02:00
Michael Niedermayer
3161958455 yadif: update frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 14:17:10 +02:00
Michael Niedermayer
7c26761b81 Merge commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23'
* commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23':
  lavf: use dts difference instead of AVPacket.duration in find_stream_info()
  avf: introduce nobuffer option
  fate: make yadif tests consistent across systems
  vf_hqdn3d: support 9 and 10bit colordepth
  vf_hqdn3d: reduce intermediate precision
  vf_hqdn3d: simplify and optimize
  factor identical ff_inplace_start_frame out of two filters
  vf_hqdn3d: cosmetics
  avprobe/avconv: fix tentative declaration compile errors on MSVS.

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffprobe.c
	libavformat/avformat.h
	libavformat/options_table.h
	libavformat/utils.c
	libavformat/version.h
	tests/fate/filter.mak
	tests/ref/fate/filter-yadif-mode0
	tests/ref/fate/filter-yadif-mode1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 23:04:49 +02:00
Anton Khirnov
aba232cfa9 lavf: deprecate r_frame_rate.
According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.

Replace it with the average framerate where it makes sense.

FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.

In some other tests lavf starts making up frame durations from different
frame.
2012-07-29 08:06:30 +02:00
Michael Niedermayer
706bd8ea19 Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits)
  h264_idct_10bit: port x86 assembly to cpuflags.
  x86inc: clip num_args to 7 on x86-32.
  x86inc: sync to latest version from x264.
  fft: rename "z" to "zc" to prevent name collision.
  wv: return meaningful error codes.
  wv: return AVERROR_EOF on EOF, not EIO.
  mp3dec: forward errors for av_get_packet().
  mp3dec: remove a pointless local variable.
  mp3dec: remove commented out cruft.
  lavfi: bump minor to mark stabilizing the ABI.
  FATE: add tests for yadif.
  FATE: add a test for delogo video filter.
  FATE: add a test for amix audio filter.
  audiogen: allow specifying random seed as a commandline parameter.
  vc1dec: Override invalid macroblock quantizer
  vc1: avoid reading beyond the last line in vc1_draw_sprites()
  vc1dec: check that coded slice positions and interlacing match.
  vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value
  configure: Move parts that should not be user-selectable to CONFIG_EXTRA
  lavf: remove commented out cruft in avformat_find_stream_info()
  ...

Conflicts:
	Makefile
	configure
	libavcodec/vc1dec.c
	libavcodec/x86/h264_deblock.asm
	libavcodec/x86/h264_deblock_10bit.asm
	libavcodec/x86/h264dsp_mmx.c
	libavfilter/version.h
	libavformat/mp3dec.c
	libavformat/utils.c
	libavformat/wv.c
	libavutil/x86/x86inc.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 02:16:26 +02:00
Mans Rullgard
d905c64406 fate: make yadif tests consistent across systems
MMX-enabled systems by default use some dsputil functions differing
from the C versions.  Adding these flags ensures accurate ones are
used everywhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-28 22:23:52 +01:00
Anton Khirnov
8f9537f314 FATE: add tests for yadif. 2012-07-28 14:33:44 +02:00
Anton Khirnov
8112710f17 FATE: add a test for delogo video filter. 2012-07-28 14:33:32 +02:00
Clément Bœsch
316f8db2c2 SubViewer demuxer and decoder. 2012-07-26 22:22:54 +02:00
Michael Niedermayer
2cd491a47c lavf: move generic index generation code to a later point
By moving it to a later point relative and unknown timestamps
are more likely to have been corrected

similar patch reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavformat/utils.c
2012-07-26 03:04:49 +02:00
Michael Niedermayer
703f294934 fate: update avui test due to
commit 20e88d8618

    Fix avui stream-copy.

    The native decoder and MPlayer's binary decoder only need the
    APRG atom, QuickTime at least requires also the ARES atom and
    four additional 0 bytes padding at the end of stsd.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 14:29:39 +02:00
Michael Niedermayer
93342de1d8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add credit/copyright to librtmp authors for parts of the RTMPE code
  rtmp: Move the CONFIG_ condition into the if conditions
  aac: Mention abbreviation as well in long_name
  build: Skip compiling rtmpdh.h if ffrtmpcrypt protocol is not enabled
  doc: Add Git configuration section
  configure: Add a dependency on https for rtmpts
  rtp: Only choose static payload types if the sample rate and channels are right

Conflicts:
	doc/git-howto.texi
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 21:15:57 +02:00
Michael Niedermayer
22ce78a95e vc1dec: dont apply the loop filter on fields
Fixes read of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 04:55:13 +02:00
Michael Niedermayer
2cb4d51654 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  v410dec: Implement explode mode support
  zerocodec: fix direct rendering.
  wav: init st to NULL to avoid a false-positive warning.
  wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
  h264: refactor NAL decode loop
  RTMPTE protocol support
  RTMPE protocol support
  rtmp: Add ff_rtmp_calc_digest_pos()
  rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
  swscale: add missing HAVE_INLINE_ASM check.
  lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
  vc1: Add a test for interlaced field pictures
  swscale: Mark all init functions as av_cold
  swscale: x86: Drop pointless _mmx suffix from filenames
  lavf: use conditional notation for default codec in muxer declarations.
  swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
  dsputil: ppc: cosmetics: pretty-print
  dsputil: x86: add SHUFFLE_MASK_W macro
  configure: respect CC_O setting in check_cc

Conflicts:
	Changelog
	configure
	libavcodec/v410dec.c
	libavcodec/zerocodec.c
	libavformat/asfenc.c
	libavformat/version.h
	libswscale/utils.c
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 21:25:09 +02:00
Mashiat Sarker Shakkhar
8d2e3fee0b vc1: Add a test for interlaced field pictures
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-22 22:28:30 -04:00
Steven Robertson
82ecae8a70 lavfi: add alphaextract and alphamerge filters
These filters are designed for storing and transmitting video sequences
with alpha using higher-efficiency codecs such as x264 which don't
natively support an alpha channel. 'alphaextract' takes an input stream
with an alpha channel and returns a video containing just the alpha
component as a grayscale value; 'alphamerge' takes an RGB or YUV stream
and adds an alpha channel recovered from a second grayscale stream.

Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-22 12:17:34 +02:00
Joseph Artsimovich
99c4e91dfa dnxhd: Fix 10-bit DNxHD quant matrices
Convert them to zigzag order, as the rest of them are.

When I was adding support for 10-bit DNxHD, I just copy-pasted the
missing quant matrices from the spec. Now it turns out the existing
matrices in dnxhddata.c were in zigzag order. This resulted in wrong
quantization for 10-bit DNxHD. The attached patch fixes the problem by
converting 10-bit quant matrices to zigzag order.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 15:24:27 +02:00
Paul B Mahol
0b74b8f649 ptx: correct decoding
The image data is in BGR and not in RGB.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-17 17:06:24 +00:00
Michael Niedermayer
39afcf1d7e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  eval: add gt(), gte(), lt() and lte() fate tests
  eval: fix swapping of lt() and lte()
  imgconvert: deprecate avcodec_find_best_pix_fmt()
  imgconvert: add avcodec_find_best_pix_fmt2()
  imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt

Conflicts:
	libavcodec/imgconvert.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 01:23:16 +02:00
Philip Langdale
2c501ae82b movtextdec: 3GPP TS 26.245 Timed Text Decoder.
This change introduces a basic decoder for 3GPP Timed Text subtitles,
also known as TX3G, Quicktime subtitles, or "movtext" in the existing
code.

This initial change doesn't attempt to parse styling information,
and just reads the plain text of the subtitles. I intend to add
support for styles eventually, but it's challenging due to a lack
of existing players that support them.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-07-14 14:50:02 -07:00
Michael Niedermayer
57d5a224ce mp3enc: add lame tag with start padding info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 17:20:22 +02:00
Janne Grunau
2d497c141d eval: add gt(), gte(), lt() and lte() fate tests 2012-07-14 13:43:10 +02:00
Max Lazarov
caac3ab6ef eval: fix swapping of lt() and lte()
CC: libav-stable@libav.org
2012-07-14 13:33:25 +02:00
Paul B Mahol
1a8b0025f1 fate: add test for paf demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 00:04:24 +00:00
Paul B Mahol
101615c7ff fate: add test for paf video decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 00:04:23 +00:00
Paul B Mahol
409cc45883 fate: add test for paf audio decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 00:04:23 +00:00
Michael Niedermayer
a32032b508 sws/x86: add some forgotten 12bit planar yuv cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 04:38:57 +02:00
Carl Eugen Hoyos
73bb4e9ca6 nut: add 12/14 bit yuv to nut/raw
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 04:23:55 +02:00
Michael Niedermayer
fa36f33422 sws: support 12&14 bit planar colorspaces
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 23:47:01 +02:00
Michael Niedermayer
039e9fe01c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  lavfi: reclassify showfiltfmts as a TESTPROG
  graph2dot: fix printf format specifier
  swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
  vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
  amr: remove shift out of the AMR_BIT() macro.
  dsputilenc: group yasm and inline asm function pointer assignment.
  mov: use forward declaration of a function instead of a table.
  Clarify Doxygen comment for FF_API_* #defines.
  configure: simplify get_version()
  Create version.h headers for libraries that lack them
  gitignore: Use full path instead of relative path to specify patterns
  mpegvideo: remove VLAs
  Add XTEA encryption support in libavutil
  Add Blowfish encryption support in libavutil
  eval: Add the isinf() function and tests for it
  flacdec: move lpc filter to flacdsp
  flacdec: split off channel decorrelation as flacdsp
  avplay: Add an option for not limiting the input buffer size
  FATE: add a test for WMA cover art.
  FATE: add a test for apetag cover art
  ...

Conflicts:
	.gitignore
	configure
	ffplay.c
	libavcodec/Makefile
	libavcodec/error_resilience.c
	libavcodec/mpegvideo.c
	libavcodec/ratecontrol.c
	libavdevice/avdevice.h
	libavfilter/Makefile
	libavfilter/filtfmts.c
	libavfilter/version.h
	libavformat/mov.c
	libavformat/version.h
	libavutil/Makefile
	libavutil/avutil.h
	libavutil/version.h
	libswscale/swscale.h
	libswscale/x86/swscale_mmx.c
	tests/fate/libavutil.mak
	tests/lavfi-regression.sh
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 21:03:28 +02:00