if ( mov->mode == MODE_3GP || mov->mode == MODE_MP4 )
if ( mov->mode == MODE_3GP || mov->mode == MODE_MP4 || mov->mode == MODE_PSP )
static int mov_write_header(AVFormatContext *s){    ByteIOContext *pb = &s->pb;    MOVContext *mov = s->priv_data;    int i;    for(i=0; i<s->nb_streams; i++){        AVCodecContext *c= &s->streams[i]->codec;        if      (c->codec_type == CODEC_TYPE_VIDEO){            if (!codec_get_tag(codec_movvideo_tags, c->codec_id)){                if(!codec_get_tag(codec_bmp_tags, c->codec_id))                    return -1;                else                    av_log(s, AV_LOG_INFO, "Warning, using MS style video codec tag, the file may be unplayable!\n");            }        }else if(c->codec_type == CODEC_TYPE_AUDIO){            if (!codec_get_tag(codec_movaudio_tags, c->codec_id)){                if(!codec_get_tag(codec_wav_tags, c->codec_id))                    return -1;                else                    av_log(s, AV_LOG_INFO, "Warning, using MS style audio codec tag, the file may be unplayable!\n");            }        }    }    /* Default mode == MP4 */    mov->mode = MODE_MP4;    if (s->oformat != NULL) {        if (!strcmp("3gp", s->oformat->name)) mov->mode = MODE_3GP;        else if (!strcmp("mov", s->oformat->name)) mov->mode = MODE_MOV;        if ( mov->mode == MODE_3GP || mov->mode == MODE_MP4 )            mov_write_ftyp_tag(pb,s);    }    for (i=0; i<MAX_STREAMS; i++) {        mov->tracks[i].mode = mov->mode;    }    put_flush_packet(pb);    return 0;}