gstdspvdec.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright (C) 2009-2010 Felipe Contreras
  3. *
  4. * Author: Felipe Contreras <felipe.contreras@gmail.com>
  5. *
  6. * This file may be used under the terms of the GNU Lesser General Public
  7. * License version 2.1, a copy of which is found in LICENSE included in the
  8. * packaging of this file.
  9. */
  10. #ifndef GST_DSP_VDEC_H
  11. #define GST_DSP_VDEC_H
  12. #include <gst/gst.h>
  13. G_BEGIN_DECLS
  14. #define GST_DSP_VDEC(obj) (GstDspVDec *)(obj)
  15. #define GST_DSP_VDEC_TYPE (gst_dsp_vdec_get_type())
  16. #define GST_DSP_VDEC_CLASS(obj) (GstDspVDecClass *)(obj)
  17. typedef struct _GstDspVDec GstDspVDec;
  18. typedef struct _GstDspVDecClass GstDspVDecClass;
  19. #include "gstdspbase.h"
  20. enum {
  21. GSTDSP_MPEG4VDEC,
  22. GSTDSP_H264DEC,
  23. GSTDSP_H263DEC,
  24. GSTDSP_WMVDEC,
  25. GSTDSP_JPEGDEC,
  26. };
  27. union vdec_priv_data {
  28. struct {
  29. gint lol;
  30. gboolean is_avc;
  31. } h264;
  32. struct {
  33. gboolean is_divx;
  34. } mpeg4;
  35. };
  36. struct _GstDspVDec {
  37. GstDspBase element;
  38. gint width, height;
  39. gint crop_width, crop_height;
  40. gint frame_index;
  41. gboolean wmv_is_vc1;
  42. gboolean jpeg_is_interlaced;
  43. gboolean codec_data_sent;
  44. guint32 color_format;
  45. union vdec_priv_data priv;
  46. };
  47. struct _GstDspVDecClass {
  48. GstDspBaseClass parent_class;
  49. };
  50. void gstdsp_vdec_len_fixup(GstDspVDec *self, dmm_buffer_t *b);
  51. GType gst_dsp_vdec_get_type(void);
  52. G_END_DECLS
  53. #endif /* GST_DSP_VDEC_H */