comparison raw.c @ 3546:45c3d2b2b2fb libavformat

Alphabetically order AVInputFormat/AVOutputFormat declarations.
author diego
date Mon, 07 Jul 2008 11:11:08 +0000
parents 2949f7da8931
children 2adcaa7f6dff
comparison
equal deleted inserted replaced
3545:2949f7da8931 3546:45c3d2b2b2fb
54 put_flush_packet(s->pb); 54 put_flush_packet(s->pb);
55 55
56 return 0; 56 return 0;
57 } 57 }
58 58
59 static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt)
60 {
61 return 0;
62 }
63
59 static int raw_write_packet(struct AVFormatContext *s, AVPacket *pkt) 64 static int raw_write_packet(struct AVFormatContext *s, AVPacket *pkt)
60 { 65 {
61 put_buffer(s->pb, pkt->data, pkt->size); 66 put_buffer(s->pb, pkt->data, pkt->size);
62 put_flush_packet(s->pb); 67 put_flush_packet(s->pb);
63 return 0; 68 return 0;
150 } 155 }
151 pkt->size = ret; 156 pkt->size = ret;
152 return ret; 157 return ret;
153 } 158 }
154 159
160 static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
161 {
162 int packet_size, ret, width, height;
163 AVStream *st = s->streams[0];
164
165 width = st->codec->width;
166 height = st->codec->height;
167
168 packet_size = avpicture_get_size(st->codec->pix_fmt, width, height);
169 if (packet_size < 0)
170 return -1;
171
172 ret= av_get_packet(s->pb, pkt, packet_size);
173 pkt->pts=
174 pkt->dts= pkt->pos / packet_size;
175
176 pkt->stream_index = 0;
177 if (ret != packet_size) {
178 return AVERROR(EIO);
179 } else {
180 return 0;
181 }
182 }
183
155 // http://www.artificis.hu/files/texts/ingenient.txt 184 // http://www.artificis.hu/files/texts/ingenient.txt
156 static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt) 185 static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
157 { 186 {
158 int ret, size, w, h, unk1, unk2; 187 int ret, size, w, h, unk1, unk2;
159 188
425 } 454 }
426 455
427 456
428 /* Note: Do not forget to add new entries to the Makefile as well. */ 457 /* Note: Do not forget to add new entries to the Makefile as well. */
429 458
430 AVInputFormat shorten_demuxer = { 459 AVInputFormat aac_demuxer = {
431 "shn", 460 "aac",
432 NULL_IF_CONFIG_SMALL("raw Shorten"), 461 NULL_IF_CONFIG_SMALL("ADTS AAC"),
433 0, 462 0,
434 NULL, 463 NULL,
435 audio_read_header, 464 audio_read_header,
436 raw_read_partial_packet, 465 raw_read_partial_packet,
437 .flags= AVFMT_GENERIC_INDEX, 466 .flags= AVFMT_GENERIC_INDEX,
438 .extensions = "shn", 467 .extensions = "aac",
439 .value = CODEC_ID_SHORTEN, 468 .value = CODEC_ID_AAC,
440 }; 469 };
441 470
442 AVInputFormat mlp_demuxer = { 471 #ifdef CONFIG_AC3_DEMUXER
443 "mlp", 472 AVInputFormat ac3_demuxer = {
444 NULL_IF_CONFIG_SMALL("raw MLP"), 473 "ac3",
445 0, 474 NULL_IF_CONFIG_SMALL("raw AC-3"),
446 NULL, 475 0,
476 ac3_probe,
447 audio_read_header, 477 audio_read_header,
448 raw_read_partial_packet, 478 raw_read_partial_packet,
449 .flags= AVFMT_GENERIC_INDEX, 479 .flags= AVFMT_GENERIC_INDEX,
450 .extensions = "mlp", 480 .extensions = "ac3",
451 .value = CODEC_ID_MLP, 481 .value = CODEC_ID_AC3,
452 }; 482 };
483 #endif
484
485 #ifdef CONFIG_MUXERS
486 AVOutputFormat ac3_muxer = {
487 "ac3",
488 NULL_IF_CONFIG_SMALL("raw AC-3"),
489 "audio/x-ac3",
490 "ac3",
491 0,
492 CODEC_ID_AC3,
493 CODEC_ID_NONE,
494 NULL,
495 raw_write_packet,
496 .flags= AVFMT_NOTIMESTAMPS,
497 };
498 #endif //CONFIG_MUXERS
499
500 AVInputFormat dirac_demuxer = {
501 "dirac",
502 NULL_IF_CONFIG_SMALL("raw Dirac"),
503 0,
504 dirac_probe,
505 video_read_header,
506 raw_read_partial_packet,
507 .flags= AVFMT_GENERIC_INDEX,
508 .value = CODEC_ID_DIRAC,
509 };
510
511 #ifdef CONFIG_MUXERS
512 AVOutputFormat dirac_muxer = {
513 "dirac",
514 NULL_IF_CONFIG_SMALL("raw Dirac"),
515 NULL,
516 "drc",
517 0,
518 CODEC_ID_NONE,
519 CODEC_ID_DIRAC,
520 NULL,
521 raw_write_packet,
522 .flags= AVFMT_NOTIMESTAMPS,
523 };
524 #endif
525
526 AVInputFormat dts_demuxer = {
527 "dts",
528 NULL_IF_CONFIG_SMALL("raw DTS"),
529 0,
530 dts_probe,
531 audio_read_header,
532 raw_read_partial_packet,
533 .flags= AVFMT_GENERIC_INDEX,
534 .extensions = "dts",
535 .value = CODEC_ID_DTS,
536 };
537
538 #ifdef CONFIG_MUXERS
539 AVOutputFormat dts_muxer = {
540 "dts",
541 NULL_IF_CONFIG_SMALL("raw DTS"),
542 "audio/x-dca",
543 "dts",
544 0,
545 CODEC_ID_DTS,
546 CODEC_ID_NONE,
547 NULL,
548 raw_write_packet,
549 .flags= AVFMT_NOTIMESTAMPS,
550 };
551 #endif
453 552
454 AVInputFormat flac_demuxer = { 553 AVInputFormat flac_demuxer = {
455 "flac", 554 "flac",
456 NULL_IF_CONFIG_SMALL("raw FLAC"), 555 NULL_IF_CONFIG_SMALL("raw FLAC"),
457 0, 556 0,
476 raw_write_packet, 575 raw_write_packet,
477 .flags= AVFMT_NOTIMESTAMPS, 576 .flags= AVFMT_NOTIMESTAMPS,
478 }; 577 };
479 #endif //CONFIG_MUXERS 578 #endif //CONFIG_MUXERS
480 579
481 #ifdef CONFIG_AC3_DEMUXER
482 AVInputFormat ac3_demuxer = {
483 "ac3",
484 NULL_IF_CONFIG_SMALL("raw AC-3"),
485 0,
486 ac3_probe,
487 audio_read_header,
488 raw_read_partial_packet,
489 .flags= AVFMT_GENERIC_INDEX,
490 .extensions = "ac3",
491 .value = CODEC_ID_AC3,
492 };
493 #endif
494
495 #ifdef CONFIG_MUXERS
496 AVOutputFormat ac3_muxer = {
497 "ac3",
498 NULL_IF_CONFIG_SMALL("raw AC-3"),
499 "audio/x-ac3",
500 "ac3",
501 0,
502 CODEC_ID_AC3,
503 CODEC_ID_NONE,
504 NULL,
505 raw_write_packet,
506 .flags= AVFMT_NOTIMESTAMPS,
507 };
508
509 AVOutputFormat dts_muxer = {
510 "dts",
511 NULL_IF_CONFIG_SMALL("raw DTS"),
512 "audio/x-dca",
513 "dts",
514 0,
515 CODEC_ID_DTS,
516 CODEC_ID_NONE,
517 NULL,
518 raw_write_packet,
519 .flags= AVFMT_NOTIMESTAMPS,
520 };
521
522 #endif //CONFIG_MUXERS
523
524 AVInputFormat dirac_demuxer = {
525 "dirac",
526 NULL_IF_CONFIG_SMALL("raw Dirac"),
527 0,
528 dirac_probe,
529 video_read_header,
530 raw_read_partial_packet,
531 .flags= AVFMT_GENERIC_INDEX,
532 .value = CODEC_ID_DIRAC,
533 };
534
535 #ifdef CONFIG_MUXERS
536 AVOutputFormat dirac_muxer = {
537 "dirac",
538 NULL_IF_CONFIG_SMALL("raw Dirac"),
539 NULL,
540 "drc",
541 0,
542 CODEC_ID_NONE,
543 CODEC_ID_DIRAC,
544 NULL,
545 raw_write_packet,
546 .flags= AVFMT_NOTIMESTAMPS,
547 };
548 #endif
549
550 AVInputFormat dts_demuxer = {
551 "dts",
552 NULL_IF_CONFIG_SMALL("raw DTS"),
553 0,
554 dts_probe,
555 audio_read_header,
556 raw_read_partial_packet,
557 .flags= AVFMT_GENERIC_INDEX,
558 .extensions = "dts",
559 .value = CODEC_ID_DTS,
560 };
561
562 AVInputFormat aac_demuxer = {
563 "aac",
564 NULL_IF_CONFIG_SMALL("ADTS AAC"),
565 0,
566 NULL,
567 audio_read_header,
568 raw_read_partial_packet,
569 .flags= AVFMT_GENERIC_INDEX,
570 .extensions = "aac",
571 .value = CODEC_ID_AAC,
572 };
573
574 AVInputFormat gsm_demuxer = { 580 AVInputFormat gsm_demuxer = {
575 "gsm", 581 "gsm",
576 NULL_IF_CONFIG_SMALL("GSM"), 582 NULL_IF_CONFIG_SMALL("GSM"),
577 0, 583 0,
578 NULL, 584 NULL,
580 raw_read_partial_packet, 586 raw_read_partial_packet,
581 .flags= AVFMT_GENERIC_INDEX, 587 .flags= AVFMT_GENERIC_INDEX,
582 .extensions = "gsm", 588 .extensions = "gsm",
583 .value = CODEC_ID_GSM, 589 .value = CODEC_ID_GSM,
584 }; 590 };
585
586 #ifdef CONFIG_ROQ_MUXER
587 AVOutputFormat roq_muxer =
588 {
589 "RoQ",
590 NULL_IF_CONFIG_SMALL("id RoQ format"),
591 NULL,
592 "roq",
593 0,
594 CODEC_ID_ROQ_DPCM,
595 CODEC_ID_ROQ,
596 roq_write_header,
597 raw_write_packet,
598 };
599 #endif //CONFIG_ROQ_MUXER
600 591
601 AVInputFormat h261_demuxer = { 592 AVInputFormat h261_demuxer = {
602 "h261", 593 "h261",
603 NULL_IF_CONFIG_SMALL("raw H.261"), 594 NULL_IF_CONFIG_SMALL("raw H.261"),
604 0, 595 0,
650 raw_write_packet, 641 raw_write_packet,
651 .flags= AVFMT_NOTIMESTAMPS, 642 .flags= AVFMT_NOTIMESTAMPS,
652 }; 643 };
653 #endif //CONFIG_MUXERS 644 #endif //CONFIG_MUXERS
654 645
646 AVInputFormat h264_demuxer = {
647 "h264",
648 NULL_IF_CONFIG_SMALL("raw H.264 video format"),
649 0,
650 NULL /*mpegvideo_probe*/,
651 video_read_header,
652 raw_read_partial_packet,
653 .flags= AVFMT_GENERIC_INDEX,
654 .extensions = "h26l,h264,264", //FIXME remove after writing mpeg4_probe
655 .value = CODEC_ID_H264,
656 };
657
658 #ifdef CONFIG_MUXERS
659 AVOutputFormat h264_muxer = {
660 "h264",
661 NULL_IF_CONFIG_SMALL("raw H.264 video format"),
662 NULL,
663 "h264",
664 0,
665 CODEC_ID_NONE,
666 CODEC_ID_H264,
667 NULL,
668 raw_write_packet,
669 .flags= AVFMT_NOTIMESTAMPS,
670 };
671 #endif //CONFIG_MUXERS
672
673 AVInputFormat ingenient_demuxer = {
674 "ingenient",
675 NULL_IF_CONFIG_SMALL("Ingenient MJPEG"),
676 0,
677 NULL,
678 video_read_header,
679 ingenient_read_packet,
680 .flags= AVFMT_GENERIC_INDEX,
681 .extensions = "cgi", // FIXME
682 .value = CODEC_ID_MJPEG,
683 };
684
655 AVInputFormat m4v_demuxer = { 685 AVInputFormat m4v_demuxer = {
656 "m4v", 686 "m4v",
657 NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"), 687 NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
658 0, 688 0,
659 mpeg4video_probe, /** probing for mpeg4 data */ 689 mpeg4video_probe, /** probing for mpeg4 data */
677 raw_write_packet, 707 raw_write_packet,
678 .flags= AVFMT_NOTIMESTAMPS, 708 .flags= AVFMT_NOTIMESTAMPS,
679 }; 709 };
680 #endif //CONFIG_MUXERS 710 #endif //CONFIG_MUXERS
681 711
682 AVInputFormat h264_demuxer = { 712 AVInputFormat mjpeg_demuxer = {
683 "h264", 713 "mjpeg",
684 NULL_IF_CONFIG_SMALL("raw H.264 video format"), 714 NULL_IF_CONFIG_SMALL("MJPEG video"),
685 0, 715 0,
686 NULL /*mpegvideo_probe*/, 716 NULL,
687 video_read_header, 717 video_read_header,
688 raw_read_partial_packet, 718 raw_read_partial_packet,
689 .flags= AVFMT_GENERIC_INDEX, 719 .flags= AVFMT_GENERIC_INDEX,
690 .extensions = "h26l,h264,264", //FIXME remove after writing mpeg4_probe 720 .extensions = "mjpg,mjpeg",
691 .value = CODEC_ID_H264, 721 .value = CODEC_ID_MJPEG,
692 }; 722 };
693 723
694 #ifdef CONFIG_MUXERS 724 #ifdef CONFIG_MUXERS
695 AVOutputFormat h264_muxer = { 725 AVOutputFormat mjpeg_muxer = {
696 "h264", 726 "mjpeg",
697 NULL_IF_CONFIG_SMALL("raw H.264 video format"), 727 NULL_IF_CONFIG_SMALL("MJPEG video"),
698 NULL, 728 "video/x-mjpeg",
699 "h264", 729 "mjpg,mjpeg",
700 0, 730 0,
701 CODEC_ID_NONE, 731 CODEC_ID_NONE,
702 CODEC_ID_H264, 732 CODEC_ID_MJPEG,
703 NULL, 733 NULL,
704 raw_write_packet, 734 raw_write_packet,
705 .flags= AVFMT_NOTIMESTAMPS, 735 .flags= AVFMT_NOTIMESTAMPS,
706 }; 736 };
707 #endif //CONFIG_MUXERS 737 #endif //CONFIG_MUXERS
708 738
709 AVInputFormat mpegvideo_demuxer = { 739 AVInputFormat mlp_demuxer = {
710 "mpegvideo", 740 "mlp",
711 NULL_IF_CONFIG_SMALL("MPEG video"), 741 NULL_IF_CONFIG_SMALL("raw MLP"),
712 0, 742 0,
713 mpegvideo_probe, 743 NULL,
714 video_read_header, 744 audio_read_header,
715 raw_read_partial_packet, 745 raw_read_partial_packet,
716 .flags= AVFMT_GENERIC_INDEX, 746 .flags= AVFMT_GENERIC_INDEX,
717 .value = CODEC_ID_MPEG1VIDEO, 747 .extensions = "mlp",
748 .value = CODEC_ID_MLP,
718 }; 749 };
719 750
720 #ifdef CONFIG_MUXERS 751 #ifdef CONFIG_MUXERS
721 AVOutputFormat mpeg1video_muxer = { 752 AVOutputFormat mpeg1video_muxer = {
722 "mpeg1video", 753 "mpeg1video",
745 raw_write_packet, 776 raw_write_packet,
746 .flags= AVFMT_NOTIMESTAMPS, 777 .flags= AVFMT_NOTIMESTAMPS,
747 }; 778 };
748 #endif //CONFIG_MUXERS 779 #endif //CONFIG_MUXERS
749 780
750 AVInputFormat mjpeg_demuxer = { 781 AVInputFormat mpegvideo_demuxer = {
751 "mjpeg", 782 "mpegvideo",
752 NULL_IF_CONFIG_SMALL("MJPEG video"), 783 NULL_IF_CONFIG_SMALL("MPEG video"),
753 0, 784 0,
754 NULL, 785 mpegvideo_probe,
755 video_read_header, 786 video_read_header,
756 raw_read_partial_packet, 787 raw_read_partial_packet,
757 .flags= AVFMT_GENERIC_INDEX, 788 .flags= AVFMT_GENERIC_INDEX,
758 .extensions = "mjpg,mjpeg", 789 .value = CODEC_ID_MPEG1VIDEO,
759 .value = CODEC_ID_MJPEG, 790 };
760 }; 791
761 792 #ifdef CONFIG_MUXERS
762 AVInputFormat ingenient_demuxer = { 793 AVOutputFormat null_muxer = {
763 "ingenient", 794 "null",
764 NULL_IF_CONFIG_SMALL("Ingenient MJPEG"), 795 NULL_IF_CONFIG_SMALL("null video format"),
765 0, 796 NULL,
766 NULL, 797 NULL,
767 video_read_header, 798 0,
768 ingenient_read_packet, 799 #ifdef WORDS_BIGENDIAN
769 .flags= AVFMT_GENERIC_INDEX, 800 CODEC_ID_PCM_S16BE,
770 .extensions = "cgi", // FIXME 801 #else
771 .value = CODEC_ID_MJPEG, 802 CODEC_ID_PCM_S16LE,
772 }; 803 #endif
773 804 CODEC_ID_RAWVIDEO,
774 #ifdef CONFIG_MUXERS 805 NULL,
775 AVOutputFormat mjpeg_muxer = { 806 null_write_packet,
776 "mjpeg", 807 .flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,
777 NULL_IF_CONFIG_SMALL("MJPEG video"), 808 };
778 "video/x-mjpeg", 809 #endif //CONFIG_MUXERS
779 "mjpg,mjpeg", 810
780 0, 811 AVInputFormat rawvideo_demuxer = {
781 CODEC_ID_NONE, 812 "rawvideo",
782 CODEC_ID_MJPEG, 813 NULL_IF_CONFIG_SMALL("raw video format"),
783 NULL, 814 0,
784 raw_write_packet, 815 NULL,
785 .flags= AVFMT_NOTIMESTAMPS, 816 raw_read_header,
786 }; 817 rawvideo_read_packet,
787 #endif //CONFIG_MUXERS 818 .flags= AVFMT_GENERIC_INDEX,
819 .extensions = "yuv,cif,qcif,rgb",
820 .value = CODEC_ID_RAWVIDEO,
821 };
822
823 #ifdef CONFIG_MUXERS
824 AVOutputFormat rawvideo_muxer = {
825 "rawvideo",
826 NULL_IF_CONFIG_SMALL("raw video format"),
827 NULL,
828 "yuv,rgb",
829 0,
830 CODEC_ID_NONE,
831 CODEC_ID_RAWVIDEO,
832 NULL,
833 raw_write_packet,
834 .flags= AVFMT_NOTIMESTAMPS,
835 };
836 #endif //CONFIG_MUXERS
837
838 #ifdef CONFIG_ROQ_MUXER
839 AVOutputFormat roq_muxer =
840 {
841 "RoQ",
842 NULL_IF_CONFIG_SMALL("id RoQ format"),
843 NULL,
844 "roq",
845 0,
846 CODEC_ID_ROQ_DPCM,
847 CODEC_ID_ROQ,
848 roq_write_header,
849 raw_write_packet,
850 };
851 #endif //CONFIG_ROQ_MUXER
852
853 AVInputFormat shorten_demuxer = {
854 "shn",
855 NULL_IF_CONFIG_SMALL("raw Shorten"),
856 0,
857 NULL,
858 audio_read_header,
859 raw_read_partial_packet,
860 .flags= AVFMT_GENERIC_INDEX,
861 .extensions = "shn",
862 .value = CODEC_ID_SHORTEN,
863 };
788 864
789 AVInputFormat vc1_demuxer = { 865 AVInputFormat vc1_demuxer = {
790 "vc1", 866 "vc1",
791 NULL_IF_CONFIG_SMALL("raw VC-1"), 867 NULL_IF_CONFIG_SMALL("raw VC-1"),
792 0, 868 0,
850 #define BE_DEF(s) NULL 926 #define BE_DEF(s) NULL
851 #define LE_DEF(s) s 927 #define LE_DEF(s) s
852 #endif 928 #endif
853 929
854 930
931 PCMDEF(s16be, "PCM signed 16 bit big-endian format",
932 BE_DEF("sw"), CODEC_ID_PCM_S16BE)
933
855 PCMDEF(s16le, "PCM signed 16 bit little-endian format", 934 PCMDEF(s16le, "PCM signed 16 bit little-endian format",
856 LE_DEF("sw"), CODEC_ID_PCM_S16LE) 935 LE_DEF("sw"), CODEC_ID_PCM_S16LE)
857 936
858 PCMDEF(s16be, "PCM signed 16 bit big-endian format", 937 PCMDEF(s8, "PCM signed 8 bit format",
859 BE_DEF("sw"), CODEC_ID_PCM_S16BE) 938 "sb", CODEC_ID_PCM_S8)
939
940 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format",
941 BE_DEF("uw"), CODEC_ID_PCM_U16BE)
860 942
861 PCMDEF(u16le, "PCM unsigned 16 bit little-endian format", 943 PCMDEF(u16le, "PCM unsigned 16 bit little-endian format",
862 LE_DEF("uw"), CODEC_ID_PCM_U16LE) 944 LE_DEF("uw"), CODEC_ID_PCM_U16LE)
863 945
864 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format",
865 BE_DEF("uw"), CODEC_ID_PCM_U16BE)
866
867 PCMDEF(s8, "PCM signed 8 bit format",
868 "sb", CODEC_ID_PCM_S8)
869
870 PCMDEF(u8, "PCM unsigned 8 bit format", 946 PCMDEF(u8, "PCM unsigned 8 bit format",
871 "ub", CODEC_ID_PCM_U8) 947 "ub", CODEC_ID_PCM_U8)
872 948
949 PCMDEF(alaw, "PCM A-law format",
950 "al", CODEC_ID_PCM_ALAW)
951
873 PCMDEF(mulaw, "PCM mu-law format", 952 PCMDEF(mulaw, "PCM mu-law format",
874 "ul", CODEC_ID_PCM_MULAW) 953 "ul", CODEC_ID_PCM_MULAW)
875
876 PCMDEF(alaw, "PCM A-law format",
877 "al", CODEC_ID_PCM_ALAW)
878
879 static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
880 {
881 int packet_size, ret, width, height;
882 AVStream *st = s->streams[0];
883
884 width = st->codec->width;
885 height = st->codec->height;
886
887 packet_size = avpicture_get_size(st->codec->pix_fmt, width, height);
888 if (packet_size < 0)
889 return -1;
890
891 ret= av_get_packet(s->pb, pkt, packet_size);
892 pkt->pts=
893 pkt->dts= pkt->pos / packet_size;
894
895 pkt->stream_index = 0;
896 if (ret != packet_size) {
897 return AVERROR(EIO);
898 } else {
899 return 0;
900 }
901 }
902
903 AVInputFormat rawvideo_demuxer = {
904 "rawvideo",
905 NULL_IF_CONFIG_SMALL("raw video format"),
906 0,
907 NULL,
908 raw_read_header,
909 rawvideo_read_packet,
910 .flags= AVFMT_GENERIC_INDEX,
911 .extensions = "yuv,cif,qcif,rgb",
912 .value = CODEC_ID_RAWVIDEO,
913 };
914
915 #ifdef CONFIG_MUXERS
916 AVOutputFormat rawvideo_muxer = {
917 "rawvideo",
918 NULL_IF_CONFIG_SMALL("raw video format"),
919 NULL,
920 "yuv,rgb",
921 0,
922 CODEC_ID_NONE,
923 CODEC_ID_RAWVIDEO,
924 NULL,
925 raw_write_packet,
926 .flags= AVFMT_NOTIMESTAMPS,
927 };
928 #endif //CONFIG_MUXERS
929
930 #ifdef CONFIG_MUXERS
931 static int null_write_packet(struct AVFormatContext *s, AVPacket *pkt)
932 {
933 return 0;
934 }
935
936 AVOutputFormat null_muxer = {
937 "null",
938 NULL_IF_CONFIG_SMALL("null video format"),
939 NULL,
940 NULL,
941 0,
942 #ifdef WORDS_BIGENDIAN
943 CODEC_ID_PCM_S16BE,
944 #else
945 CODEC_ID_PCM_S16LE,
946 #endif
947 CODEC_ID_RAWVIDEO,
948 NULL,
949 null_write_packet,
950 .flags = AVFMT_NOFILE | AVFMT_RAWPICTURE | AVFMT_NOTIMESTAMPS,
951 };
952 #endif //CONFIG_MUXERS