split raw.c into rawdec.c and rawenc.c
authorAurelien Jacobs <aurel@gnuage.org>
Mon, 30 Aug 2010 23:16:35 +0000 (23:16 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Mon, 30 Aug 2010 23:16:35 +0000 (23:16 +0000)
Originally committed as revision 24997 to svn://svn.ffmpeg.org/ffmpeg/trunk

24 files changed:
libavformat/Makefile
libavformat/aacdec.c
libavformat/ac3dec.c
libavformat/cavsvideodec.c
libavformat/diracdec.c
libavformat/dnxhddec.c
libavformat/dtsdec.c
libavformat/flacdec.c
libavformat/h261dec.c
libavformat/h263dec.c
libavformat/h264dec.c
libavformat/idroqenc.c
libavformat/ingenientdec.c
libavformat/m4vdec.c
libavformat/mpegvideodec.c
libavformat/pcmdec.c
libavformat/pcmenc.c
libavformat/raw.c [deleted file]
libavformat/raw.h [deleted file]
libavformat/rawdec.c [new file with mode: 0644]
libavformat/rawdec.h [new file with mode: 0644]
libavformat/rawenc.c [new file with mode: 0644]
libavformat/rawenc.h [new file with mode: 0644]
libavformat/rawvideodec.c

index f2d7378..7955b80 100644 (file)
@@ -17,9 +17,9 @@ OBJS = allformats.o         \
 
 # muxers/demuxers
 OBJS-$(CONFIG_A64_MUXER)                 += a64.o
-OBJS-$(CONFIG_AAC_DEMUXER)               += aacdec.o id3v1.o id3v2.o raw.o
-OBJS-$(CONFIG_AC3_DEMUXER)               += ac3dec.o raw.o
-OBJS-$(CONFIG_AC3_MUXER)                 += raw.o
+OBJS-$(CONFIG_AAC_DEMUXER)               += aacdec.o id3v1.o id3v2.o rawdec.o
+OBJS-$(CONFIG_AC3_DEMUXER)               += ac3dec.o rawdec.o
+OBJS-$(CONFIG_AC3_MUXER)                 += rawenc.o
 OBJS-$(CONFIG_ADTS_MUXER)                += adtsenc.o
 OBJS-$(CONFIG_AEA_DEMUXER)               += aea.o pcm.o
 OBJS-$(CONFIG_AIFF_DEMUXER)              += aiffdec.o riff.o pcm.o
@@ -47,30 +47,30 @@ OBJS-$(CONFIG_BFI_DEMUXER)               += bfi.o
 OBJS-$(CONFIG_BINK_DEMUXER)              += bink.o
 OBJS-$(CONFIG_C93_DEMUXER)               += c93.o vocdec.o voc.o
 OBJS-$(CONFIG_CAF_DEMUXER)               += cafdec.o caf.o mov.o riff.o isom.o
-OBJS-$(CONFIG_CAVSVIDEO_DEMUXER)         += cavsvideodec.o raw.o
+OBJS-$(CONFIG_CAVSVIDEO_DEMUXER)         += cavsvideodec.o rawdec.o
 OBJS-$(CONFIG_CDG_DEMUXER)               += cdg.o
 OBJS-$(CONFIG_CRC_MUXER)                 += crcenc.o
 OBJS-$(CONFIG_DAUD_DEMUXER)              += daud.o
 OBJS-$(CONFIG_DAUD_MUXER)                += daud.o
-OBJS-$(CONFIG_DIRAC_DEMUXER)             += diracdec.o raw.o
-OBJS-$(CONFIG_DIRAC_MUXER)               += raw.o
-OBJS-$(CONFIG_DNXHD_DEMUXER)             += dnxhddec.o raw.o
-OBJS-$(CONFIG_DNXHD_MUXER)               += raw.o
+OBJS-$(CONFIG_DIRAC_DEMUXER)             += diracdec.o rawdec.o
+OBJS-$(CONFIG_DIRAC_MUXER)               += rawenc.o
+OBJS-$(CONFIG_DNXHD_DEMUXER)             += dnxhddec.o rawdec.o
+OBJS-$(CONFIG_DNXHD_MUXER)               += rawenc.o
 OBJS-$(CONFIG_DSICIN_DEMUXER)            += dsicin.o
-OBJS-$(CONFIG_DTS_DEMUXER)               += dtsdec.o raw.o
-OBJS-$(CONFIG_DTS_MUXER)                 += raw.o
+OBJS-$(CONFIG_DTS_DEMUXER)               += dtsdec.o rawdec.o
+OBJS-$(CONFIG_DTS_MUXER)                 += rawenc.o
 OBJS-$(CONFIG_DV_DEMUXER)                += dv.o
 OBJS-$(CONFIG_DV_MUXER)                  += dvenc.o
 OBJS-$(CONFIG_DXA_DEMUXER)               += dxa.o riff.o
 OBJS-$(CONFIG_EA_CDATA_DEMUXER)          += eacdata.o
 OBJS-$(CONFIG_EA_DEMUXER)                += electronicarts.o
-OBJS-$(CONFIG_EAC3_DEMUXER)              += ac3dec.o raw.o
-OBJS-$(CONFIG_EAC3_MUXER)                += raw.o
+OBJS-$(CONFIG_EAC3_DEMUXER)              += ac3dec.o rawdec.o
+OBJS-$(CONFIG_EAC3_MUXER)                += rawenc.o
 OBJS-$(CONFIG_FFM_DEMUXER)               += ffmdec.o
 OBJS-$(CONFIG_FFM_MUXER)                 += ffmenc.o
 OBJS-$(CONFIG_FILMSTRIP_DEMUXER)         += filmstripdec.o
 OBJS-$(CONFIG_FILMSTRIP_MUXER)           += filmstripenc.o
-OBJS-$(CONFIG_FLAC_DEMUXER)              += flacdec.o raw.o id3v1.o \
+OBJS-$(CONFIG_FLAC_DEMUXER)              += flacdec.o rawdec.o id3v1.o \
                                             id3v2.o oggparsevorbis.o \
                                             vorbiscomment.o
 OBJS-$(CONFIG_FLAC_MUXER)                += flacenc.o flacenc_header.o \
@@ -82,39 +82,39 @@ OBJS-$(CONFIG_FOURXM_DEMUXER)            += 4xm.o
 OBJS-$(CONFIG_FRAMECRC_MUXER)            += framecrcenc.o
 OBJS-$(CONFIG_FRAMEMD5_MUXER)            += md5enc.o
 OBJS-$(CONFIG_GIF_MUXER)                 += gif.o
-OBJS-$(CONFIG_GSM_DEMUXER)               += raw.o
+OBJS-$(CONFIG_GSM_DEMUXER)               += rawdec.o
 OBJS-$(CONFIG_GXF_DEMUXER)               += gxf.o
 OBJS-$(CONFIG_GXF_MUXER)                 += gxfenc.o audiointerleave.o
-OBJS-$(CONFIG_H261_DEMUXER)              += h261dec.o raw.o
-OBJS-$(CONFIG_H261_MUXER)                += raw.o
-OBJS-$(CONFIG_H263_DEMUXER)              += h263dec.o raw.o
-OBJS-$(CONFIG_H263_MUXER)                += raw.o
-OBJS-$(CONFIG_H264_DEMUXER)              += h264dec.o raw.o
-OBJS-$(CONFIG_H264_MUXER)                += raw.o
+OBJS-$(CONFIG_H261_DEMUXER)              += h261dec.o rawdec.o
+OBJS-$(CONFIG_H261_MUXER)                += rawenc.o
+OBJS-$(CONFIG_H263_DEMUXER)              += h263dec.o rawdec.o
+OBJS-$(CONFIG_H263_MUXER)                += rawenc.o
+OBJS-$(CONFIG_H264_DEMUXER)              += h264dec.o rawdec.o
+OBJS-$(CONFIG_H264_MUXER)                += rawenc.o
 OBJS-$(CONFIG_IDCIN_DEMUXER)             += idcin.o
 OBJS-$(CONFIG_IFF_DEMUXER)               += iff.o
 OBJS-$(CONFIG_IMAGE2_DEMUXER)            += img2.o
 OBJS-$(CONFIG_IMAGE2_MUXER)              += img2.o
 OBJS-$(CONFIG_IMAGE2PIPE_DEMUXER)        += img2.o
 OBJS-$(CONFIG_IMAGE2PIPE_MUXER)          += img2.o
-OBJS-$(CONFIG_INGENIENT_DEMUXER)         += ingenientdec.o raw.o
+OBJS-$(CONFIG_INGENIENT_DEMUXER)         += ingenientdec.o rawdec.o
 OBJS-$(CONFIG_IPMOVIE_DEMUXER)           += ipmovie.o
 OBJS-$(CONFIG_ISS_DEMUXER)               += iss.o
 OBJS-$(CONFIG_IV8_DEMUXER)               += iv8.o
 OBJS-$(CONFIG_IVF_DEMUXER)               += ivfdec.o riff.o
 OBJS-$(CONFIG_LMLM4_DEMUXER)             += lmlm4.o
-OBJS-$(CONFIG_M4V_DEMUXER)               += m4vdec.o raw.o
-OBJS-$(CONFIG_M4V_MUXER)                 += raw.o
+OBJS-$(CONFIG_M4V_DEMUXER)               += m4vdec.o rawdec.o
+OBJS-$(CONFIG_M4V_MUXER)                 += rawenc.o
 OBJS-$(CONFIG_MATROSKA_DEMUXER)          += matroskadec.o matroska.o \
                                             riff.o isom.o rmdec.o rm.o
 OBJS-$(CONFIG_MATROSKA_MUXER)            += matroskaenc.o matroska.o \
                                             riff.o isom.o avc.o \
                                             flacenc_header.o
 OBJS-$(CONFIG_MD5_MUXER)                 += md5enc.o
-OBJS-$(CONFIG_MJPEG_DEMUXER)             += raw.o
-OBJS-$(CONFIG_MJPEG_MUXER)               += raw.o
-OBJS-$(CONFIG_MLP_DEMUXER)               += raw.o
-OBJS-$(CONFIG_MLP_MUXER)                 += raw.o
+OBJS-$(CONFIG_MJPEG_DEMUXER)             += rawdec.o
+OBJS-$(CONFIG_MJPEG_MUXER)               += rawenc.o
+OBJS-$(CONFIG_MLP_DEMUXER)               += rawdec.o
+OBJS-$(CONFIG_MLP_MUXER)                 += rawenc.o
 OBJS-$(CONFIG_MM_DEMUXER)                += mm.o
 OBJS-$(CONFIG_MMF_DEMUXER)               += mmf.o pcm.o
 OBJS-$(CONFIG_MMF_MUXER)                 += mmf.o riff.o
@@ -130,12 +130,12 @@ OBJS-$(CONFIG_MPEG1VCD_MUXER)            += mpegenc.o
 OBJS-$(CONFIG_MPEG2DVD_MUXER)            += mpegenc.o
 OBJS-$(CONFIG_MPEG2VOB_MUXER)            += mpegenc.o
 OBJS-$(CONFIG_MPEG2SVCD_MUXER)           += mpegenc.o
-OBJS-$(CONFIG_MPEG1VIDEO_MUXER)          += raw.o
-OBJS-$(CONFIG_MPEG2VIDEO_MUXER)          += raw.o
+OBJS-$(CONFIG_MPEG1VIDEO_MUXER)          += rawenc.o
+OBJS-$(CONFIG_MPEG2VIDEO_MUXER)          += rawenc.o
 OBJS-$(CONFIG_MPEGPS_DEMUXER)            += mpeg.o
 OBJS-$(CONFIG_MPEGTS_DEMUXER)            += mpegts.o
 OBJS-$(CONFIG_MPEGTS_MUXER)              += mpegtsenc.o adtsenc.o
-OBJS-$(CONFIG_MPEGVIDEO_DEMUXER)         += mpegvideodec.o raw.o
+OBJS-$(CONFIG_MPEGVIDEO_DEMUXER)         += mpegvideodec.o rawdec.o
 OBJS-$(CONFIG_MPJPEG_MUXER)              += mpjpeg.o
 OBJS-$(CONFIG_MSNWC_TCP_DEMUXER)         += msnwc_tcp.o
 OBJS-$(CONFIG_MTV_DEMUXER)               += mtv.o
@@ -161,56 +161,56 @@ OBJS-$(CONFIG_OGG_DEMUXER)               += oggdec.o         \
 OBJS-$(CONFIG_OGG_MUXER)                 += oggenc.o \
                                             vorbiscomment.o
 OBJS-$(CONFIG_OMA_DEMUXER)               += oma.o pcm.o id3v2.o id3v1.o
-OBJS-$(CONFIG_PCM_ALAW_DEMUXER)          += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_ALAW_MUXER)            += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_F32BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_F32BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_F32LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_F32LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_F64BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_F64BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_F64LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_F64LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_MULAW_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_MULAW_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S16BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S16BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S16LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S16LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S24BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S24BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S24LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S24LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S32BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S32BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S32LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S32LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_S8_DEMUXER)            += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_S8_MUXER)              += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U16BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U16BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U16LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U16LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U24BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U24BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U24LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U24LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U32BE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U32BE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U32LE_DEMUXER)         += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U32LE_MUXER)           += pcmenc.o raw.o
-OBJS-$(CONFIG_PCM_U8_DEMUXER)            += pcmdec.o pcm.o raw.o
-OBJS-$(CONFIG_PCM_U8_MUXER)              += pcmenc.o raw.o
+OBJS-$(CONFIG_PCM_ALAW_DEMUXER)          += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_ALAW_MUXER)            += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_F32BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_F32BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_F32LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_F32LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_F64BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_F64BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_F64LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_F64LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_MULAW_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_MULAW_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S16BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S16BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S16LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S16LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S24BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S24BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S24LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S24LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S32BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S32BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S32LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S32LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_S8_DEMUXER)            += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_S8_MUXER)              += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U16BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U16BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U16LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U16LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U24BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U24BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U24LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U24LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U32BE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U32BE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U32LE_DEMUXER)         += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U32LE_MUXER)           += pcmenc.o rawenc.o
+OBJS-$(CONFIG_PCM_U8_DEMUXER)            += pcmdec.o pcm.o rawdec.o
+OBJS-$(CONFIG_PCM_U8_MUXER)              += pcmenc.o rawenc.o
 OBJS-$(CONFIG_PVA_DEMUXER)               += pva.o
 OBJS-$(CONFIG_QCP_DEMUXER)               += qcp.o
 OBJS-$(CONFIG_R3D_DEMUXER)               += r3d.o
