]> git.sesse.net Git - vlc/commitdiff
* modules/demux/mp4/*, modules/mux/mp4.c: add support for yv12 and yuy2.
authorGildas Bazin <gbazin@videolan.org>
Thu, 19 Apr 2007 21:30:15 +0000 (21:30 +0000)
committerGildas Bazin <gbazin@videolan.org>
Thu, 19 Apr 2007 21:30:15 +0000 (21:30 +0000)
modules/demux/mp4/libmp4.c
modules/demux/mp4/libmp4.h
modules/demux/mp4/mp4.c
modules/mux/mp4.c

index ab57e652ae2e2e957faeea484ba25cd601c06c07..2e6977361fb064f2b1bdc79de4403f39d98b62d6 100644 (file)
@@ -2344,6 +2344,9 @@ static struct
     { FOURCC_jpeg,  MP4_ReadBox_sample_vide,    MP4_FreeBox_sample_vide },
     { FOURCC_avc1,  MP4_ReadBox_sample_vide,    MP4_FreeBox_sample_vide },
 
+    { FOURCC_yv12,  MP4_ReadBox_sample_vide,    MP4_FreeBox_sample_vide },
+    { FOURCC_yuv2,  MP4_ReadBox_sample_vide,    MP4_FreeBox_sample_vide },
+
     { FOURCC_mp4s,  MP4_ReadBox_sample_mp4s,    MP4_FreeBox_Common },
 
     /* XXX there is 2 box where we could find this entry stbl and tref*/
index 33f091fc5a0b1c448fcd2d8cc282465eace44027..950465b281567b0f67b7da8da26ebc71ef9e83be 100644 (file)
 
 #define FOURCC_jpeg VLC_FOURCC( 'j', 'p', 'e', 'g' )
 
+#define FOURCC_yv12 VLC_FOURCC( 'y', 'v', '1', '2' )
+#define FOURCC_yuv2 VLC_FOURCC( 'y', 'u', 'v', '2' )
 
 #define FOURCC_rmra VLC_FOURCC( 'r', 'm', 'r', 'a' )
 #define FOURCC_rmda VLC_FOURCC( 'r', 'm', 'd', 'a' )
index 18ca1cc2a843801b9d330f30ddee760ebbe7159e..9da662151482bcfaeff2a84b36e22406a62f2d39 100644 (file)
@@ -1298,6 +1298,13 @@ static int TrackCreateES( demux_t *p_demux, mp4_track_t *p_track,
             p_track->fmt.subs.psz_encoding = strdup( "UTF-8" );
             break;
 
+        case VLC_FOURCC('y','v','1','2'):
+            p_track->fmt.i_codec = VLC_FOURCC('Y','V','1','2');
+            break;
+        case VLC_FOURCC('y','u','v','2'):
+            p_track->fmt.i_codec = VLC_FOURCC('Y','U','Y','2');
+            break;
+
         default:
             p_track->fmt.i_codec = p_sample->i_type;
             break;
index 128522b2984a1e8117be3f6418678f8b85197a43..b693f14c1172785a444d349f40f1252edc37a2c6 100644 (file)
@@ -406,6 +406,8 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
         case VLC_FOURCC( 'h', '2', '6', '4' ):
         case VLC_FOURCC( 's', 'a', 'm', 'r' ):
         case VLC_FOURCC( 's', 'a', 'w', 'b' ):
+        case VLC_FOURCC( 'Y', 'V', '1', '2' ):
+        case VLC_FOURCC( 'Y', 'U', 'Y', '2' ):
             break;
         case VLC_FOURCC( 's', 'u', 'b', 't' ):
             msg_Warn( p_mux, "subtitle track added like in .mov (even when creating .mp4)" );
@@ -1214,6 +1216,14 @@ static bo_t *GetVideBox( sout_mux_t *p_mux, mp4_stream_t *p_stream )
         memcpy( fcc, "avc1", 4 );
         break;
 
+    case VLC_FOURCC('Y','V','1','2'):
+        memcpy( fcc, "yv12", 4 );
+        break;
+
+    case VLC_FOURCC('Y','U','Y','2'):
+        memcpy( fcc, "yuy2", 4 );
+        break;
+
     default:
         memcpy( fcc, (char*)&p_stream->fmt.i_codec, 4 );
         break;