improve format support

This commit is contained in:
Wim Taymans 2016-08-26 20:26:34 +02:00
parent a973007a49
commit ee17176faf
8 changed files with 222 additions and 91 deletions

View file

@ -36,7 +36,7 @@ typedef enum {
SPA_PROP_ID_AUDIO_RATE,
SPA_PROP_ID_AUDIO_CHANNELS,
SPA_PROP_ID_AUDIO_CHANNEL_MASK,
SPA_PROP_ID_AUDIO_RAW_INFO,
SPA_PROP_ID_AUDIO_INFO_RAW,
} SpaPropIdAudio;
SpaResult spa_prop_info_fill_audio (SpaPropInfo *info,

View file

@ -37,25 +37,48 @@ typedef enum {
SPA_MEDIA_TYPE_IMAGE = 3,
} SpaMediaType;
typedef enum {
SPA_MEDIA_SUBTYPE_INVALID = 0,
SPA_MEDIA_SUBTYPE_RAW = 1,
SPA_MEDIA_SUBTYPE_H264 = 2,
SPA_MEDIA_SUBTYPE_MJPG = 3,
SPA_MEDIA_SUBTYPE_DV = 4,
SPA_MEDIA_SUBTYPE_MPEGTS = 5,
SPA_MEDIA_SUBTYPE_H263 = 6,
SPA_MEDIA_SUBTYPE_MPEG1 = 7,
SPA_MEDIA_SUBTYPE_MPEG2 = 8,
SPA_MEDIA_SUBTYPE_MPEG4 = 9,
SPA_MEDIA_SUBTYPE_XVID = 10,
SPA_MEDIA_SUBTYPE_VC1 = 11,
SPA_MEDIA_SUBTYPE_VP8 = 12,
SPA_MEDIA_SUBTYPE_VP9 = 13,
SPA_MEDIA_SUBTYPE_JPEG = 14,
SPA_MEDIA_SUBTYPE_BAYER = 15,
SPA_MEDIA_SUBTYPE_MP3 = 16,
SPA_MEDIA_SUBTYPE_AAC = 17,
#define SPA_MEDIA_SUBTYPE_ANY_FIRST 1
SPA_MEDIA_SUBTYPE_RAW = SPA_MEDIA_SUBTYPE_ANY_FIRST,
#define SPA_MEDIA_SUBTYPE_ANY_LAST SPA_MEDIA_SUBTYPE_RAW
/* VIDEO */
#define SPA_MEDIA_SUBTYPE_VIDEO_FIRST 20
SPA_MEDIA_SUBTYPE_H264 = SPA_MEDIA_SUBTYPE_VIDEO_FIRST,
SPA_MEDIA_SUBTYPE_MJPG,
SPA_MEDIA_SUBTYPE_DV,
SPA_MEDIA_SUBTYPE_MPEGTS,
SPA_MEDIA_SUBTYPE_H263,
SPA_MEDIA_SUBTYPE_MPEG1,
SPA_MEDIA_SUBTYPE_MPEG2,
SPA_MEDIA_SUBTYPE_MPEG4,
SPA_MEDIA_SUBTYPE_XVID,
SPA_MEDIA_SUBTYPE_VC1,
SPA_MEDIA_SUBTYPE_VP8,
SPA_MEDIA_SUBTYPE_VP9,
SPA_MEDIA_SUBTYPE_JPEG,
SPA_MEDIA_SUBTYPE_BAYER,
#define SPA_MEDIA_SUBTYPE_VIDEO_LAST SPA_MEDIA_SUBTYPE_BAYER
/* AUDIO */
#define SPA_MEDIA_SUBTYPE_AUDIO_FIRST 200
SPA_MEDIA_SUBTYPE_MP3 = SPA_MEDIA_SUBTYPE_AUDIO_FIRST,
SPA_MEDIA_SUBTYPE_AAC,
SPA_MEDIA_SUBTYPE_VORBIS,
SPA_MEDIA_SUBTYPE_WMA,
SPA_MEDIA_SUBTYPE_RA,
SPA_MEDIA_SUBTYPE_SBC,
SPA_MEDIA_SUBTYPE_ADPCM,
SPA_MEDIA_SUBTYPE_G723,
SPA_MEDIA_SUBTYPE_G726,
SPA_MEDIA_SUBTYPE_G729,
SPA_MEDIA_SUBTYPE_AMR,
SPA_MEDIA_SUBTYPE_GSM,
#define SPA_MEDIA_SUBTYPE_AUDIO_LAST SPA_MEDIA_SUBTYPE_GSM
} SpaMediaSubType;
/**

View file

@ -24,12 +24,12 @@
extern "C" {
#endif
typedef struct _SpaVideoInfoJPEG SpaVideoInfoJPEG;
typedef struct _SpaVideoInfoMJPG SpaVideoInfoMJPG;
#include <spa/format.h>
#include <spa/video/format.h>
struct _SpaVideoInfoJPEG {
struct _SpaVideoInfoMJPG {
SpaRectangle size;
SpaFraction framerate;
SpaFraction max_framerate;

View file

@ -45,7 +45,8 @@ typedef enum {
SPA_PROP_ID_VIDEO_COLOR_MATRIX,
SPA_PROP_ID_VIDEO_TRANSFER_FUNCTION,
SPA_PROP_ID_VIDEO_COLOR_PRIMARIES,
SPA_PROP_ID_VIDEO_RAW_INFO,
SPA_PROP_ID_VIDEO_INFO_RAW,
SPA_PROP_ID_VIDEO_INFO_MJPG,
} SpaPropIdVideo;
SpaResult spa_prop_info_fill_video (SpaPropInfo *info,
@ -62,7 +63,7 @@ struct _SpaFormatVideo {
SpaFormat format;
union {
SpaVideoInfoRaw raw;
SpaVideoInfoJPEG jpeg;
SpaVideoInfoMJPG mjpg;
} info;
};