Commit Graph

1382 Commits

Author SHA1 Message Date
Michael Niedermayer
b2fb65cbeb Merge commit '641e57230b460bef52c88e61087d97c223910bea'
* commit '641e57230b460bef52c88e61087d97c223910bea':
  fate: add on2avc audio test

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-11 03:10:21 +02:00
Vittorio Giovara
641e57230b fate: add on2avc audio test 2014-06-10 19:41:59 -04:00
Christophe Gisquet
8d02a55b1b tests: add a third, 34x34, target
This should exercise the corner cases of numerous codecs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 20:24:49 +02:00
Billy Shambrook
3c2d9f86c7 ffprobe: add rc_max_rate to stream output
The value is used by some bitstream to mark the maximum bit rate.

See thread:
Subject: [FFmpeg-devel] [PATCH] Add rc_max_rate to ffprobe stream output
Date: Sun,  1 Jun 2014 17:36:36 +0100
To: ffmpeg-devel@ffmpeg.org

http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/178461

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-06-09 23:19:33 +02:00
Michael Niedermayer
637093a2db avcodec/utvideoenc: skip unused huffman entries
This very slightly improves compression
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-09 15:11:53 +02:00
Michael Niedermayer
3b42a8e439 avcodec/mpeg12enc: store sequence display extension only if we have something to store in it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:54:22 +02:00
Michael Niedermayer
5163fb9446 Merge commit '8a06794112d02a5707f766b8b38a5d50dfd03898'
* commit '8a06794112d02a5707f766b8b38a5d50dfd03898':
  mpeg2: add sequence display extension information

Conflicts:
	libavcodec/mpeg12enc.c
	tests/ref/lavf/gxf
	tests/ref/lavf/mxf
	tests/ref/lavf/mxf_d10
	tests/ref/lavf/ts
	tests/ref/seek/lavf-gxf
	tests/ref/seek/lavf-mxf
	tests/ref/seek/lavf-ts
	tests/ref/seek/vsynth2-mpeg2-422
	tests/ref/seek/vsynth2-mpeg2-idct-int
	tests/ref/seek/vsynth2-mpeg2-ilace
	tests/ref/seek/vsynth2-mpeg2-ivlc-qprd
	tests/ref/seek/vsynth2-mpeg2-thread
	tests/ref/seek/vsynth2-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth1-mpeg2
	tests/ref/vsynth/vsynth1-mpeg2-422
	tests/ref/vsynth/vsynth1-mpeg2-idct-int
	tests/ref/vsynth/vsynth1-mpeg2-ilace
	tests/ref/vsynth/vsynth1-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth1-mpeg2-thread
	tests/ref/vsynth/vsynth1-mpeg2-thread-ivlc
	tests/ref/vsynth/vsynth2-mpeg2
	tests/ref/vsynth/vsynth2-mpeg2-422
	tests/ref/vsynth/vsynth2-mpeg2-idct-int
	tests/ref/vsynth/vsynth2-mpeg2-ilace
	tests/ref/vsynth/vsynth2-mpeg2-ivlc-qprd
	tests/ref/vsynth/vsynth2-mpeg2-thread
	tests/ref/vsynth/vsynth2-mpeg2-thread-ivlc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 22:36:07 +02:00
Michael Niedermayer
1aa60980d2 fate: enable fate-seek-acodec-adpcm-ima_qt-trellis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 18:03:31 +02:00
Martin Storsjö
fa8f060b75 adpcm: Write the proper predictor in trellis mode in IMA QT
The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

