Commit Graph

715 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
0e70266bbf Write valid free atom when -moov_size is specified.
Fixes ticket #3769.
2014-07-18 23:11:11 +02:00
Michael Niedermayer
6821572499 avformat/movenc: dont mark multichannel as mono tracks as containing the center channel
Fixes Ticket3727

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 17:11:11 +02:00
Michael Niedermayer
375d7ee805 Merge commit 'df2aa22203afc9377832bdf800df5dbd3aa9687e'
* commit 'df2aa22203afc9377832bdf800df5dbd3aa9687e':
  mov: Clarify tkhd flag settings

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 13:07:26 +02:00
Michael Niedermayer
4c91599484 Merge commit 'f90729699db9ede2bef2b28000f1795dab1b8996'
* commit 'f90729699db9ede2bef2b28000f1795dab1b8996':
  mov: Do not group tracks if more than one is enabled per type

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-11 12:41:57 +02:00
Luca Barbato
df2aa22203 mov: Clarify tkhd flag settings 2014-07-11 11:07:35 +02:00
Luca Barbato
f90729699d mov: Do not group tracks if more than one is enabled per type
The specification requires at most 1 track enabled per alternate group.
2014-07-11 11:07:06 +02:00
Mark Boorer
352756ecae avformat/movenc: respect color_range when encoding dnxhd.
Set the ACLR atom appropriately for legal / full range.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-09 00:35:23 +02:00
Michael Niedermayer
5a4edf6f0d avformat/movenc: check that the video resolution is supported
Resolutions are stored as 16bit integers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 16:17:44 +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
Michael Niedermayer
7c3af60016 avformat/movenc: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:26:03 +02:00
Michael Niedermayer
a72df4dadc Merge commit 'cf6977712c9e5abe6dc55289f6322ccbf10321a9'
* commit 'cf6977712c9e5abe6dc55289f6322ccbf10321a9':
  movenc: write avg_frame_rate as the framerate, not the codec timebase

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 13:07:33 +02:00
Anton Khirnov
cf6977712c movenc: write avg_frame_rate as the framerate, not the codec timebase 2014-05-29 08:01:23 +02:00
Michael Niedermayer
744df0a031 avformat/movenc: Check that packet duration is valid in ff_mov_write_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 04:00:29 +02:00
Michael Niedermayer
5771efde87 Merge commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1'
* commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1':
  movenc: use the "encoder" metadata tag to write stsd Compressorname

Conflicts:
	libavformat/movenc.c
	libavformat/movenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 22:29:27 +02:00
Anton Khirnov
0ba5299a80 movenc: use the "encoder" metadata tag to write stsd Compressorname
This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.
2014-05-18 20:34:03 +02:00
Michael Niedermayer
eacf7d650d Merge commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52'
* commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52':
  lavf: add AVFMT_FLAG_BITEXACT.

Conflicts:
	doc/APIchanges
	libavformat/avformat.h
	libavformat/flacenc.c
	libavformat/movenc.c
	libavformat/oggenc.c
	libavformat/options_table.h
	libavformat/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-15 19:16:57 +02:00
Anton Khirnov
0c1959b056 lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.

Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
2014-05-15 07:42:07 +02:00
Michael Niedermayer
dc6b99d6b2 avformat/movenc: Check ff_put_wav_header() return code
Fixes CID1212260
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 03:51:49 +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
af165acefa avformat/movenc: dont store invalid tapt atom
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 21:51:34 +02:00
Michael Niedermayer
c9e0f7a080 Merge commit '99e22b7859177f6d3ed6121040924b337dce5497'
* commit '99e22b7859177f6d3ed6121040924b337dce5497':
  mov: Emit the correct tags for clcp tracks

Conflicts:
	libavformat/movenc.c

See: a5f6720f13
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 21:33:18 +02:00
Miles Gould
99e22b7859 mov: Emit the correct tags for clcp tracks
Bug-Id: 664

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 17:38:19 +02:00
Aidan Skinner
802385dbc2 mov: Write prof section of tapt tag
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 17:38:19 +02:00
Carl Eugen Hoyos
8b122937af Warn if rawvideo and an unreadable pix_fmt are written.
Print an error if a combination of rawvideo and an unusual pix_fmt
that will be impossible to decode are written to avi or mov.
Fixes ticket #3545.
2014-04-11 23:35:11 +02:00
Michael Niedermayer
45ba9d8545 Merge commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e'
* commit 'cba4e6062a02d5bf684e13a770be88aa1fec717e':
  More correct printf format specifiers

