~ubuntu-branches/ubuntu/trusty/gst-plugins-base1.0/trusty-proposed

« back to all changes in this revision

Viewing changes to gst-libs/gst/pbutils/descriptions.c

  • Committer: Package Import Robot
  • Author(s): Sebastian Dröge
  • Date: 2013-09-24 16:24:47 UTC
  • mfrom: (1.1.18) (17.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20130924162447-0s1qfyjlaswtp1jg
* New upstream stable release:
  + debian/rules,
    debian/build-deps.in:
    - Build-depend on GStreamer >= 1.2.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
319
319
  {"video/x-raw", NULL, FLAG_VIDEO, ""},
320
320
  {"video/x-svq", NULL, FLAG_VIDEO, ""},
321
321
  {"video/x-wmv", NULL, FLAG_VIDEO, ""},
322
 
  {"video/x-xan", NULL, FLAG_VIDEO, ""}
 
322
  {"video/x-xan", NULL, FLAG_VIDEO, ""},
 
323
  {"video/x-tscc", NULL, FLAG_VIDEO, ""}
323
324
};
324
325
 
325
326
/* returns static descriptions and dynamic ones (such as video/x-raw),
354
355
    if (GST_VIDEO_FORMAT_INFO_IS_GRAY (finfo)) {
355
356
      ret = g_strdup (_("Uncompressed gray"));
356
357
    } else if (GST_VIDEO_FORMAT_INFO_IS_YUV (finfo)) {
357
 
      const gchar *layout;
358
358
      const gchar *subs;
359
 
      gint w_sub, h_sub;
 
359
      gint w_sub, h_sub, n_semi;
360
360
 
361
361
      w_sub = GST_VIDEO_FORMAT_INFO_W_SUB (finfo, 1);
362
362
      h_sub = GST_VIDEO_FORMAT_INFO_H_SUB (finfo, 1);
363
363
 
364
 
      if (GST_VIDEO_FORMAT_INFO_N_PLANES (finfo) == 1) {
365
 
        layout = "planar";
366
 
      } else {
367
 
        layout = "packed";
368
 
      }
369
 
 
370
364
      if (w_sub == 1 && h_sub == 1) {
371
365
        subs = "4:4:4";
372
366
      } else if (w_sub == 2 && h_sub == 1) {
378
372
      } else {
379
373
        subs = "";
380
374
      }
381
 
      ret = g_strdup_printf (_("Uncompressed %s YUV %s"), layout, subs);
 
375
 
 
376
      n_semi = GST_VIDEO_FORMAT_INFO_HAS_ALPHA (finfo) ? 3 : 2;
 
377
 
 
378
      if (GST_VIDEO_FORMAT_INFO_N_PLANES (finfo) == 1) {
 
379
        ret = g_strdup_printf (_("Uncompressed packed YUV %s"), subs);
 
380
      } else if (GST_VIDEO_FORMAT_INFO_N_PLANES (finfo) == n_semi) {
 
381
        ret = g_strdup_printf (_("Uncompressed semi-planar YUV %s"), subs);
 
382
      } else {
 
383
        ret = g_strdup_printf (_("Uncompressed planar YUV %s"), subs);
 
384
      }
382
385
    } else if (GST_VIDEO_FORMAT_INFO_IS_RGB (finfo)) {
383
386
      gboolean alpha, palette;
384
387
      gint bits;
387
390
      palette = GST_VIDEO_FORMAT_INFO_HAS_PALETTE (finfo);
388
391
      bits = GST_VIDEO_FORMAT_INFO_BITS (finfo);
389
392
 
390
 
      ret = g_strdup_printf (_("Uncompressed %s%d-bit %s"),
391
 
          palette ? "palettized " : "", bits, alpha ? "RGBA" : "RGB");
 
393
      if (palette) {
 
394
        ret = g_strdup_printf (_("Uncompressed palettized %d-bit %s"),
 
395
            bits, alpha ? "RGBA" : "RGB");
 
396
      } else {
 
397
        ret = g_strdup_printf (_("Uncompressed %d-bit %s"),
 
398
            bits, alpha ? "RGBA" : "RGB");
 
399
      }
392
400
    } else {
393
401
      ret = g_strdup (_("Uncompressed video"));
394
402
    }
496
504
    return g_strdup ("Windows Media Audio");
497
505
  } else if (strcmp (info->type, "video/x-wmv") == 0) {
498
506
    gint ver = 0;
 
507
    const gchar *str;
499
508
 
500
509
    gst_structure_get_int (s, "wmvversion", &ver);
 
510
    str = gst_structure_get_string (s, "format");
 
511
 
501
512
    switch (ver) {
502
513
      case 1:
503
514
      case 2:
504
515
      case 3:
505
 
        return g_strdup_printf ("Windows Media Video %d", ver + 6);
 
516
        if (str && strncmp (str, "MSS", 3)) {
 
517
          return g_strdup_printf ("Windows Media Video %d Screen", ver + 6);
 
518
        } else {
 
519
          return g_strdup_printf ("Windows Media Video %d", ver + 6);
 
520
        }
506
521
      default:
507
522
        break;
508
523
    }
669
684
 
670
685
    return g_strdup_printf (_("Raw %d-bit %s audio"), depth,
671
686
        is_float ? "floating-point" : "PCM");
 
687
  } else if (strcmp (info->type, "video/x-tscc") == 0) {
 
688
    gint version;
 
689
    gst_structure_get_int (s, "tsccversion", &version);
 
690
    switch (version) {
 
691
      case 1:
 
692
        return g_strdup ("TechSmith Screen Capture 1");
 
693
      case 2:
 
694
        return g_strdup ("TechSmith Screen Capture 2");
 
695
      default:
 
696
        break;
 
697
    }
 
698
    GST_WARNING ("Unexpected version in %" GST_PTR_FORMAT, caps);
 
699
    return g_strdup ("TechSmith Screen Capture");
672
700
  }
673
701
  return NULL;
674
702
}