Fixes part of Ticket3701

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:08:21 +02:00
Michael Niedermayer
fb7646d92c fate: enable adpcm-ima_qt-trellis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-06 17:08:21 +02:00
Marc-Antoine Arnaud
8a06794112 mpeg2: add sequence display extension information
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-06 15:38:10 +01:00
Timothy Gu
da53de0730 tests: add adpcm trellis tests
adpcm_ima_qt does not produce reproducible results, so it is temporarily
disabled (see #3701).

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-05 12:20:49 +02:00
Timothy Gu
22d1b24982 tests: Replace fieldmatch test with pixfmt
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-02 04:12:10 +02:00
Timothy Gu
552c9904ab tests: Add pullup filter test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 19:00:39 +02:00
Timothy Gu
bfb4882345 tests: Add MPEG4 nsse test
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 15:43:04 +02:00
Anton Khirnov
962d631573 matroskaenc: set the stream timebase earlier
Fixes calculating the ts offset for audio codecs with delay.
2014-05-29 08:01:58 +02:00
Anton Khirnov
43e7f0797f flvenc: only write the framerate tag based on avg_frame_rate
Do not fall back on the codec timebase, since that can be anything for
VFR video.
2014-05-29 08:01:30 +02:00
Anton Khirnov
81eec081af matroskaenc: base DefaultDuration on the framerate, not the codec timebase
This results in DefaultDuration not being written when the framerate is
not known, but as this field is purely informative, this should not
break any sane demuxers.
2014-05-29 08:00:57 +02:00
Michael Niedermayer
7dba055bb0 oggenc: Fix the EOS flag
This corrects the bug that caused the checksums to change in
9767d7c092.

It caused the EOS flag to be set incorrectly; the ogg spec does not
allow it to be set in the middle of a logical bitstream.

Signed-off-by: Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-28 21:51:38 +03:00
Michael Niedermayer
919c320f72 avformat/oggenc: fix EOS flag
This corrects the bug that caused the checksums to change in
9767d7c092

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 01:12:18 +02:00
Michael Niedermayer
b5657516b2 Merge commit '9767d7c092c890ecc5953452e8a951fd902dd67b'
* commit '9767d7c092c890ecc5953452e8a951fd902dd67b':
  oggenc: Flush after writing headers

Conflicts:
	tests/ref/lavf/ogg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28 01:00:10 +02:00
Andrew Kelley
9767d7c092 oggenc: Flush after writing headers
Before, header information for ogg format files was sent with the
first encoded packet.

This patch makes it so that it is possible for API users to
differentiate between headers and encoded audio. This is useful, for
example, when creating an audio stream where you want to send one set
of headers for every client that connects and then the encoded stream
of audio.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-27 20:16:59 +03:00
Aman Gupta
4372fb7a57 avcodec/webvttenc: add webvtt encoder
Based off the srt encoder. The following features are unimplemented:

- fonts, colors, sizes
- alignment and positioning

The rest works well. For example, use ffmpeg to convert subtitles into the .vtt format:

  ffmpeg -i input.srt output.vtt

Signed-off-by: Aman Gupta <ffmpeg@tmm1.net>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-05-25 03:04:14 +02:00
Carl Eugen Hoyos
e705d0ce1c Set dwSuggestBufferSize to largest chunk size for every stream in avi.
Fixes playback with WMP 9 for files with large (rawvideo) frames
as explained in ticket #2145.

Fixes ticket #2818.
2014-05-19 00:05:40 +02:00
Michael Niedermayer
0c152fe916 ffmpeg: prefix encoder with "Lavc " in bitexact mode
This avoids misleading encoder names like "encoder = prores"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:57:20 +02:00
Michael Niedermayer
bbee02ed9c ffmpeg: Skip writing the version when -flags bitexact is used
Alternatively every fate test could be changed to pass both fflags and flags +bitexact

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:00:00 +02:00
Michael Niedermayer
1e49439f04 Merge commit '6656370b858329ca07a60a2de954d5e90daa0206'
* commit '6656370b858329ca07a60a2de954d5e90daa0206':
  avconv: set the "encoder" tag when transcoding

Conflicts:
	ffmpeg.c
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 21:31:51 +02:00
Anton Khirnov
6656370b85 avconv: set the "encoder" tag when transcoding 2014-05-18 20:33:46 +02:00
Michael Niedermayer
8334850a99 Merge commit '93afb6c98df876b15e3d911a9450ad55f92080ce'
* commit '93afb6c98df876b15e3d911a9450ad55f92080ce':
  avconv: set output avg_frame_rate when known

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 14:38:36 +02:00
Carl Eugen Hoyos
c2b0ce70ad Initialize riff and wav size fields to -1 instead of 0.
WMP doess not play the output files if the fields are
set to 0 and not overwritten (using pipe output).

Fixes ticket #3346.
2014-05-03 22:21:00 +02:00
Clément Bœsch
b17e98ded0 avfilter/edgedetect: add a colormix mode. 2014-05-03 19:07:14 +02:00
Michael Niedermayer
77811482ab avcodec/utils: ff_decode_frame_props: set pkt_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Michael Niedermayer
bb5657fabf Merge commit '6072184e702b4b631ac72f1b66b75e5f21e0ce2d'
* commit '6072184e702b4b631ac72f1b66b75e5f21e0ce2d':
  asfenc: use codec descriptors instead of AVCodecs to write codec info

Conflicts:
	tests/ref/lavf/asf
	tests/ref/seek/lavf-asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 17:40:14 +02:00
Anton Khirnov
6072184e70 asfenc: use codec descriptors instead of AVCodecs to write codec info
Also, stop using AVCodecContext.codec_name as fallback, since it will be
deprecated.

Changes the result of the lavf-asf test (and its associated seektest),
since 'msmpeg4v3' gets written instead of just 'msmpeg4'.
2014-05-01 09:26:20 +02:00
Anton Khirnov
a1aa37dd0b matroskaenc: write CodecDelay 2014-05-01 08:03:51 +02:00
Mickaël Raulet
bd4dc9e717 fate/hevc: update with new sequences from jctvc(cherry picked from commit de6d9c586bd3852dfbe629a88ccc8c0f0a2bfcbb)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 21:51:58 +02:00
Daniel Verkamp
5e7d21c7ad ff_put_wav_header: add flag to force WAVEFORMATEX
Partially undoes commit 2c4e08d893:

    riff: always generate a proper WAVEFORMATEX structure in
    ff_put_wav_header

A new flag, FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX, is added to force the
use of WAVEFORMATEX rather than PCMWAVEFORMAT even for PCM codecs.

This flag is used in the Matroska muxer (the cause of the original
change) and in the ASF muxer, because the specifications for
these formats indicate explicitly that WAVEFORMATEX should be used.

Muxers for other formats will return to the original behavior of writing
PCMWAVEFORMAT when writing a header for raw PCM.

In particular, this causes raw PCM in WAV to generate the canonical
44-byte header expected by some tools.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 16:41:35 +02:00
Michael Niedermayer
1f249d2ca7 avformat/utils: prevent r frame rate from being set larger than 1/tb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 15:49:51 +02:00
Michael Niedermayer
4394f82f52 avformat/utils: add gif to tb_unreliable()
This improves the used timebases when gif is the source

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-28 15:20:38 +02:00
Derek Buitenhuis
d66de5006b fate: Add fic-in-avi test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-24 22:01:33 +01:00
Derek Buitenhuis
8de77b665d fate: Add fic-in-avi test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-04-24 22:00:50 +01:00
Graham Booker
60fcc19b90 avformat/mpegtsenc: Changed Video PES packet length to 0.
The rational for this is another issue that plex has exposed.  When it is
conducting a transcode of video to HLS for streaming, my father noticed
artifacts when played on his GoogleTV (NSZ-GT1).  He sent me a test file
and I reproduced it on my device of the same model.  It is important to
note that the artifacts were not present when streaming to VLC or QuickTime
Player.  I copied the command-line that plex used, and conducted all of the
following tests using FFmpeg git.

Transcode to HLS: artifacts on playback
Transcode to TS: playback is fine
Cat HLS segments into a single TS: playback is fine
Segment single TS file to segments: artifacts on playback
Segment single TS file to segments using Apple's HLS segmenter: playback is
fine

At this point I carefully examined the differences between Apple's HLS
segmenter output and FFmpeg's.  Among the considerable differences, I
noticed that the video PES packets always had a 0 length.  So I continued:

Transcode to HLS using FFmpeg with 0 length PES packets: playback is fine.
Segment single TS to segments with 0 length PES packets: playback is fine.

All failures mentioned are only on the GTV since it is the only player on
which I could reproduce artifacts.  I only tested the GTV, VLC, and
QuickTime Player though, so my test case is limited.  I do not know if
other players exhibit this issue.

Since it was useful last time, I have uploaded the test file as
hls_pes_packet_length.m4v along with its associated txt file which contains
the transcode command-line that was used.

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 16:05:25 +02:00
Anton Khirnov
a4ed995cab txd: do not set the codec timebase.
It is not supposed to be changed from outside of lavc.
Set the stream timebase and average framerate instead.
2014-04-22 07:44:16 +02:00
Michael Niedermayer
75ef907db8 Merge commit '6dfd99c93808d6504dd5cb1fad847d68cb179352'
* commit '6dfd99c93808d6504dd5cb1fad847d68cb179352':
  fate: add tests for SGI RLE and MVC1&2 decoders

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 20:40:02 +02:00
Vittorio Giovara
6dfd99c938 fate: add tests for SGI RLE and MVC1&2 decoders 2014-04-19 16:24:27 +02:00
Peter Ross
f45a840907 avformat/mlv: add fate sample
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 05:06:06 +02:00
Michael Niedermayer
c9aab1ee7f avfilter/vf_rotate: fix several of by 1 errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:23:14 +02:00
Michael Niedermayer
4ebfb2c5ec avfilter/vf_rotate: fix location of update operation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:22:42 +02:00
Michael Niedermayer
a47cc877a0 avfilter/vf_rotate: increase fixed point precision
This ensures int_sins output doesnt have "random" lsbs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 01:22:06 +02:00
Michael Niedermayer
a8d01a7378 Merge commit '0983d48111f578e17e8c1967d25ce593fce62b63'
* commit '0983d48111f578e17e8c1967d25ce593fce62b63':
  crc: add ANSI CRC16 LE

Conflicts:
	doc/APIchanges
	libavutil/crc.c
	libavutil/crc.h
	libavutil/version.h
	tests/ref/fate/crc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-17 22:38:51 +02:00