Commit Graph

333 Commits

Author SHA1 Message Date
Mark Reid
399e31419a libavformat/mxfenc: write package name metadata
Previous-version-reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 01:00:38 +01:00
Robert Krüger
618021ea58 avformat/mxfenc: adjust product name when opatom muxer is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 12:13:21 +01:00
Mark Reid
9b22e460ad test/fate: added mxf_opatom regression tests
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 11:28:53 +01:00
Anton Khirnov
80a11de7dc nutenc: do not use has_b_frames
It is unreliable, especially when the stream codec context is not the
encoding context. Use the codec descriptor properties instead.
2015-01-27 09:15:07 +01:00
Zoltan Kovacs
4843a9c74f dpx: always write the image offset
According to the DPX file format description found at
http://www.fileformat.info/format/dpx/egff.htm the ImageElement part of
the GenericImageHeader also contains an an offset to the real image data
beside the same member that can be found in the GenericFileHeader.

Libav keeps this member empty (=0) while some applications expects it to
be filled properly. FATE test updated accordingly.

Bug-Id: 742
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 13:29:18 +00:00
Michael Niedermayer
9943c5a42b Merge commit '9257692ac15eff7b07540c1f61cebde0d8823fbd'
* commit '9257692ac15eff7b07540c1f61cebde0d8823fbd':
  lavf: Only initialize s->offset once when using avoid_negative_ts make_zero

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-18 02:46:07 +01:00
Lukasz Marek
745730c9c2 lavf/ffm: use AVOption API to store/restore stream properties
This is a generic solution that will not reqiore modifications when new options are added.
This also fixes problem with current implementation when qmin or qmax=-1.
Only 8 bits was sent and read back as 255.

Fixes #1275
Fixes #1461

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Michael Niedermayer
dd2f868644 Merge commit 'aae6b3b918b4133b8cc2d1631196c1d406d0351a'
* commit 'aae6b3b918b4133b8cc2d1631196c1d406d0351a':
  movenc: Don't write any iso brands in ismv files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 02:52:43 +01:00
Michael Niedermayer
77eff7a58a Merge commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a'
* commit 'c55d1d382cd41345a79782ace41f9b43f45dca9a':
  movenc: Don't write any tfdt atom for ismv files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 02:37:49 +01:00
Michael Niedermayer
7f24e1e1a2 Merge commit '600d5ee6b12bad144756b0772319bb04796bc528'
* commit '600d5ee6b12bad144756b0772319bb04796bc528':
  movenc: Signal iso6 in compatible_brands when using tfdt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:53:52 +01:00
Mark Reid
90bf1e3046 libavformat/mxfdec: read source timecode from pulldown component
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 23:15:04 +02:00
Christophe Gisquet
1086f09da3 dv: more precise weight table for 8x8
It is derived from the actual equations of the specs. In
particular, it is closer to the inverse of what the encoder uses.

fate tests accordingly updated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 19:01:45 +02:00
Michael Niedermayer
99c26805e9 Merge commit 'c2c22c75cf89e2faab34d1ee1d392cfb065439ea'
* commit 'c2c22c75cf89e2faab34d1ee1d392cfb065439ea':
  movenc: Write tfdt atoms

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 22:03:51 +02:00
Michael Niedermayer
64d029de41 avformat/matroskaenc: fix MAX_CUEPOINT_SIZE calculation
Fixes assertion failure
Fixes Ticket3822

as a side-effect this makes some mkv files a few bytes smaller

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-09 05:05:09 +02:00
Peter B
0f70131089 fate: Add test for wav Peak Envelope Chunk encoder (levl chunk).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-18 19:38:54 +02:00
Michael Niedermayer
ac293b6685 Merge commit '194be1f43ea391eb986732707435176e579265aa'
* commit '194be1f43ea391eb986732707435176e579265aa':
  lavf: switch to AVStream.time_base as the hint for the muxer timebase

Conflicts:
	doc/APIchanges
	libavformat/filmstripenc.c
	libavformat/movenc.c
	libavformat/mxfenc.c
	libavformat/oggenc.c
	libavformat/swf.h
	libavformat/version.h
	tests/ref/lavf/mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 19:49:17 +02:00
Anton Khirnov
194be1f43e lavf: switch to AVStream.time_base as the hint for the muxer timebase
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.

The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
2014-06-18 15:12:34 +02:00
Anton Khirnov
894682a973 Remove avserver.
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
2014-06-18 14:55:28 +02:00
Josh Allmann
74bc945805 flvenc: Don't over-count metadata.
Over-counting occurs if framerate is not set.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-17 21:38:21 +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
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
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
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
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
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
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
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
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
Michael Niedermayer
c486cfab79 avcodec/imgconvert: fix nb_components and depth for PAL8 in get_pix_fmt_score()
This causes us to favor RGB8 over PAL8 when FF_LOSS_COLORQUANT is used

