gst_plugins_base/gst-libs/gst/pbutils/descriptions.c
branchRCL_3
changeset 29 567bb019e3e3
parent 0 0e761a78d257
child 30 7e817e7e631c
equal deleted inserted replaced
6:9b2c3c7a1a9c 29:567bb019e3e3
    28  * and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
    28  * and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
    29  * in error dialogs or other messages shown to users.
    29  * in error dialogs or other messages shown to users.
    30  * </para>
    30  * </para>
    31  * <para>
    31  * <para>
    32  * gst_pb_utils_add_codec_description_to_tag_list() is a utility function
    32  * gst_pb_utils_add_codec_description_to_tag_list() is a utility function
    33  * for demuxer and decoder elements to add audio/
    33  * for demuxer and decoder elements to add audio/video codec tags from a
    34 #ifdef __SYMBIAN32__
       
    35 EXPORT_C
       
    36 #endif
       
    37 video codec tags from a
       
    38  * given (fixed) #GstCaps.
    34  * given (fixed) #GstCaps.
    39  * </para>
    35  * </para>
    40  * </refsect2>
    36  * </refsect2>
    41  */
    37  */
    42 
    38 
    43 #ifdef HAVE_CONFIG_H
    39 #ifdef HAVE_CONFIG_H
    44 # include "config.h"
    40 # include "config.h"
    45 #endif
    41 #endif
    46 
    42 
    47 #ifdef __SYMBIAN32__
    43 #ifdef __SYMBIAN32__
    48 #include <gst_global.h>
    44 #include <gst/gst_global.h>
    49 #endif
    45 #endif
    50 
    46 
    51 #include "gst/gst-i18n-plugin.h"
    47 #include "gst/gst-i18n-plugin.h"
    52 
    48 
    53 #include "pbutils.h"
    49 #include "pbutils.h"
    71   /* container/tag formats with static descriptions */
    67   /* container/tag formats with static descriptions */
    72   {"application/ogg", "Ogg", FLAG_CONTAINER},
    68   {"application/ogg", "Ogg", FLAG_CONTAINER},
    73   {"application/vnd.rn-realmedia", "Realmedia", FLAG_CONTAINER},
    69   {"application/vnd.rn-realmedia", "Realmedia", FLAG_CONTAINER},
    74   {"application/x-id3", N_("ID3 tag"), FLAG_CONTAINER},
    70   {"application/x-id3", N_("ID3 tag"), FLAG_CONTAINER},
    75   {"application/x-ape", N_("APE tag"), FLAG_CONTAINER},
    71   {"application/x-ape", N_("APE tag"), FLAG_CONTAINER},
       
    72   {"application/x-apetag", N_("APE tag"), FLAG_CONTAINER},
    76   {"application/x-icy", N_("ICY internet radio"), FLAG_CONTAINER},
    73   {"application/x-icy", N_("ICY internet radio"), FLAG_CONTAINER},
       
    74   {"application/x-3gp", "3GP", FLAG_CONTAINER},
       
    75   {"multipart/x-mixed-replace", "Multipart", FLAG_CONTAINER},
    77   {"video/x-fli", "FLI/FLC/FLX Animation", FLAG_CONTAINER},
    76   {"video/x-fli", "FLI/FLC/FLX Animation", FLAG_CONTAINER},
    78   {"video/x-flv", "Flash", FLAG_CONTAINER},
    77   {"video/x-flv", "Flash", FLAG_CONTAINER},
    79   {"video/x-matroska", "Matroska", FLAG_CONTAINER},
    78   {"video/x-matroska", "Matroska", FLAG_CONTAINER},
    80   {"video/x-ms-asf", "Advanced Streaming Format (ASF)", FLAG_CONTAINER},
    79   {"video/x-ms-asf", "Advanced Streaming Format (ASF)", FLAG_CONTAINER},
    81   {"video/x-msvideo", "AVI", FLAG_CONTAINER},
    80   {"video/x-msvideo", "AVI", FLAG_CONTAINER},
    82   {"video/x-quicktime", "Quicktime", FLAG_CONTAINER},
    81   {"video/x-quicktime", "Quicktime", FLAG_CONTAINER},
    83   {"video/quicktime", "Quicktime", FLAG_CONTAINER},
    82   {"video/quicktime", "Quicktime", FLAG_CONTAINER},
       
    83   {"video/mj2", "Motion JPEG 2000", FLAG_CONTAINER},
    84 
    84 
    85   /* audio formats with static descriptions */
    85   /* audio formats with static descriptions */
    86   {"audio/x-ac3", "AC-3 (ATSC A/52)", 0},
    86   {"audio/x-ac3", "AC-3 (ATSC A/52)", 0},
    87   {"audio/ac3", "AC-3 (ATSC A/52)", 0},
    87   {"audio/ac3", "AC-3 (ATSC A/52)", 0},
    88   {"audio/x-private-ac3", "DVD AC-3 (ATSC A/52)", 0},
    88   {"audio/x-private-ac3", "DVD AC-3 (ATSC A/52)", 0},
   118   {"audio/x-musepack", "Musepack (MPC)", 0},
   118   {"audio/x-musepack", "Musepack (MPC)", 0},
   119   {"audio/x-nellymoser", "Nellymoser Asao", 0},
   119   {"audio/x-nellymoser", "Nellymoser Asao", 0},
   120   {"audio/x-nist", "Sphere NIST", 0},
   120   {"audio/x-nist", "Sphere NIST", 0},
   121   {"audio/x-nsf", "Nintendo NSF", 0},
   121   {"audio/x-nsf", "Nintendo NSF", 0},
   122   {"audio/x-paris", "Ensoniq PARIS", 0},
   122   {"audio/x-paris", "Ensoniq PARIS", 0},
       
   123   {"audio/x-qdm", "QDesign Music (QDM)", 0},
   123   {"audio/x-qdm2", "QDesign Music (QDM) 2", 0},
   124   {"audio/x-qdm2", "QDesign Music (QDM) 2", 0},
   124   {"audio/x-ralf-mpeg4-generic", "Real Audio Lossless (RALF)", 0},
   125   {"audio/x-ralf-mpeg4-generic", "Real Audio Lossless (RALF)", 0},
   125   {"audio/x-sds", "SDS", 0},
   126   {"audio/x-sds", "SDS", 0},
   126   {"audio/x-shorten", "Shorten Lossless", 0},
   127   {"audio/x-shorten", "Shorten Lossless", 0},
   127   {"audio/x-sid", "Sid", 0},
   128   {"audio/x-sid", "Sid", 0},
   128   {"audio/x-sipro", "Sipro/ACELP.NET Voice", 0},
   129   {"audio/x-sipro", "Sipro/ACELP.NET Voice", 0},
       
   130   {"audio/x-siren", "Siren", 0},
   129   {"audio/x-spc", "SNES-SPC700 Sound File Data", 0},
   131   {"audio/x-spc", "SNES-SPC700 Sound File Data", 0},
   130   {"audio/x-speex", "Speex", 0},
   132   {"audio/x-speex", "Speex", 0},
   131   {"audio/x-svx", "Amiga IFF / SVX8 / SV16", 0},
   133   {"audio/x-svx", "Amiga IFF / SVX8 / SV16", 0},
   132   {"audio/x-tta", N_("Lossless True Audio (TTA)"), 0},
   134   {"audio/x-tta", N_("Lossless True Audio (TTA)"), 0},
   133   {"audio/x-ttafile", N_("Lossless True Audio (TTA)"), 0},
   135   {"audio/x-ttafile", N_("Lossless True Audio (TTA)"), 0},
   155   {"video/x-compressed-yuv", N_("CYUV Lossless"), 0},
   157   {"video/x-compressed-yuv", N_("CYUV Lossless"), 0},
   156   {"video/x-dirac", "Dirac", 0},
   158   {"video/x-dirac", "Dirac", 0},
   157   {"video/x-dvd-subpicture", "DVD subpicture", 0},
   159   {"video/x-dvd-subpicture", "DVD subpicture", 0},
   158   {"video/x-ffv", N_("FFMpeg v1"), 0},
   160   {"video/x-ffv", N_("FFMpeg v1"), 0},
   159   {"video/x-flash-screen", "Flash Screen Video", 0},
   161   {"video/x-flash-screen", "Flash Screen Video", 0},
   160   {"video/x-flash-video", "Flash Video", 0},
   162   {"video/x-flash-video", "Sorenson Spark Video", 0},
   161   {"video/x-h261", "H.261", 0},
   163   {"video/x-h261", "H.261", 0},
   162   {"video/x-huffyuv", "Huffyuv", 0},
   164   {"video/x-huffyuv", "Huffyuv", 0},
   163   {"video/x-intel-h263", "Intel H.263", 0},
   165   {"video/x-intel-h263", "Intel H.263", 0},
   164   {"video/x-jpeg", "Motion JPEG", 0},
   166   {"video/x-jpeg", "Motion JPEG", 0},
   165   /* { "video/x-jpeg-b", "", 0 }, does this actually exist? */
   167   /* { "video/x-jpeg-b", "", 0 }, does this actually exist? */
   202   {"image/ppm", "PPM", 0},
   204   {"image/ppm", "PPM", 0},
   203   {"image/svg+xml", "Scalable Vector Graphics (SVG)", 0},
   205   {"image/svg+xml", "Scalable Vector Graphics (SVG)", 0},
   204   {"image/tiff", "TIFF", 0},
   206   {"image/tiff", "TIFF", 0},
   205   {"image/x-cmu-raster", "CMU Raster Format", 0},
   207   {"image/x-cmu-raster", "CMU Raster Format", 0},
   206   {"image/x-icon", "ICO", 0},
   208   {"image/x-icon", "ICO", 0},
       
   209   {"image/x-j2c", "JPEG 2000", 0},
       
   210   {"image/x-jpc", "JPEG 2000", 0},
       
   211   {"image/jp2", "JPEG 2000", 0},
   207   {"image/x-xcf", "XFC", 0},
   212   {"image/x-xcf", "XFC", 0},
   208   {"image/x-pixmap", "XPM", 0},
   213   {"image/x-pixmap", "XPM", 0},
   209   {"image/x-xpixmap", "XPM", 0},
   214   {"image/x-xpixmap", "XPM", 0},
   210   {"image/x-quicktime", "QuickTime Image Format (QTIF)", 0},
   215   {"image/x-quicktime", "QuickTime Image Format (QTIF)", 0},
   211   {"image/x-sun-raster", "Sun Raster Format (RAS)", 0},
   216   {"image/x-sun-raster", "Sun Raster Format (RAS)", 0},
   212   {"image/x-tga", "TGA", 0},
   217   {"image/x-tga", "TGA", 0},
   213 
   218 
   214   /* subtitle formats with static descriptions */
   219   /* subtitle formats with static descriptions */
   215   {"application/x-subtitle-sami", N_("Sami subtitle format"), 0},
   220   {"application/x-subtitle-sami", N_("Sami subtitle format"), 0},
   216   {"application/x-subtitle-tmplayer", N_("TMPlayer subtitle format"), 0},
   221   {"application/x-subtitle-tmplayer", N_("TMPlayer subtitle format"), 0},
       
   222   {"application/x-kate", "Kate", 0},
       
   223   {"subtitle/x-kate", N_("Kate subtitle format"), 0},
   217   /* add variant field to typefinder? { "application/x-subtitle", N_("subtitle"), 0}, */
   224   /* add variant field to typefinder? { "application/x-subtitle", N_("subtitle"), 0}, */
       
   225 
       
   226   /* non-audio/video/container formats */
       
   227   {"hdv/aux-v", "HDV AUX-V", 0},
       
   228   {"hdv/aux-a", "HDV AUX-A", 0},
   218 
   229 
   219   /* formats with dynamic descriptions */
   230   /* formats with dynamic descriptions */
   220   {"audio/mpeg", NULL, 0},
   231   {"audio/mpeg", NULL, 0},
   221   {"audio/x-adpcm", NULL, 0},
   232   {"audio/x-adpcm", NULL, 0},
   222   {"audio/x-mace", NULL, 0},
   233   {"audio/x-mace", NULL, 0},
   353       ret = "H.264";
   364       ret = "H.264";
   354     else if (strcmp (variant, "itu") == 0)
   365     else if (strcmp (variant, "itu") == 0)
   355       ret = "ITU H.264";
   366       ret = "ITU H.264";
   356     else if (strcmp (variant, "videosoft") == 0)
   367     else if (strcmp (variant, "videosoft") == 0)
   357       ret = "Videosoft H.264";
   368       ret = "Videosoft H.264";
       
   369     else if (strcmp (variant, "lead") == 0)
       
   370       ret = "Lead H.264";
   358     else {
   371     else {
   359       GST_WARNING ("Unknown H264 variant '%s'", variant);
   372       GST_WARNING ("Unknown H264 variant '%s'", variant);
   360       ret = "H.264";
   373       ret = "H.264";
   361     }
   374     }
   362     return g_strdup (ret);
   375     return g_strdup (ret);