@ -6488,6 +6488,41 @@ static int mov_check_bitstream(struct AVFormatContext *s, const AVPacket *pkt)
return ret ;
}
const AVCodecTag codec_mp4_tags [ ] = {
{ AV_CODEC_ID_MPEG4 , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_H264 , MKTAG ( ' a ' , ' v ' , ' c ' , ' 1 ' ) } ,
{ AV_CODEC_ID_HEVC , MKTAG ( ' h ' , ' e ' , ' v ' , ' 1 ' ) } ,
{ AV_CODEC_ID_MPEG2VIDEO , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_MPEG1VIDEO , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_MJPEG , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_PNG , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_JPEG2000 , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_VC1 , MKTAG ( ' v ' , ' c ' , ' - ' , ' 1 ' ) } ,
{ AV_CODEC_ID_DIRAC , MKTAG ( ' d ' , ' r ' , ' a ' , ' c ' ) } ,
{ AV_CODEC_ID_TSCC2 , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' v ' ) } ,
{ AV_CODEC_ID_VP9 , MKTAG ( ' v ' , ' p ' , ' 0 ' , ' 9 ' ) } ,
{ AV_CODEC_ID_AAC , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_MP4ALS , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_MP3 , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_MP2 , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_AC3 , MKTAG ( ' a ' , ' c ' , ' - ' , ' 3 ' ) } ,
{ AV_CODEC_ID_EAC3 , MKTAG ( ' e ' , ' c ' , ' - ' , ' 3 ' ) } ,
{ AV_CODEC_ID_DTS , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_FLAC , MKTAG ( ' f ' , ' L ' , ' a ' , ' C ' ) } ,
{ AV_CODEC_ID_OPUS , MKTAG ( ' O ' , ' p ' , ' u ' , ' s ' ) } ,
{ AV_CODEC_ID_VORBIS , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_QCELP , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_EVRC , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' a ' ) } ,
{ AV_CODEC_ID_DVD_SUBTITLE , MKTAG ( ' m ' , ' p ' , ' 4 ' , ' s ' ) } ,
{ AV_CODEC_ID_MOV_TEXT , MKTAG ( ' t ' , ' x ' , ' 3 ' , ' g ' ) } ,
{ AV_CODEC_ID_NONE , 0 } ,
} ;
const AVCodecTag codec_ism_tags [ ] = {
{ AV_CODEC_ID_WMAPRO , MKTAG ( ' w ' , ' m ' , ' a ' , ' ' ) } ,
{ AV_CODEC_ID_NONE , 0 } ,
} ;
# if CONFIG_MOV_MUXER
MOV_CLASS ( mov )
AVOutputFormat ff_mov_muxer = {
@ -6548,7 +6583,7 @@ AVOutputFormat ff_mp4_muxer = {
. write_trailer = mov_write_trailer ,
. deinit = mov_free ,
. flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE ,
. codec_tag = ( const AVCodecTag * const [ ] ) { ff_mp4_obj_type , 0 } ,
. codec_tag = ( const AVCodecTag * const [ ] ) { codec_mp4_tags , 0 } ,
. check_bitstream = mov_check_bitstream ,
. priv_class = & mp4_muxer_class ,
} ;
@ -6569,7 +6604,7 @@ AVOutputFormat ff_psp_muxer = {
. write_trailer = mov_write_trailer ,
. deinit = mov_free ,
. flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE ,
. codec_tag = ( const AVCodecTag * const [ ] ) { ff_mp4_obj_type , 0 } ,
. codec_tag = ( const AVCodecTag * const [ ] ) { codec_mp4_tags , 0 } ,
. check_bitstream = mov_check_bitstream ,
. priv_class = & psp_muxer_class ,
} ;
@ -6631,7 +6666,8 @@ AVOutputFormat ff_ismv_muxer = {
. write_trailer = mov_write_trailer ,
. deinit = mov_free ,
. flags = AVFMT_GLOBALHEADER | AVFMT_ALLOW_FLUSH | AVFMT_TS_NEGATIVE ,
. codec_tag = ( const AVCodecTag * const [ ] ) { ff_mp4_obj_type , 0 } ,
. codec_tag = ( const AVCodecTag * const [ ] ) {
codec_mp4_tags , codec_ism_tags , 0 } ,
. check_bitstream = mov_check_bitstream ,
. priv_class = & ismv_muxer_class ,
} ;