It probably makes sense to reinvestigate the exact scoring of pal8 when
our pal8 support improves to be supperior to rgb8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-10 19:58:14 +02:00
Marton Balint
a0cf87780d mpeg12enc: always set closed gop flag on the first gop
Improves compatibility with XDCAM HD formats. It has been set for a long time
in ffmbc.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-04-01 20:52:37 +02:00
Marton Balint
51c61e64cb mpeg12enc: always write closed gops for intra only outputs
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-04-01 20:52:09 +02:00
Peter Ross
31ac3f306c avformat/wtvenc: pad judiciously when writing mpeg2 extradata
Padding rule described here http://msdn.microsoft.com/en-us/library/windows/desktop/dd390707(v=vs.85).aspx

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 06:22:54 +02:00
Carl Eugen Hoyos
37c07d4529 swscale/utils: Fix color range of gray16
Improves rgb -> gray16 conversion

Fixes Ticket3422

The pam and png output files look visually similar, in both cases the
dynamics increase to 0x0 -> 0xfffb.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 22:15:15 +01:00
Michael Niedermayer
a17ee4117d avformat/movenc: only ommit encoder tag of the metadata for bitexact mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:26:35 +01:00
Michael Niedermayer
717ec57c7e avformat/movenc: shift positive timestamps to 0 if edit lists cannot be used
Fix handling of timestamps which start  far away from 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-22 22:39:50 +01:00
Peter Ross
6da21c1f81 wtvenc: populate VIDEOINFOHEADER2
Fixes ticket #2835.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-23 15:55:54 +01:00
Michael Niedermayer
95666b2298 avcodec/imgconvert/get_color_type: fix type for PAL8
Fixes Ticket3008

Fate changes as PAL8 gets used instead of BGR8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-02 19:59:10 +02:00
Michael Niedermayer
341dc59053 Merge commit 'f1eac2b8a0370b908cd691086d11f51342054730'
* commit 'f1eac2b8a0370b908cd691086d11f51342054730':
  movenc: Use keyframes as default fragmentation point in ismv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 13:09:53 +02:00
James Almer
56f17407bc matroska: Add the CueDuration element
Use it only on subtitle CuePoints.
With proper demuxer/splitter support this should improve the display
of subtitles right after seeking to a given point in the stream.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 14:33:01 +02:00
James Almer
ea70e2f2d7 matroskaenc: Write muxingapp and writingapp elements when using bitexact flag
Files won't validate with mkvalidtor if these two elements are missing.
Use a const "Lavf" string that wont change with library version bumps.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 23:06:59 +02:00
James Almer
d59213b5d3 matroskaenc: Bump DocTypeVersion to 4
The muxer has been creating files with v4 elements for some time now,
and especially now that we can mux non-experimental Opus files, reporting
the DocTypeVersion as 2 is not correct.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 02:08:15 +02:00
John Stebbins
f812eeda17 matroskaenc: Fix writing TRACKDEFAULTFLAG
The element was only being written when the value == 1.  But the default
value of this element is 1, so this has no useful effect.  This element
needs to be written when the value == 0.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-27 14:00:31 +02:00
Michael Niedermayer
800ea20cad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Make tkhd "enabled" flag QuickTime compatible

Conflicts:
	libavformat/movenc.c
	tests/ref/acodec/alac
	tests/ref/acodec/pcm-s16be
	tests/ref/acodec/pcm-s24be
	tests/ref/acodec/pcm-s32be
	tests/ref/acodec/pcm-s8
	tests/ref/lavf/mov
	tests/ref/vsynth/vsynth1-dnxhd-1080i
	tests/ref/vsynth/vsynth1-mpeg4
	tests/ref/vsynth/vsynth1-prores
	tests/ref/vsynth/vsynth1-qtrle
	tests/ref/vsynth/vsynth1-svq1
	tests/ref/vsynth/vsynth2-dnxhd-1080i
	tests/ref/vsynth/vsynth2-mpeg4
	tests/ref/vsynth/vsynth2-prores
	tests/ref/vsynth/vsynth2-qtrle
	tests/ref/vsynth/vsynth2-svq1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 13:49:24 +02:00
