]> git.sesse.net Git - ffmpeg/commitdiff
* Simplifying the setting of STYPE for AAUX AS
authorRoman Shaposhnik <roman@shaposhnik.org>
Mon, 16 Oct 2006 21:47:48 +0000 (21:47 +0000)
committerRoman Shaposhnik <roman@shaposhnik.org>
Mon, 16 Oct 2006 21:47:48 +0000 (21:47 +0000)
   * Fixing a bug in how SPEED was encoded for AAUX ASC

Originally committed as revision 6716 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/dvenc.c

index d4760e957af250b684bd40ae9dc788e1be775605..555514428cfd2a3bba0dd9fbeed1d7461c59ea2a 100644 (file)
@@ -72,10 +72,6 @@ static int dv_write_pack(enum dv_pack_type pack_id, DVMuxContext *c, uint8_t* bu
     time_t ct;
     int ltc_frame;
 
-    /* Its hard to tell what SMPTE requires w.r.t. APT, but Quicktime needs it.
-     * We set it based on pix_fmt value but it really should be per DV profile */
-    int apt = (c->sys->pix_fmt == PIX_FMT_YUV422P ? 1 : 0);
-
     buf[0] = (uint8_t)pack_id;
     switch (pack_id) {
     case dv_timecode:
@@ -115,7 +111,7 @@ static int dv_write_pack(enum dv_pack_type pack_id, DVMuxContext *c, uint8_t* bu
           buf[3] = (1 << 7) | /* res               */
                    (1 << 6) | /* multi-language flag */
                    (c->sys->dsf << 5) | /*  system: 60fields/50fields */
-                   (apt << 1);/* definition: 0 -- 25Mbps, 2 -- 50Mbps */
+                   (c->sys->n_difchan & 2); /* definition: 0 -- 25Mbps, 2 -- 50Mbps */
           buf[4] = (1 << 7) | /* emphasis: 1 -- off */
                    (0 << 6) | /* emphasis time constant: 0 -- reserved */
                    (0 << 3) | /* frequency: 0 -- 48Khz, 1 -- 44,1Khz, 2 -- 32Khz */
@@ -131,7 +127,8 @@ static int dv_write_pack(enum dv_pack_type pack_id, DVMuxContext *c, uint8_t* bu
                    (1 << 3) | /* recording mode: 1 -- original */
                     7;
           buf[3] = (1 << 7) | /* direction: 1 -- forward */
-                    0x20;     /* speed */
+                   (c->sys->pix_fmt == PIX_FMT_YUV420P ? 0x20 : /* speed */
+                                                         c->sys->ltc_divisor*4);
           buf[4] = (1 << 7) | /* reserved -- always 1 */
                     0x7f;     /* genre category */
           break;