1 /* 2 * gstvaapiencode_mpeg2.h - VA-API MPEG2 encoder 3 * 4 * Copyright (C) 2012-2014 Intel Corporation 5 * Author: Guangxin Xu <guangxin.xu@intel.com> 6 * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public License 10 * as published by the Free Software Foundation; either version 2.1 11 * of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library; if not, write to the Free 20 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 * Boston, MA 02110-1301 USA 22 */ 23 24 #ifndef GST_VAAPIENCODE_MPEG2_H 25 #define GST_VAAPIENCODE_MPEG2_H 26 27 #include <gst/gst.h> 28 #include "gstvaapiencode.h" 29 30 G_BEGIN_DECLS 31 32 #define GST_TYPE_VAAPIENCODE_MPEG2 \ 33 (gst_vaapiencode_mpeg2_get_type ()) 34 #define GST_VAAPIENCODE_MPEG2_CAST(obj) \ 35 ((GstVaapiEncodeMpeg2 *)(obj)) 36 #define GST_VAAPIENCODE_MPEG2(obj) \ 37 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VAAPIENCODE_MPEG2, \ 38 GstVaapiEncodeMpeg2)) 39 #define GST_VAAPIENCODE_MPEG2_CLASS(klass) \ 40 (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VAAPIENCODE_MPEG2, \ 41 GstVaapiEncodeMpeg2Class)) 42 #define GST_VAAPIENCODE_MPEG2_GET_CLASS(obj) \ 43 (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VAAPIENCODE_MPEG2, \ 44 GstVaapiEncodeMpeg2Class)) 45 #define GST_IS_VAAPIENCODE_MPEG2(obj) \ 46 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE_MPEG2)) 47 #define GST_IS_VAAPIENCODE_MPEG2_CLASS(klass) \ 48 (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE_MPEG2)) 49 50 typedef struct _GstVaapiEncodeMpeg2 GstVaapiEncodeMpeg2; 51 typedef struct _GstVaapiEncodeMpeg2Class GstVaapiEncodeMpeg2Class; 52 53 struct _GstVaapiEncodeMpeg2 54 { 55 /*< private >*/ 56 GstVaapiEncode parent_instance; 57 58 guint32 quantizer; 59 guint32 intra_period; 60 guint32 ip_period; 61 }; 62 63 struct _GstVaapiEncodeMpeg2Class 64 { 65 /*< private >*/ 66 GstVaapiEncodeClass parent_class; 67 }; 68 69 GType 70 gst_vaapiencode_mpeg2_get_type (void) G_GNUC_CONST; 71 72 G_END_DECLS 73 74 #endif /* GST_VAAPIENCODE_MPEG2_H */ 75