-OBJS-$(CONFIG_RAWVIDEO_DEMUXER)          += rawvideodec.o raw.o
-OBJS-$(CONFIG_RAWVIDEO_MUXER)            += raw.o
+OBJS-$(CONFIG_RAWVIDEO_DEMUXER)          += rawvideodec.o rawdec.o
+OBJS-$(CONFIG_RAWVIDEO_MUXER)            += rawenc.o
 OBJS-$(CONFIG_RL2_DEMUXER)               += rl2.o
 OBJS-$(CONFIG_RM_DEMUXER)                += rmdec.o rm.o
 OBJS-$(CONFIG_RM_MUXER)                  += rmenc.o rm.o
 OBJS-$(CONFIG_ROQ_DEMUXER)               += idroqdec.o
-OBJS-$(CONFIG_ROQ_MUXER)                 += idroqenc.o raw.o
+OBJS-$(CONFIG_ROQ_MUXER)                 += idroqenc.o rawenc.o
 OBJS-$(CONFIG_RSO_DEMUXER)               += rsodec.o rso.o pcm.o
 OBJS-$(CONFIG_RSO_MUXER)                 += rsoenc.o rso.o
 OBJS-$(CONFIG_RPL_DEMUXER)               += rpl.o
@@ -241,7 +241,7 @@ OBJS-$(CONFIG_SDP_DEMUXER)               += rtsp.o        \
                                             rtpdec_vp8.o  \
                                             rtpdec_xiph.o
 OBJS-$(CONFIG_SEGAFILM_DEMUXER)          += segafilm.o
