- p_rawdv->p_bih = (BITMAPINFOHEADER *) malloc( sizeof(BITMAPINFOHEADER) );
- if( !p_rawdv->p_bih )
- {
- msg_Err( p_input, "out of memory" );
- goto error;
- }
- p_rawdv->p_bih->biSize = sizeof(BITMAPINFOHEADER);
- p_rawdv->p_bih->biCompression = VLC_FOURCC( 'd','v','s','d' );
- p_rawdv->p_bih->biSize = 40;
- p_rawdv->p_bih->biWidth = 720;
- p_rawdv->p_bih->biHeight = dv_header.dsf ? 576 : 480;
- p_rawdv->p_bih->biPlanes = 1;
- p_rawdv->p_bih->biBitCount = 24;
- p_rawdv->p_bih->biSizeImage =
- p_rawdv->p_bih->biWidth * p_rawdv->p_bih->biHeight
- * (p_rawdv->p_bih->biBitCount >> 3);
-
- /* Properties of our video */
- if( dv_header.dsf )
- {
- p_rawdv->frame_size = 12 * 150 * 80;
- p_rawdv->f_rate = 25;
- }
- else
- {
- p_rawdv->frame_size = 10 * 150 * 80;
- p_rawdv->f_rate = 29.97;
- }
+ p_sys->i_dsf = dv_header.dsf;
+ p_sys->frame_size = dv_header.dsf ? DV_PAL_FRAME_SIZE
+ : DV_NTSC_FRAME_SIZE;
+ p_sys->f_rate = dv_header.dsf ? 25 : 29.97;