Mercurial > libavformat.hg
comparison raw.c @ 6425:61cc005602fc libavformat
move id roq muxer to its own file
author | aurel |
---|---|
date | Sun, 29 Aug 2010 16:35:44 +0000 |
parents | 6a8fc2ab012c |
children | f53a4103bec4 |
comparison
equal
deleted
inserted
replaced
6424:6a8fc2ab012c | 6425:61cc005602fc |
---|---|
29 #include "id3v2.h" | 29 #include "id3v2.h" |
30 #include "id3v1.h" | 30 #include "id3v1.h" |
31 | 31 |
32 /* simple formats */ | 32 /* simple formats */ |
33 | 33 |
34 #if CONFIG_ROQ_MUXER | |
35 static int roq_write_header(struct AVFormatContext *s) | |
36 { | |
37 static const uint8_t header[] = { | |
38 0x84, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x00 | |
39 }; | |
40 | |
41 put_buffer(s->pb, header, 8); | |
42 put_flush_packet(s->pb); | |
43 | |
44 return 0; | |
45 } | |
46 #endif | |
47 | |
48 #if CONFIG_NULL_MUXER | 34 #if CONFIG_NULL_MUXER |
49 static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt) | 35 static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt) |
50 { | 36 { |
51 return 0; | 37 return 0; |
52 } | 38 } |
53 #endif | 39 #endif |
54 | 40 |
55 #if CONFIG_MUXERS | 41 #if CONFIG_MUXERS |
56 static int raw_write_packet(struct AVFormatContext *s, AVPacket *pkt) | 42 int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt) |
57 { | 43 { |
58 put_buffer(s->pb, pkt->data, pkt->size); | 44 put_buffer(s->pb, pkt->data, pkt->size); |
59 put_flush_packet(s->pb); | 45 put_flush_packet(s->pb); |
60 return 0; | 46 return 0; |
61 } | 47 } |
686 "ac3", | 672 "ac3", |
687 0, | 673 0, |
688 CODEC_ID_AC3, | 674 CODEC_ID_AC3, |
689 CODEC_ID_NONE, | 675 CODEC_ID_NONE, |
690 NULL, | 676 NULL, |
691 raw_write_packet, | 677 ff_raw_write_packet, |
692 .flags= AVFMT_NOTIMESTAMPS, | 678 .flags= AVFMT_NOTIMESTAMPS, |
693 }; | 679 }; |
694 #endif | 680 #endif |
695 | 681 |
696 #if CONFIG_DIRAC_DEMUXER | 682 #if CONFIG_DIRAC_DEMUXER |
714 "drc", | 700 "drc", |
715 0, | 701 0, |
716 CODEC_ID_NONE, | 702 CODEC_ID_NONE, |
717 CODEC_ID_DIRAC, | 703 CODEC_ID_DIRAC, |
718 NULL, | 704 NULL, |
719 raw_write_packet, | 705 ff_raw_write_packet, |
720 .flags= AVFMT_NOTIMESTAMPS, | 706 .flags= AVFMT_NOTIMESTAMPS, |
721 }; | 707 }; |
722 #endif | 708 #endif |
723 | 709 |
724 #if CONFIG_DNXHD_DEMUXER | 710 #if CONFIG_DNXHD_DEMUXER |
742 "dnxhd", | 728 "dnxhd", |
743 0, | 729 0, |
744 CODEC_ID_NONE, | 730 CODEC_ID_NONE, |
745 CODEC_ID_DNXHD, | 731 CODEC_ID_DNXHD, |
746 NULL, | 732 NULL, |
747 raw_write_packet, | 733 ff_raw_write_packet, |
748 .flags= AVFMT_NOTIMESTAMPS, | 734 .flags= AVFMT_NOTIMESTAMPS, |
749 }; | 735 }; |
750 #endif | 736 #endif |
751 | 737 |
752 #if CONFIG_DTS_DEMUXER | 738 #if CONFIG_DTS_DEMUXER |
771 "dts", | 757 "dts", |
772 0, | 758 0, |
773 CODEC_ID_DTS, | 759 CODEC_ID_DTS, |
774 CODEC_ID_NONE, | 760 CODEC_ID_NONE, |
775 NULL, | 761 NULL, |
776 raw_write_packet, | 762 ff_raw_write_packet, |
777 .flags= AVFMT_NOTIMESTAMPS, | 763 .flags= AVFMT_NOTIMESTAMPS, |
778 }; | 764 }; |
779 #endif | 765 #endif |
780 | 766 |
781 #if CONFIG_EAC3_DEMUXER | 767 #if CONFIG_EAC3_DEMUXER |
800 "eac3", | 786 "eac3", |
801 0, | 787 0, |
802 CODEC_ID_EAC3, | 788 CODEC_ID_EAC3, |
803 CODEC_ID_NONE, | 789 CODEC_ID_NONE, |
804 NULL, | 790 NULL, |
805 raw_write_packet, | 791 ff_raw_write_packet, |
806 .flags= AVFMT_NOTIMESTAMPS, | 792 .flags= AVFMT_NOTIMESTAMPS, |
807 }; | 793 }; |
808 #endif | 794 #endif |
809 | 795 |
810 #if CONFIG_GSM_DEMUXER | 796 #if CONFIG_GSM_DEMUXER |
843 "h261", | 829 "h261", |
844 0, | 830 0, |
845 CODEC_ID_NONE, | 831 CODEC_ID_NONE, |
846 CODEC_ID_H261, | 832 CODEC_ID_H261, |
847 NULL, | 833 NULL, |
848 raw_write_packet, | 834 ff_raw_write_packet, |
849 .flags= AVFMT_NOTIMESTAMPS, | 835 .flags= AVFMT_NOTIMESTAMPS, |
850 }; | 836 }; |
851 #endif | 837 #endif |
852 | 838 |
853 #if CONFIG_H263_DEMUXER | 839 #if CONFIG_H263_DEMUXER |
872 "h263", | 858 "h263", |
873 0, | 859 0, |
874 CODEC_ID_NONE, | 860 CODEC_ID_NONE, |
875 CODEC_ID_H263, | 861 CODEC_ID_H263, |
876 NULL, | 862 NULL, |
877 raw_write_packet, | 863 ff_raw_write_packet, |
878 .flags= AVFMT_NOTIMESTAMPS, | 864 .flags= AVFMT_NOTIMESTAMPS, |
879 }; | 865 }; |
880 #endif | 866 #endif |
881 | 867 |
882 #if CONFIG_H264_DEMUXER | 868 #if CONFIG_H264_DEMUXER |
901 "h264", | 887 "h264", |
902 0, | 888 0, |
903 CODEC_ID_NONE, | 889 CODEC_ID_NONE, |
904 CODEC_ID_H264, | 890 CODEC_ID_H264, |
905 NULL, | 891 NULL, |
906 raw_write_packet, | 892 ff_raw_write_packet, |
907 .flags= AVFMT_NOTIMESTAMPS, | 893 .flags= AVFMT_NOTIMESTAMPS, |
908 }; | 894 }; |
909 #endif | 895 #endif |
910 | 896 |
911 #if CONFIG_CAVSVIDEO_MUXER | 897 #if CONFIG_CAVSVIDEO_MUXER |
916 "cavs", | 902 "cavs", |
917 0, | 903 0, |
918 CODEC_ID_NONE, | 904 CODEC_ID_NONE, |
919 CODEC_ID_CAVS, | 905 CODEC_ID_CAVS, |
920 NULL, | 906 NULL, |
921 raw_write_packet, | 907 ff_raw_write_packet, |
922 .flags= AVFMT_NOTIMESTAMPS, | 908 .flags= AVFMT_NOTIMESTAMPS, |
923 }; | 909 }; |
924 #endif | 910 #endif |
925 | 911 |
926 #if CONFIG_INGENIENT_DEMUXER | 912 #if CONFIG_INGENIENT_DEMUXER |
959 "m4v", | 945 "m4v", |
960 0, | 946 0, |
961 CODEC_ID_NONE, | 947 CODEC_ID_NONE, |
962 CODEC_ID_MPEG4, | 948 CODEC_ID_MPEG4, |
963 NULL, | 949 NULL, |
964 raw_write_packet, | 950 ff_raw_write_packet, |
965 .flags= AVFMT_NOTIMESTAMPS, | 951 .flags= AVFMT_NOTIMESTAMPS, |
966 }; | 952 }; |
967 #endif | 953 #endif |
968 | 954 |
969 #if CONFIG_MJPEG_DEMUXER | 955 #if CONFIG_MJPEG_DEMUXER |
988 "mjpg,mjpeg", | 974 "mjpg,mjpeg", |
989 0, | 975 0, |
990 CODEC_ID_NONE, | 976 CODEC_ID_NONE, |
991 CODEC_ID_MJPEG, | 977 CODEC_ID_MJPEG, |
992 NULL, | 978 NULL, |
993 raw_write_packet, | 979 ff_raw_write_packet, |
994 .flags= AVFMT_NOTIMESTAMPS, | 980 .flags= AVFMT_NOTIMESTAMPS, |
995 }; | 981 }; |
996 #endif | 982 #endif |
997 | 983 |
998 #if CONFIG_MLP_DEMUXER | 984 #if CONFIG_MLP_DEMUXER |
1017 "mlp", | 1003 "mlp", |
1018 0, | 1004 0, |
1019 CODEC_ID_MLP, | 1005 CODEC_ID_MLP, |
1020 CODEC_ID_NONE, | 1006 CODEC_ID_NONE, |
1021 NULL, | 1007 NULL, |
1022 raw_write_packet, | 1008 ff_raw_write_packet, |
1023 .flags= AVFMT_NOTIMESTAMPS, | 1009 .flags= AVFMT_NOTIMESTAMPS, |
1024 }; | 1010 }; |
1025 #endif | 1011 #endif |
1026 | 1012 |
1027 #if CONFIG_SRT_MUXER | 1013 #if CONFIG_SRT_MUXER |
1028 AVOutputFormat srt_muxer = { | 1014 AVOutputFormat srt_muxer = { |
1029 .name = "srt", | 1015 .name = "srt", |
1030 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"), | 1016 .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"), |
1031 .mime_type = "application/x-subrip", | 1017 .mime_type = "application/x-subrip", |
1032 .extensions = "srt", | 1018 .extensions = "srt", |
1033 .write_packet = raw_write_packet, | 1019 .write_packet = ff_raw_write_packet, |
1034 .flags = AVFMT_NOTIMESTAMPS, | 1020 .flags = AVFMT_NOTIMESTAMPS, |
1035 .subtitle_codec = CODEC_ID_SRT, | 1021 .subtitle_codec = CODEC_ID_SRT, |
1036 }; | 1022 }; |
1037 #endif | 1023 #endif |
1038 | 1024 |
1058 "thd", | 1044 "thd", |
1059 0, | 1045 0, |
1060 CODEC_ID_TRUEHD, | 1046 CODEC_ID_TRUEHD, |
1061 CODEC_ID_NONE, | 1047 CODEC_ID_NONE, |
1062 NULL, | 1048 NULL, |
1063 raw_write_packet, | 1049 ff_raw_write_packet, |
1064 .flags= AVFMT_NOTIMESTAMPS, | 1050 .flags= AVFMT_NOTIMESTAMPS, |
1065 }; | 1051 }; |
1066 #endif | 1052 #endif |
1067 | 1053 |
1068 #if CONFIG_MPEG1VIDEO_MUXER | 1054 #if CONFIG_MPEG1VIDEO_MUXER |
1073 "mpg,mpeg,m1v", | 1059 "mpg,mpeg,m1v", |
1074 0, | 1060 0, |
1075 CODEC_ID_NONE, | 1061 CODEC_ID_NONE, |
1076 CODEC_ID_MPEG1VIDEO, | 1062 CODEC_ID_MPEG1VIDEO, |
1077 NULL, | 1063 NULL, |
1078 raw_write_packet, | 1064 ff_raw_write_packet, |
1079 .flags= AVFMT_NOTIMESTAMPS, | 1065 .flags= AVFMT_NOTIMESTAMPS, |
1080 }; | 1066 }; |
1081 #endif | 1067 #endif |
1082 | 1068 |
1083 #if CONFIG_MPEG2VIDEO_MUXER | 1069 #if CONFIG_MPEG2VIDEO_MUXER |
1088 "m2v", | 1074 "m2v", |
1089 0, | 1075 0, |
1090 CODEC_ID_NONE, | 1076 CODEC_ID_NONE, |
1091 CODEC_ID_MPEG2VIDEO, | 1077 CODEC_ID_MPEG2VIDEO, |
1092 NULL, | 1078 NULL, |
1093 raw_write_packet, | 1079 ff_raw_write_packet, |
1094 .flags= AVFMT_NOTIMESTAMPS, | 1080 .flags= AVFMT_NOTIMESTAMPS, |
1095 }; | 1081 }; |
1096 #endif | 1082 #endif |
1097 | 1083 |
1098 #if CONFIG_MPEGVIDEO_DEMUXER | 1084 #if CONFIG_MPEGVIDEO_DEMUXER |
1162 "yuv,rgb", | 1148 "yuv,rgb", |
1163 0, | 1149 0, |
1164 CODEC_ID_NONE, | 1150 CODEC_ID_NONE, |
1165 CODEC_ID_RAWVIDEO, | 1151 CODEC_ID_RAWVIDEO, |
1166 NULL, | 1152 NULL, |
1167 raw_write_packet, | 1153 ff_raw_write_packet, |
1168 .flags= AVFMT_NOTIMESTAMPS, | 1154 .flags= AVFMT_NOTIMESTAMPS, |
1169 }; | |
1170 #endif | |
1171 | |
1172 #if CONFIG_ROQ_MUXER | |
1173 AVOutputFormat roq_muxer = | |
1174 { | |
1175 "RoQ", | |
1176 NULL_IF_CONFIG_SMALL("raw id RoQ format"), | |
1177 NULL, | |
1178 "roq", | |
1179 0, | |
1180 CODEC_ID_ROQ_DPCM, | |
1181 CODEC_ID_ROQ, | |
1182 roq_write_header, | |
1183 raw_write_packet, | |
1184 }; | 1155 }; |
1185 #endif | 1156 #endif |
1186 | 1157 |
1187 #if CONFIG_SHORTEN_DEMUXER | 1158 #if CONFIG_SHORTEN_DEMUXER |
1188 AVInputFormat shorten_demuxer = { | 1159 AVInputFormat shorten_demuxer = { |
1236 ext,\ | 1207 ext,\ |
1237 0,\ | 1208 0,\ |
1238 codec,\ | 1209 codec,\ |
1239 CODEC_ID_NONE,\ | 1210 CODEC_ID_NONE,\ |
1240 NULL,\ | 1211 NULL,\ |
1241 raw_write_packet,\ | 1212 ff_raw_write_packet,\ |
1242 .flags= AVFMT_NOTIMESTAMPS,\ | 1213 .flags= AVFMT_NOTIMESTAMPS,\ |
1243 }; | 1214 }; |
1244 | 1215 |
1245 | 1216 |
1246 #if !CONFIG_MUXERS && CONFIG_DEMUXERS | 1217 #if !CONFIG_MUXERS && CONFIG_DEMUXERS |