aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2013-02-14 15:08:37 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-02-14 15:43:15 +0100
commitec18baadfa17855987144115df4d0324f36ac8ad (patch)
treea2c1db8e0ebf5f6d01a16f9609e628f890e20324
parent2f98537ea0749665b8dd70c31b7dc68b8a685cd1 (diff)
downloadffmpeg-ec18baadfa17855987144115df4d0324f36ac8ad.tar.gz
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 (cherry picked from commit 7d0e3b197c817b307d599a23704a44763ed0bbdd) Conflicts: libavformat/movenc.c tests/ref/lavf/mov tests/ref/seek/lavf_mov tests/ref/vsynth/vsynth1-avui tests/ref/vsynth/vsynth1-dnxhd-1080i tests/ref/vsynth/vsynth1-mpeg4 tests/ref/vsynth/vsynth2-avui tests/ref/vsynth/vsynth2-dnxhd-1080i tests/ref/vsynth/vsynth2-mpeg4
-rw-r--r--libavformat/movenc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 752d52713a..9e345d5e40 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -1078,13 +1078,14 @@ static int mov_write_video_tag(AVIOContext *pb, MOVTrack *track)
mov_write_avcc_tag(pb, track);
if(track->mode == MODE_IPOD)
mov_write_uuid_tag_ipod(pb);
- } else if (track->enc->field_order != AV_FIELD_UNKNOWN)
- mov_write_fiel_tag(pb, track);
- else if (track->enc->codec_id == CODEC_ID_VC1 && track->vos_len > 0)
+ } else if (track->enc->codec_id == CODEC_ID_VC1 && track->vos_len > 0)
mov_write_dvc1_tag(pb, track);
else if (track->vos_len > 0)
mov_write_glbl_tag(pb, track);
+ if (track->enc->field_order != AV_FIELD_UNKNOWN)
+ mov_write_fiel_tag(pb, track);
+
if (track->enc->sample_aspect_ratio.den && track->enc->sample_aspect_ratio.num &&
track->enc->sample_aspect_ratio.den != track->enc->sample_aspect_ratio.num) {
mov_write_pasp_tag(pb, track);