diff options
author | Tomas Härdin <tomas.hardin@codemill.se> | 2012-10-15 17:15:37 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-10-15 18:53:44 +0200 |
commit | 8cbb8f53575d40a26d5b1d065acb0a85bbb15e74 (patch) | |
tree | 8e005cf2efc46f38072b7db96aa9da33b9ae25b8 /libavcodec/dv.c | |
parent | 7b383bd9d71c361fab320a99dc09353d0074f565 (diff) | |
download | ffmpeg-8cbb8f53575d40a26d5b1d065acb0a85bbb15e74.tar.gz |
dv: Set FS flag from AVFrame.top_field_first
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/dv.c')
-rw-r--r-- | libavcodec/dv.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/dv.c b/libavcodec/dv.c index a7dfbdc1b2..5b4ad2337d 100644 --- a/libavcodec/dv.c +++ b/libavcodec/dv.c @@ -818,6 +818,7 @@ static inline int dv_write_pack(enum dv_pack_type pack_id, DVVideoContext *c, * compression scheme (if any). */ int apt = (c->sys->pix_fmt == AV_PIX_FMT_YUV420P ? 0 : 1); + int fs = c->picture.top_field_first ? 0x00 : 0x40; uint8_t aspect = 0; if ((int)(av_q2d(c->avctx->sample_aspect_ratio) * c->avctx->width / c->avctx->height * 10) >= 17) /* 16:9 */ @@ -856,7 +857,7 @@ static inline int dv_write_pack(enum dv_pack_type pack_id, DVVideoContext *c, buf[2] = 0xc8 | /* reserved -- always b11001xxx */ aspect; buf[3] = (1 << 7) | /* frame/field flag 1 -- frame, 0 -- field */ - (1 << 6) | /* first/second field flag 0 -- field 2, 1 -- field 1 */ + fs | /* first/second field flag 0 -- field 2, 1 -- field 1 */ (1 << 5) | /* frame change flag 0 -- same picture as before, 1 -- different */ (1 << 4) | /* 1 - interlaced, 0 - noninterlaced */ 0xc; /* reserved -- always b1100 */ |