-OBJS-$(CONFIG_SHORTEN_DEMUXER)           += raw.o
+OBJS-$(CONFIG_SHORTEN_DEMUXER)           += rawdec.o
 OBJS-$(CONFIG_SIFF_DEMUXER)              += siff.o
 OBJS-$(CONFIG_SMACKER_DEMUXER)           += smacker.o
 OBJS-$(CONFIG_SOL_DEMUXER)               += sol.o pcm.o
@@ -249,19 +249,19 @@ OBJS-$(CONFIG_SOX_DEMUXER)               += soxdec.o pcm.o
 OBJS-$(CONFIG_SOX_MUXER)                 += soxenc.o
 OBJS-$(CONFIG_SPDIF_MUXER)               += spdif.o
 OBJS-$(CONFIG_SRT_DEMUXER)               += srtdec.o
-OBJS-$(CONFIG_SRT_MUXER)                 += raw.o
+OBJS-$(CONFIG_SRT_MUXER)                 += rawenc.o
 OBJS-$(CONFIG_STR_DEMUXER)               += psxstr.o
 OBJS-$(CONFIG_SWF_DEMUXER)               += swfdec.o
 OBJS-$(CONFIG_SWF_MUXER)                 += swfenc.o
 OBJS-$(CONFIG_THP_DEMUXER)               += thp.o
 OBJS-$(CONFIG_TIERTEXSEQ_DEMUXER)        += tiertexseq.o
 OBJS-$(CONFIG_TMV_DEMUXER)               += tmv.o