John Stebbins
30ce289074 movenc: Make tkhd "enabled" flag QuickTime compatible
QuickTime will play multiple audio tracks concurrently if this flag is
set for multiple audio tracks.  And if no subtitle track has this flag
set, QuickTime will show no subtitles in the subtitle menu.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-23 09:55:42 +02:00
Nicolas George
dd9555e94b ffmpeg: remove obsolete workaround in trim insertion.
The bug it was working seems to have been fixed.
This change causes ffmpeg to use the trim filter to implement
the -t option.
FATE tests are updated due to the more accurate handling of
the last packets.
2013-08-07 16:20:41 +02:00
Reuben Martin
4a60df2d35 avformat/gxfenc: Added support for writing correct auxiliary data for DV streams.
Different aux data is written for DVCAM and DVPRO formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 22:01:12 +02:00
Bernie Habermeier
c5f3cc40e3 matroskaenc: implement CueRelativePosition
This is a minimal change to matroskaenc that implements CueRelativePosition in the output.
Most players will probably ignore this additional information, but it is in the
matroska spec, and it'd be nice to be able to make use of it.

Signed-off-by: Bernt Habermeier <bernt@wulfram.com>
Tested-by:  wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 14:08:52 +02:00
James Almer
088ed53146 lavf/matroskaenc: Check for valid metadata before creating tags
Tags must have at least one SimpleTag element to be spec conformant.
Updated lavf-mkv and seek-lavf-mkv FATE references as the tests were affected by
this.

Fixes ticket #2785

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 12:18:27 +02:00
Michael Niedermayer
1ba01d3d46 swscale: treat gray as a fullrage (0-255) format
Fixes Ticket2684

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 15:21:48 +02:00
Carl Eugen Hoyos
d5978c8678 Add unscaled converter from GBRP > 8bit to RGBx48/64.
Fixes ticket #2633.

Tested-by: Michael Cinquin
2013-06-06 23:57:50 +02:00
Michael Niedermayer
5918b7ac41 sws/output: init A1/A2 so that rgba64 ends with 0xffff in the absence of alpha input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 01:20:30 +02:00
Jeremy Hinegardner
28e6b7b9b4 Turn off usage of base_data_offset in tfhd for PIFF files
According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by ffmpeg state
that they are 'piff' compatible via 'ftyp' box, this needs to be corrected.