Conflicts:
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 02:54:09 +02:00
Diego Biurrun
cba4e6062a More correct printf format specifiers
This avoids compiler warnings about argument and specifier type mismatch.
2014-04-02 00:27:22 +02:00
Michael Niedermayer
9d013fe840 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov: Unbreak sbtl writing

Conflicts:
	libavformat/movenc.c

See: 8a9d0a1561
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 22:08:11 +02:00
Michael Niedermayer
f94371b1db mov: Unbreak sbtl writing 2014-03-31 19:31:41 +02:00
Michael Niedermayer
8a9d0a1561 avformat/movenc: fix if vs if else
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 15:38:20 +01:00
Michael Niedermayer
b8f5b0713e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Add dvd subtitle support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 15:04:56 +01:00
John Stebbins
6adf3bc42e movenc: Add dvd subtitle support
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-28 17:15:30 +01:00
Michael Niedermayer
802e5fc8f8 Merge commit '1e9db41e2a2166be5671b088ef4ad06a40af459f'
* commit '1e9db41e2a2166be5671b088ef4ad06a40af459f':
  movenc: Allow override of major brand in ftyp atom

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:22:20 +01:00
John Stebbins
1e9db41e2a movenc: Allow override of major brand in ftyp atom
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-03-23 00:31:54 +01:00
Michael Niedermayer
9b1d264e87 avformat/movenc: omit avformat ident from isml_manifest for bitexact mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:34:46 +01:00
Michael Niedermayer
10c14264db avformat/movenc: omit LIBAVCODEC_IDENT for bitexact mode from uuidusmt_tag
This code is apparently not tested by fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-16 16:33:34 +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
Peter Ross
ac9bfb1faf avformat/movenc: encode compilation metadata
Fixes ticket #2960.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 04:29:11 +01:00
Michael Niedermayer
72d44f1583 mvformat/movenc: fix IMX
fixes Ticket3351

Tested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-13 01:28:43 +01:00
Bryce McLeod
581957cd86 avformat/movenc: rescale when copying duration to timecode track
Fixes Ticket3453

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-12 12:52:27 +01:00
Carl Eugen Hoyos
d68ac92dc2 Replace an incorrect av_free() in movenc.c with av_freep(). 2014-03-10 13:30:51 +01:00
Michael Niedermayer
9563e67e07 Merge commit '4f3db5d3418a24f3b90422e98ad75388052c4284'
* commit '4f3db5d3418a24f3b90422e98ad75388052c4284':
  movenc: allow muxing HEVC in MODE_MP4.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:13:37 +01:00
Michael Niedermayer
a379813cee Merge commit 'b6c61fb83e876d404ac3b0b3657ebfcafdcd1926'
* commit 'b6c61fb83e876d404ac3b0b3657ebfcafdcd1926':
  movenc: enable Annex B to MP4 conversion for HEVC tracks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 23:08:33 +01:00
Michael Niedermayer
1b1d77ae9b Merge commit '20b40a597cdd4969cf1147d7c7efee2b6232524b'
* commit '20b40a597cdd4969cf1147d7c7efee2b6232524b':
  movenc: write hvcC tag for HEVC.

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 22:48:08 +01:00
Tim Walker
4f3db5d341 movenc: allow muxing HEVC in MODE_MP4. 2014-03-09 18:09:40 +01:00
Tim Walker
b6c61fb83e movenc: enable Annex B to MP4 conversion for HEVC tracks. 2014-03-09 18:09:40 +01:00
Tim Walker
20b40a597c movenc: write hvcC tag for HEVC. 2014-03-09 18:09:40 +01:00
Michael Niedermayer
9827f3db88 Merge commit '565e0c6d866ce08d4b06427456d3d1f4fd856e9c'
* commit '565e0c6d866ce08d4b06427456d3d1f4fd856e9c':
  movenc: allow override of "writing application" tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-09 01:50:17 +01:00
John Stebbins
565e0c6d86 movenc: allow override of "writing application" tag
Signed-off-by: Tim Walker <tdskywalker@gmail.com>

CC: libav-stable@libav.org
2014-03-08 18:59: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