summaryrefslogtreecommitdiff
path: root/libavcodec/dv.c
diff options
context:
space:
mode:
authorRoman Shaposhnik <roman@shaposhnik.org>2003-02-27 23:26:31 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-02-27 23:26:31 +0000
commit948c3a1397709350e094a2aa0b4695f9d0962147 (patch)
treef967bd8e67ac3ea8398064d34b655d0902bf0ccc /libavcodec/dv.c
parentcd58d0487cb6dbe8b4e0b7129c6defb27d29c97b (diff)
support for PAL 4:1:1 SMPTE 314M DV streams patch by (Roman Shaposhnick <rvs at sun dot com>)
Originally committed as revision 1612 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dv.c')
-rw-r--r--libavcodec/dv.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index 47ba8b631b..40bf5e4047 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -546,11 +546,13 @@ static int dvvideo_decode_frame(AVCodecContext *avctx,
if (buf_size < packet_size)
return -1;
- /* XXX: is it correct to assume that 420 is always used in PAL
- mode ? */
- s->sampling_411 = !dsf;
+ /* NTSC[dsf == 0] is always 720x480, 4:1:1
+ * PAL[dsf == 1] is always 720x576, 4:2:0 for IEC 68134[apt == 0]
+ * but for the SMPTE 314M[apt == 1] it is 720x576, 4:1:1
+ */
+ s->sampling_411 = !dsf || apt;
if (s->sampling_411) {
- mb_pos_ptr = dv_place_411;
+ mb_pos_ptr = dsf ? dv_place_411P : dv_place_411;
avctx->pix_fmt = PIX_FMT_YUV411P;
} else {
mb_pos_ptr = dv_place_420;