-OBJS-$(CONFIG_TRUEHD_DEMUXER)            += raw.o
-OBJS-$(CONFIG_TRUEHD_MUXER)              += raw.o
+OBJS-$(CONFIG_TRUEHD_DEMUXER)            += rawdec.o
+OBJS-$(CONFIG_TRUEHD_MUXER)              += rawenc.o
 OBJS-$(CONFIG_TTA_DEMUXER)               += tta.o id3v1.o id3v2.o
 OBJS-$(CONFIG_TTY_DEMUXER)               += tty.o sauce.o
 OBJS-$(CONFIG_TXD_DEMUXER)               += txd.o
-OBJS-$(CONFIG_VC1_DEMUXER)               += raw.o
+OBJS-$(CONFIG_VC1_DEMUXER)               += rawdec.o
 OBJS-$(CONFIG_VC1T_DEMUXER)              += vc1test.o
 OBJS-$(CONFIG_VC1T_MUXER)                += vc1testenc.o
 OBJS-$(CONFIG_VMD_DEMUXER)               += sierravmd.o
index 8737e56..bcceff3 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "libavutil/intreadwrite.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 #include "id3v2.h"
 #include "id3v1.h"
 
index b260354..b8a2bdd 100644 (file)
@@ -22,7 +22,7 @@
 #include "libavutil/crc.h"
 #include "libavcodec/ac3_parser.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int ac3_eac3_probe(AVProbeData *p, enum CodecID expected_codec_id)
 {
index 937d4b6..51a7501 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 #define CAVS_SEQ_START_CODE       0x000001b0
 #define CAVS_PIC_I_START_CODE     0x000001b3
index 5293988..aa887e7 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "libavutil/intreadwrite.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int dirac_probe(AVProbeData *p)
 {
index 26e3969..edd44fe 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "libavutil/intreadwrite.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int dnxhd_probe(AVProbeData *p)
 {
index 67e3d0f..c132c08 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "libavcodec/bytestream.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 #define DCA_MARKER_14B_BE 0x1FFFE800
 #define DCA_MARKER_14B_LE 0xFF1F00E8
index 3cdd53c..e54fb39 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "libavcodec/flac.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 #include "id3v2.h"
 #include "oggdec.h"
 #include "vorbiscomment.h"
index 936415c..13394a1 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "libavcodec/get_bits.h"
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int h261_probe(AVProbeData *p)
 {
index 4aec94e..e27c395 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int h263_probe(AVProbeData *p)
 {
index 96ffb08..10c239d 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int h264_probe(AVProbeData *p)
 {
index a0f8739..fda899a 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawenc.h"
 
 
 static int roq_write_header(struct AVFormatContext *s)
index 48f82ed..61d39e1 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 // http://www.artificis.hu/files/texts/ingenient.txt
 static int ingenient_read_packet(AVFormatContext *s, AVPacket *pkt)
index 84363a1..fdd3a80 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 #define VISUAL_OBJECT_START_CODE       0x000001b5
 #define VOP_START_CODE                 0x000001b6
index 4700727..d0b9a2c 100644 (file)
@@ -21,7 +21,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 #define SEQ_START_CODE          0x000001b3
 #define GOP_START_CODE          0x000001b8
index b657fb6..26be4f4 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 #include "pcm.h"
 
 #define RAW_SAMPLES     1024
index 791bdf2..bda94c3 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawenc.h"
 
 #define PCMDEF(name, long_name, ext, codec) \
 AVOutputFormat pcm_ ## name ## _muxer = {\
diff --git a/libavformat/raw.c b/libavformat/raw.c
deleted file mode 100644 (file)
index 59bcc64..0000000
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * RAW muxer and demuxer
- * Copyright (c) 2001 Fabrice Bellard
- * Copyright (c) 2005 Alex Beregszaszi
- *
- * This file is part of FFmpeg.
- *
- * FFmpeg is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * FFmpeg is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "avformat.h"
-#include "raw.h"
-
-/* simple formats */
-
-#if CONFIG_MUXERS
-int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt)
-{
-    put_buffer(s->pb, pkt->data, pkt->size);
-    put_flush_packet(s->pb);
-    return 0;
-}
-#endif
-
-#if CONFIG_DEMUXERS
-/* raw input */
-int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap)
-{
-    AVStream *st;
-    enum CodecID id;
-
-    st = av_new_stream(s, 0);
-    if (!st)
-        return AVERROR(ENOMEM);
-
-        id = s->iformat->value;
-        if (id == CODEC_ID_RAWVIDEO) {
-            st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
-        } else {
-            st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
-        }
-        st->codec->codec_id = id;
-
-        switch(st->codec->codec_type) {
-        case AVMEDIA_TYPE_AUDIO:
-            st->codec->sample_rate = ap->sample_rate;
-            if(ap->channels) st->codec->channels = ap->channels;
-            else             st->codec->channels = 1;
-            st->codec->bits_per_coded_sample = av_get_bits_per_sample(st->codec->codec_id);
-            assert(st->codec->bits_per_coded_sample > 0);
-            st->codec->block_align = st->codec->bits_per_coded_sample*st->codec->channels/8;
-            av_set_pts_info(st, 64, 1, st->codec->sample_rate);
-            break;
-        case AVMEDIA_TYPE_VIDEO:
-            if(ap->time_base.num)
-                av_set_pts_info(st, 64, ap->time_base.num, ap->time_base.den);
-            else
-                av_set_pts_info(st, 64, 1, 25);
-            st->codec->width = ap->width;
-            st->codec->height = ap->height;
-            st->codec->pix_fmt = ap->pix_fmt;
-            if(st->codec->pix_fmt == PIX_FMT_NONE)
-                st->codec->pix_fmt= PIX_FMT_YUV420P;
-            break;
-        default:
-            return -1;
-        }
-    return 0;
-}
-
-#define RAW_PACKET_SIZE 1024
-
-int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt)
-{
-    int ret, size;
-
-    size = RAW_PACKET_SIZE;
-
-    if (av_new_packet(pkt, size) < 0)
-        return AVERROR(ENOMEM);
-
-    pkt->pos= url_ftell(s->pb);
-    pkt->stream_index = 0;
-    ret = get_partial_buffer(s->pb, pkt->data, size);
-    if (ret < 0) {
-        av_free_packet(pkt);
-        return ret;
-    }
-    pkt->size = ret;
-    return ret;
-}
-
-int ff_raw_audio_read_header(AVFormatContext *s,
-                             AVFormatParameters *ap)
-{
-    AVStream *st = av_new_stream(s, 0);
-    if (!st)
-        return AVERROR(ENOMEM);
-    st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
-    st->codec->codec_id = s->iformat->value;
-    st->need_parsing = AVSTREAM_PARSE_FULL;
-    /* the parameters will be extracted from the compressed bitstream */
-
-    return 0;
-}
-
-/* MPEG-1/H.263 input */
-int ff_raw_video_read_header(AVFormatContext *s,
-                             AVFormatParameters *ap)
-{
-    AVStream *st;
-
-    st = av_new_stream(s, 0);
-    if (!st)
-        return AVERROR(ENOMEM);
-
-    st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
-    st->codec->codec_id = s->iformat->value;
-    st->need_parsing = AVSTREAM_PARSE_FULL;
-
-    /* for MJPEG, specify frame rate */
-    /* for MPEG-4 specify it, too (most MPEG-4 streams do not have the fixed_vop_rate set ...)*/
-    if (ap->time_base.num) {
-        st->codec->time_base= ap->time_base;
-    } else if ( st->codec->codec_id == CODEC_ID_MJPEG ||
-                st->codec->codec_id == CODEC_ID_MPEG4 ||
-                st->codec->codec_id == CODEC_ID_DIRAC ||
-                st->codec->codec_id == CODEC_ID_DNXHD ||
-                st->codec->codec_id == CODEC_ID_VC1   ||
-                st->codec->codec_id == CODEC_ID_H264) {
-        st->codec->time_base= (AVRational){1,25};
-    }
-    av_set_pts_info(st, 64, 1, 1200000);
-
-    return 0;
-}
-#endif
-
-/* Note: Do not forget to add new entries to the Makefile as well. */
-
-#if CONFIG_AC3_MUXER
-AVOutputFormat ac3_muxer = {
-    "ac3",
-    NULL_IF_CONFIG_SMALL("raw AC-3"),
-    "audio/x-ac3",
-    "ac3",
-    0,
-    CODEC_ID_AC3,
-    CODEC_ID_NONE,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_DIRAC_MUXER
-AVOutputFormat dirac_muxer = {
-    "dirac",
-    NULL_IF_CONFIG_SMALL("raw Dirac"),
-    NULL,
-    "drc",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_DIRAC,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_DNXHD_MUXER
-AVOutputFormat dnxhd_muxer = {
-    "dnxhd",
-    NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
-    NULL,
-    "dnxhd",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_DNXHD,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_DTS_MUXER
-AVOutputFormat dts_muxer = {
-    "dts",
-    NULL_IF_CONFIG_SMALL("raw DTS"),
-    "audio/x-dca",
-    "dts",
-    0,
-    CODEC_ID_DTS,
-    CODEC_ID_NONE,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_EAC3_MUXER
-AVOutputFormat eac3_muxer = {
-    "eac3",
-    NULL_IF_CONFIG_SMALL("raw E-AC-3"),
-    "audio/x-eac3",
-    "eac3",
-    0,
-    CODEC_ID_EAC3,
-    CODEC_ID_NONE,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_GSM_DEMUXER
-AVInputFormat gsm_demuxer = {
-    "gsm",
-    NULL_IF_CONFIG_SMALL("raw GSM"),
-    0,
-    NULL,
-    ff_raw_audio_read_header,
-    ff_raw_read_partial_packet,
-    .flags= AVFMT_GENERIC_INDEX,
-    .extensions = "gsm",
-    .value = CODEC_ID_GSM,
-};
-#endif
-
-#if CONFIG_H261_MUXER
-AVOutputFormat h261_muxer = {
-    "h261",
-    NULL_IF_CONFIG_SMALL("raw H.261"),
-    "video/x-h261",
-    "h261",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_H261,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_H263_MUXER
-AVOutputFormat h263_muxer = {
-    "h263",
-    NULL_IF_CONFIG_SMALL("raw H.263"),
-    "video/x-h263",
-    "h263",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_H263,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_H264_MUXER
-AVOutputFormat h264_muxer = {
-    "h264",
-    NULL_IF_CONFIG_SMALL("raw H.264 video format"),
-    NULL,
-    "h264",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_H264,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_CAVSVIDEO_MUXER
-AVOutputFormat cavsvideo_muxer = {
-    "cavsvideo",
-    NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
-    NULL,
-    "cavs",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_CAVS,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_M4V_MUXER
-AVOutputFormat m4v_muxer = {
-    "m4v",
-    NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
-    NULL,
-    "m4v",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_MPEG4,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_MJPEG_DEMUXER
-AVInputFormat mjpeg_demuxer = {
-    "mjpeg",
-    NULL_IF_CONFIG_SMALL("raw MJPEG video"),
-    0,
-    NULL,
-    ff_raw_video_read_header,
-    ff_raw_read_partial_packet,
-    .flags= AVFMT_GENERIC_INDEX,
-    .extensions = "mjpg,mjpeg",
-    .value = CODEC_ID_MJPEG,
-};
-#endif
-
-#if CONFIG_MJPEG_MUXER
-AVOutputFormat mjpeg_muxer = {
-    "mjpeg",
-    NULL_IF_CONFIG_SMALL("raw MJPEG video"),
-    "video/x-mjpeg",
-    "mjpg,mjpeg",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_MJPEG,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_MLP_DEMUXER
-AVInputFormat mlp_demuxer = {
-    "mlp",
-    NULL_IF_CONFIG_SMALL("raw MLP"),
-    0,
-    NULL,
-    ff_raw_audio_read_header,
-    ff_raw_read_partial_packet,
-    .flags= AVFMT_GENERIC_INDEX,
-    .extensions = "mlp",
-    .value = CODEC_ID_MLP,
-};
-#endif
-
-#if CONFIG_MLP_MUXER
-AVOutputFormat mlp_muxer = {
-    "mlp",
-    NULL_IF_CONFIG_SMALL("raw MLP"),
-    NULL,
-    "mlp",
-    0,
-    CODEC_ID_MLP,
-    CODEC_ID_NONE,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_SRT_MUXER
-AVOutputFormat srt_muxer = {
-    .name           = "srt",
-    .long_name      = NULL_IF_CONFIG_SMALL("SubRip subtitle format"),
-    .mime_type      = "application/x-subrip",
-    .extensions     = "srt",
-    .write_packet   = ff_raw_write_packet,
-    .flags          = AVFMT_NOTIMESTAMPS,
-    .subtitle_codec = CODEC_ID_SRT,
-};
-#endif
-
-#if CONFIG_TRUEHD_DEMUXER
-AVInputFormat truehd_demuxer = {
-    "truehd",
-    NULL_IF_CONFIG_SMALL("raw TrueHD"),
-    0,
-    NULL,
-    ff_raw_audio_read_header,
-    ff_raw_read_partial_packet,
-    .flags= AVFMT_GENERIC_INDEX,
-    .extensions = "thd",
-    .value = CODEC_ID_TRUEHD,
-};
-#endif
-
-#if CONFIG_TRUEHD_MUXER
-AVOutputFormat truehd_muxer = {
-    "truehd",
-    NULL_IF_CONFIG_SMALL("raw TrueHD"),
-    NULL,
-    "thd",
-    0,
-    CODEC_ID_TRUEHD,
-    CODEC_ID_NONE,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_MPEG1VIDEO_MUXER
-AVOutputFormat mpeg1video_muxer = {
-    "mpeg1video",
-    NULL_IF_CONFIG_SMALL("raw MPEG-1 video"),
-    "video/x-mpeg",
-    "mpg,mpeg,m1v",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_MPEG1VIDEO,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_MPEG2VIDEO_MUXER
-AVOutputFormat mpeg2video_muxer = {
-    "mpeg2video",
-    NULL_IF_CONFIG_SMALL("raw MPEG-2 video"),
-    NULL,
-    "m2v",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_MPEG2VIDEO,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_RAWVIDEO_MUXER
-AVOutputFormat rawvideo_muxer = {
-    "rawvideo",
-    NULL_IF_CONFIG_SMALL("raw video format"),
-    NULL,
-    "yuv,rgb",
-    0,
-    CODEC_ID_NONE,
-    CODEC_ID_RAWVIDEO,
-    NULL,
-    ff_raw_write_packet,
-    .flags= AVFMT_NOTIMESTAMPS,
-};
-#endif
-
-#if CONFIG_SHORTEN_DEMUXER
-AVInputFormat shorten_demuxer = {
-    "shn",
-    NULL_IF_CONFIG_SMALL("raw Shorten"),
-    0,
-    NULL,
-    ff_raw_audio_read_header,
-    ff_raw_read_partial_packet,
-    .flags= AVFMT_GENERIC_INDEX,
-    .extensions = "shn",
-    .value = CODEC_ID_SHORTEN,
-};
-#endif
-
-#if CONFIG_VC1_DEMUXER
-AVInputFormat vc1_demuxer = {
-    "vc1",
-    NULL_IF_CONFIG_SMALL("raw VC-1"),
-    0,
-    NULL /* vc1_probe */,
-    ff_raw_video_read_header,
-    ff_raw_read_partial_packet,
-    .extensions = "vc1",
-    .value = CODEC_ID_VC1,
-};
-#endif
diff --git a/libavformat/raw.h b/libavformat/raw.h
deleted file mode 100644 (file)
index 9621e0c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * RAW muxer and demuxer
- * Copyright (C) 2007  Aurelien Jacobs <aurel@gnuage.org>
- *
- * This file is part of FFmpeg.
- *
- * FFmpeg is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * FFmpeg is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef AVFORMAT_RAW_H
-#define AVFORMAT_RAW_H
-
-#include "avformat.h"
-
-int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt);
-
-int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap);
-
-int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt);
-
-int ff_raw_audio_read_header(AVFormatContext *s, AVFormatParameters *ap);
-
-int ff_raw_video_read_header(AVFormatContext *s, AVFormatParameters *ap);
-
-#endif /* AVFORMAT_RAW_H */
diff --git a/libavformat/rawdec.c b/libavformat/rawdec.c
new file mode 100644 (file)
index 0000000..e093969
--- /dev/null
@@ -0,0 +1,221 @@
+/*
+ * RAW demuxers
+ * Copyright (c) 2001 Fabrice Bellard
+ * Copyright (c) 2005 Alex Beregszaszi
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avformat.h"
+#include "rawdec.h"
+
+/* raw input */
+int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap)
+{
+    AVStream *st;
+    enum CodecID id;
+
+    st = av_new_stream(s, 0);
+    if (!st)
+        return AVERROR(ENOMEM);
+
+        id = s->iformat->value;
+        if (id == CODEC_ID_RAWVIDEO) {
+            st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+        } else {
+            st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
+        }
+        st->codec->codec_id = id;
+
+        switch(st->codec->codec_type) {
+        case AVMEDIA_TYPE_AUDIO:
+            st->codec->sample_rate = ap->sample_rate;
+            if(ap->channels) st->codec->channels = ap->channels;
+            else             st->codec->channels = 1;
+            st->codec->bits_per_coded_sample = av_get_bits_per_sample(st->codec->codec_id);
+            assert(st->codec->bits_per_coded_sample > 0);
+            st->codec->block_align = st->codec->bits_per_coded_sample*st->codec->channels/8;
+            av_set_pts_info(st, 64, 1, st->codec->sample_rate);
+            break;
+        case AVMEDIA_TYPE_VIDEO:
+            if(ap->time_base.num)
+                av_set_pts_info(st, 64, ap->time_base.num, ap->time_base.den);
+            else
+                av_set_pts_info(st, 64, 1, 25);
+            st->codec->width = ap->width;
+            st->codec->height = ap->height;
+            st->codec->pix_fmt = ap->pix_fmt;
+            if(st->codec->pix_fmt == PIX_FMT_NONE)
+                st->codec->pix_fmt= PIX_FMT_YUV420P;
+            break;
+        default:
+            return -1;
+        }
+    return 0;
+}
+
+#define RAW_PACKET_SIZE 1024
+
+int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt)
+{
+    int ret, size;
+
+    size = RAW_PACKET_SIZE;
+
+    if (av_new_packet(pkt, size) < 0)
+        return AVERROR(ENOMEM);
+
+    pkt->pos= url_ftell(s->pb);
+    pkt->stream_index = 0;
+    ret = get_partial_buffer(s->pb, pkt->data, size);
+    if (ret < 0) {
+        av_free_packet(pkt);
+        return ret;
+    }
+    pkt->size = ret;
+    return ret;
+}
+
+int ff_raw_audio_read_header(AVFormatContext *s,
+                             AVFormatParameters *ap)
+{
+    AVStream *st = av_new_stream(s, 0);
+    if (!st)
+        return AVERROR(ENOMEM);
+    st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
+    st->codec->codec_id = s->iformat->value;
+    st->need_parsing = AVSTREAM_PARSE_FULL;
+    /* the parameters will be extracted from the compressed bitstream */
+
+    return 0;
+}
+
+/* MPEG-1/H.263 input */
+int ff_raw_video_read_header(AVFormatContext *s,
+                             AVFormatParameters *ap)
+{
+    AVStream *st;
+
+    st = av_new_stream(s, 0);
+    if (!st)
+        return AVERROR(ENOMEM);
+
+    st->codec->codec_type = AVMEDIA_TYPE_VIDEO;
+    st->codec->codec_id = s->iformat->value;
+    st->need_parsing = AVSTREAM_PARSE_FULL;
+
+    /* for MJPEG, specify frame rate */
+    /* for MPEG-4 specify it, too (most MPEG-4 streams do not have the fixed_vop_rate set ...)*/
+    if (ap->time_base.num) {
+        st->codec->time_base= ap->time_base;
+    } else if ( st->codec->codec_id == CODEC_ID_MJPEG ||
+                st->codec->codec_id == CODEC_ID_MPEG4 ||
+                st->codec->codec_id == CODEC_ID_DIRAC ||
+                st->codec->codec_id == CODEC_ID_DNXHD ||
+                st->codec->codec_id == CODEC_ID_VC1   ||
+                st->codec->codec_id == CODEC_ID_H264) {
+        st->codec->time_base= (AVRational){1,25};
+    }
+    av_set_pts_info(st, 64, 1, 1200000);
+
+    return 0;
+}
+
+/* Note: Do not forget to add new entries to the Makefile as well. */
+
+#if CONFIG_GSM_DEMUXER
+AVInputFormat gsm_demuxer = {
+    "gsm",
+    NULL_IF_CONFIG_SMALL("raw GSM"),
+    0,
+    NULL,
+    ff_raw_audio_read_header,
+    ff_raw_read_partial_packet,
+    .flags= AVFMT_GENERIC_INDEX,
+    .extensions = "gsm",
+    .value = CODEC_ID_GSM,
+};
+#endif
+
+#if CONFIG_MJPEG_DEMUXER
+AVInputFormat mjpeg_demuxer = {
+    "mjpeg",
+    NULL_IF_CONFIG_SMALL("raw MJPEG video"),
+    0,
+    NULL,
+    ff_raw_video_read_header,
+    ff_raw_read_partial_packet,
+    .flags= AVFMT_GENERIC_INDEX,
+    .extensions = "mjpg,mjpeg",
+    .value = CODEC_ID_MJPEG,
+};
+#endif
+
+#if CONFIG_MLP_DEMUXER
+AVInputFormat mlp_demuxer = {
+    "mlp",
+    NULL_IF_CONFIG_SMALL("raw MLP"),
+    0,
+    NULL,
+    ff_raw_audio_read_header,
+    ff_raw_read_partial_packet,
+    .flags= AVFMT_GENERIC_INDEX,
+    .extensions = "mlp",
+    .value = CODEC_ID_MLP,
+};
+#endif
+
+#if CONFIG_TRUEHD_DEMUXER
+AVInputFormat truehd_demuxer = {
+    "truehd",
+    NULL_IF_CONFIG_SMALL("raw TrueHD"),
+    0,
+    NULL,
+    ff_raw_audio_read_header,
+    ff_raw_read_partial_packet,
+    .flags= AVFMT_GENERIC_INDEX,
+    .extensions = "thd",
+    .value = CODEC_ID_TRUEHD,
+};
+#endif
+
+#if CONFIG_SHORTEN_DEMUXER
+AVInputFormat shorten_demuxer = {
+    "shn",
+    NULL_IF_CONFIG_SMALL("raw Shorten"),
+    0,
+    NULL,
+    ff_raw_audio_read_header,
+    ff_raw_read_partial_packet,
+    .flags= AVFMT_GENERIC_INDEX,
+    .extensions = "shn",
+    .value = CODEC_ID_SHORTEN,
+};
+#endif
+
+#if CONFIG_VC1_DEMUXER
+AVInputFormat vc1_demuxer = {
+    "vc1",
+    NULL_IF_CONFIG_SMALL("raw VC-1"),
+    0,
+    NULL /* vc1_probe */,
+    ff_raw_video_read_header,
+    ff_raw_read_partial_packet,
+    .extensions = "vc1",
+    .value = CODEC_ID_VC1,
+};
+#endif
diff --git a/libavformat/rawdec.h b/libavformat/rawdec.h
new file mode 100644 (file)
index 0000000..0b0cf1b
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * RAW demuxers
+ * Copyright (C) 2007  Aurelien Jacobs <aurel@gnuage.org>
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVFORMAT_RAWDEC_H
+#define AVFORMAT_RAWDEC_H
+
+#include "avformat.h"
+
+int ff_raw_read_header(AVFormatContext *s, AVFormatParameters *ap);
+
+int ff_raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt);
+
+int ff_raw_audio_read_header(AVFormatContext *s, AVFormatParameters *ap);
+
+int ff_raw_video_read_header(AVFormatContext *s, AVFormatParameters *ap);
+
+#endif /* AVFORMAT_RAWDEC_H */
diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
new file mode 100644 (file)
index 0000000..119292d
--- /dev/null
@@ -0,0 +1,285 @@
+/*
+ * RAW muxers
+ * Copyright (c) 2001 Fabrice Bellard
+ * Copyright (c) 2005 Alex Beregszaszi
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "avformat.h"
+#include "rawenc.h"
+
+int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt)
+{
+    put_buffer(s->pb, pkt->data, pkt->size);
+    put_flush_packet(s->pb);
+    return 0;
+}
+
+/* Note: Do not forget to add new entries to the Makefile as well. */
+
+#if CONFIG_AC3_MUXER
+AVOutputFormat ac3_muxer = {
+    "ac3",
+    NULL_IF_CONFIG_SMALL("raw AC-3"),
+    "audio/x-ac3",
+    "ac3",
+    0,
+    CODEC_ID_AC3,
+    CODEC_ID_NONE,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_DIRAC_MUXER
+AVOutputFormat dirac_muxer = {
+    "dirac",
+    NULL_IF_CONFIG_SMALL("raw Dirac"),
+    NULL,
+    "drc",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_DIRAC,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_DNXHD_MUXER
+AVOutputFormat dnxhd_muxer = {
+    "dnxhd",
+    NULL_IF_CONFIG_SMALL("raw DNxHD (SMPTE VC-3)"),
+    NULL,
+    "dnxhd",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_DNXHD,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_DTS_MUXER
+AVOutputFormat dts_muxer = {
+    "dts",
+    NULL_IF_CONFIG_SMALL("raw DTS"),
+    "audio/x-dca",
+    "dts",
+    0,
+    CODEC_ID_DTS,
+    CODEC_ID_NONE,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_EAC3_MUXER
+AVOutputFormat eac3_muxer = {
+    "eac3",
+    NULL_IF_CONFIG_SMALL("raw E-AC-3"),
+    "audio/x-eac3",
+    "eac3",
+    0,
+    CODEC_ID_EAC3,
+    CODEC_ID_NONE,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_H261_MUXER
+AVOutputFormat h261_muxer = {
+    "h261",
+    NULL_IF_CONFIG_SMALL("raw H.261"),
+    "video/x-h261",
+    "h261",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_H261,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_H263_MUXER
+AVOutputFormat h263_muxer = {
+    "h263",
+    NULL_IF_CONFIG_SMALL("raw H.263"),
+    "video/x-h263",
+    "h263",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_H263,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_H264_MUXER
+AVOutputFormat h264_muxer = {
+    "h264",
+    NULL_IF_CONFIG_SMALL("raw H.264 video format"),
+    NULL,
+    "h264",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_H264,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_CAVSVIDEO_MUXER
+AVOutputFormat cavsvideo_muxer = {
+    "cavsvideo",
+    NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
+    NULL,
+    "cavs",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_CAVS,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_M4V_MUXER
+AVOutputFormat m4v_muxer = {
+    "m4v",
+    NULL_IF_CONFIG_SMALL("raw MPEG-4 video format"),
+    NULL,
+    "m4v",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_MPEG4,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_MJPEG_MUXER
+AVOutputFormat mjpeg_muxer = {
+    "mjpeg",
+    NULL_IF_CONFIG_SMALL("raw MJPEG video"),
+    "video/x-mjpeg",
+    "mjpg,mjpeg",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_MJPEG,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_MLP_MUXER
+AVOutputFormat mlp_muxer = {
+    "mlp",
+    NULL_IF_CONFIG_SMALL("raw MLP"),
+    NULL,
+    "mlp",
+    0,
+    CODEC_ID_MLP,
+    CODEC_ID_NONE,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_SRT_MUXER
+AVOutputFormat srt_muxer = {
+    .name           = "srt",
+    .long_name      = NULL_IF_CONFIG_SMALL("SubRip subtitle format"),
+    .mime_type      = "application/x-subrip",
+    .extensions     = "srt",
+    .write_packet   = ff_raw_write_packet,
+    .flags          = AVFMT_NOTIMESTAMPS,
+    .subtitle_codec = CODEC_ID_SRT,
+};
+#endif
+
+#if CONFIG_TRUEHD_MUXER
+AVOutputFormat truehd_muxer = {
+    "truehd",
+    NULL_IF_CONFIG_SMALL("raw TrueHD"),
+    NULL,
+    "thd",
+    0,
+    CODEC_ID_TRUEHD,
+    CODEC_ID_NONE,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_MPEG1VIDEO_MUXER
+AVOutputFormat mpeg1video_muxer = {
+    "mpeg1video",
+    NULL_IF_CONFIG_SMALL("raw MPEG-1 video"),
+    "video/x-mpeg",
+    "mpg,mpeg,m1v",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_MPEG1VIDEO,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_MPEG2VIDEO_MUXER
+AVOutputFormat mpeg2video_muxer = {
+    "mpeg2video",
+    NULL_IF_CONFIG_SMALL("raw MPEG-2 video"),
+    NULL,
+    "m2v",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_MPEG2VIDEO,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
+#if CONFIG_RAWVIDEO_MUXER
+AVOutputFormat rawvideo_muxer = {
+    "rawvideo",
+    NULL_IF_CONFIG_SMALL("raw video format"),
+    NULL,
+    "yuv,rgb",
+    0,
+    CODEC_ID_NONE,
+    CODEC_ID_RAWVIDEO,
+    NULL,
+    ff_raw_write_packet,
+    .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
diff --git a/libavformat/rawenc.h b/libavformat/rawenc.h
new file mode 100644 (file)
index 0000000..b552309
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * RAW muxers
+ * Copyright (C) 2007  Aurelien Jacobs <aurel@gnuage.org>
+ *
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVFORMAT_RAWENC_H
+#define AVFORMAT_RAWENC_H
+
+#include "avformat.h"
+
+int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt);
+
+#endif /* AVFORMAT_RAWENC_H */
index 1609875..da61300 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 #include "avformat.h"
-#include "raw.h"
+#include "rawdec.h"
 
 static int rawvideo_read_packet(AVFormatContext *s, AVPacket *pkt)
 {