[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:04:45 +02:00
Luca Barbato
7cbc4cb442 fate: update the mmf reference
Using Optional Data chunk introduced changes the hash.
2013-05-14 18:50:27 +02:00
Paul B Mahol
c0a30dd2e4 fate: increase coverage for dpx encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 22:04:40 +00:00
Paul B Mahol
ae9ef151ad dpxenc: simplifiy code using AVPixFmtDescriptor
Update rgb24 fate test as it no longer writes image in big endian
format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 21:56:29 +00:00
Anton Khirnov
a83c0da539 avconv: make -t insert trim/atrim filters.
This makes -t sample-accurate for audio and will allow further
simplication in the future.

Most of the FATE changes are due to audio now being sample accurate. In
some cases a video frame was incorrectly passed with the old code, while
its was over the limit.
2013-04-30 11:53:12 +02:00
Michael Niedermayer
eba33396f0 avformat/mux: set avoid_negative_ts based on flags if not overridden by user or muxer
This changes the default to avoid negative timestamps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Luca Barbato
c2cb01d418 lavf: introduce AVFMT_TS_NEGATIVE
Most formats do not support negative timestamps, shift them to avoid
unexpected behaviour and a number of bad crashes.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-25 10:13:27 +02:00
Clément Bœsch
a7c5b7a676 lavf/gif: correct the delay after the first frame.
To define accurately the delay between two frames, it is necessary to
have both available. Before this commit, the first frame had a delay of
0; while in practice the problem is not visible in most situation, it is
problematic with low frame rate and large scene change.

This commit notably fixes output generated with commands such as:

  ffmpeg -i big_buck_bunny_1080p_h264.mov
     -vf "select='gt(scene,0.4)',scale=320:-1,setpts=N/TB"
     -frames:v 5 -y out.gif

Also, to avoid odd loop delays, the N-1 delay is duplicated for the last
frame.
2013-04-19 12:02:19 +02:00
Clément Bœsch
7e57adb464 lavf/gif: fix timing.
pkt->duration can not be used since the values are only based on frame
rate.
2013-04-19 02:15:57 +02:00
Clément Bœsch
3d786591b8 fate/gif: create meaningful gif encoding tests. 2013-04-19 02:05:01 +02:00
Clément Bœsch
32cc7ba8a7 fate: hot fix for gif failure. 2013-04-18 01:41:23 +02:00
Clément Bœsch
635389ccfa Cleanse GIF muxer and encoder.
This commit removes the badly duplicated code between the encoder and
the muxer. That may sound surprising, but the encoder is now responsible
from the encoding of the picture when muxing to a .gif file. It also
does not require anymore a manual user intervention such as a -pix_fmt
rgb24 to work properly. To summarize, output gif are now easier to
generate, code is saner and simpler, and files are smaller (thanks to
the lzw encoding which was unused so far with the default .gif output).
We can certainly make things even better, but this is the first step.

FATE is updated because of the output being produced by the encoder and
not the muxer (no lzw in the muxer), and in the seek test only the size
mismatches.

Fixes Ticket #2262
2013-04-18 00:24:25 +02:00
ArnoB
361319d0f4 dpxenc: fix data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 21:09:36 +01:00
Michael Niedermayer
405cc0d905 movenc: hotfix, dont store fiel for h264 / mpeg4-asp / dnxhd
Other software does not store it in this case, and the information
is provided by the codec stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 17:48:08 +01:00
Carl Eugen Hoyos
7d0e3b197c Write the fiel atom to mov files independently of the used video coded.
The QuickTime specification does not contain any hint that the atom
must not be written in some cases and both the QuickTime and the
AVID decoders do not fail if the atom is present.

This change allows to signal (visually) interlaced streams with
a codec different from uncompressed video.

As a side-effect, this fixes ticket #2202
2013-02-14 15:08:37 +01:00
Michael Niedermayer
02001a372d sws: add planar RGB formats to isAnyRGB
We have to make some symetric changes elsewhere as this increases
the precission with which samples are stored.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-26 20:40:44 +01:00
Nicolas George
5361f4958f fate: add an attachment to the Matroska test. 2013-01-26 11:33:09 +01:00
Paul B Mahol
9e2387a6a9 fate: upate after 55d32eed8f
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-08 18:47:09 +00:00
Carl Eugen Hoyos
1a34103f0f mmf.c: Use LIBAVFORMAT_IDENT when writing Yamaha SMAF version information. 2013-01-05 23:39:46 +01:00
内田佳久
7e5d4fa97d mmf.c: Do not write metadata into the SMAF Contents Info chunk. 2013-01-05 23:11:09 +01:00
Michael Niedermayer
fa11f36876 mpegpsenc: avoid shifting dts/pts
Only shift if needed to avoid negative scr when requested
or for dvd.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Alexander Strasser
ac25b31ede lswr: Improve default resampler's default parameters
After making some blind tests on a small collection of music
samples for home usage. It turned out that the default cutoff
was too low.

The impact of filter_size was not clearly distinguishable (the
results were on the edge) with the music samples but turned out
to be clearly audible in some synthetic samples.

Thanks to Daniel for helping out with the listening tests.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-01-04 16:47:57 +01:00
Paul B Mahol
48340bbb36 aiffenc: metadata support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-03 19:35:02 +00:00
Paul B Mahol
9a74282644 Sony Wave64 muxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-31 07:10:57 +00:00
Piotr Bandurski
9bbfcc2675 rmenc: write correct bytes per minute
improves playback of ac3 in RealPlayer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 16:08:10 +01:00
Paul B Mahol
4727611d48 ircamenc: 10l do not use avio_skip()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 13:46:35 +00:00
Paul B Mahol
880191637f IRCAM demuxer & muxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 13:01:22 +00:00
Paul B Mahol
18aaed6475 gifdec: do not handle timestamps
It is broken, and results will be messed up when seeking.

This also fix duration displayed for streams when using -c copy.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 15:21:24 +00:00
James Almer
b70251c0ad AST Muxer
Signed-off-by: James Almer <jamrial@gmail.com>
2012-12-04 11:25:46 +00:00
Vitaliy E Sugrobov
f83657fcf6 Add exception for "gif" in image2 probe() method.
Without this exception files with ".gif" extension by default
recognized as input suitable for image2 demuxer rather than gif.
In order to pass image through gif demuxer it was necessary
to use -f gif option.
This change affected 'make fate' test results because previously
image2 demuxer and gif decoder took only first frame of multiframe
test data, which is no longer true with gif demuxer.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:35:11 +00:00
Carl Eugen Hoyos
df651cf42e Add an annotation field as required by the specification when muxing Sun AU.
Reviewed-by: Paul B Mahol
2012-11-24 10:43:11 +01:00
Matthieu Bouron
83cab07a4c mxfdec: set audio packets pts
Also fix playback of ntsc files.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 14:12:37 +01:00
Peter Ross
a373f35272 wtvenc: produce seekable files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:59:03 +01:00
Peter Ross
3e65134326 wtvenc: output third video pts in timestamp chunk (this is what Microsoft Windows Media Center expects)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:45:01 +01:00
Peter Ross
b50759cd6b wtvenc: do not emit stream2 and DSATTRIB_TRANSPORT_PROPERTY chunks; these are not required for playback
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:42:01 +01:00
Paul B Mahol
c99564492c fate: add more pix_fmt tests for xwd
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 22:31:24 +00:00
Michael Niedermayer
9829ec1a9c ffm: redesign header format to make it extensible
Currently FFM files generated with one versions of ffmpeg generally
cannot be read by another.
By spliting data into chunks, more fields can saftely be appended to
chunks as well as new chunks added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 16:36:44 +01:00