1 /* 2 * gstvaapiencoder_mpeg2.h - MPEG-2 encoder 3 * 4 * Copyright (C) 2011-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_VAAPI_ENCODER_MPEG2_H 25 #define GST_VAAPI_ENCODER_MPEG2_H 26 27 #include <gst/vaapi/gstvaapiencoder.h> 28 29 G_BEGIN_DECLS 30 31 #define GST_VAAPI_ENCODER_MPEG2(encoder) \ 32 ((GstVaapiEncoderMpeg2 *) (encoder)) 33 34 typedef struct _GstVaapiEncoderMpeg2 GstVaapiEncoderMpeg2; 35 36 /** 37 * GstVaapiEncoderMpeg2Prop: 38 * @GST_VAAPI_ENCODER_MPEG2_PROP_QUANTIZER: Constant quantizer value (uint). 39 * @GST_VAAPI_ENCODER_MPEG2_PROP_MAX_BFRAMES: Number of B-frames between I 40 * and P (uint). 41 * 42 * The set of MPEG-2 encoder specific configurable properties. 43 */ 44 typedef enum { 45 GST_VAAPI_ENCODER_MPEG2_PROP_QUANTIZER = -1, 46 GST_VAAPI_ENCODER_MPEG2_PROP_MAX_BFRAMES = -2, 47 } GstVaapiEncoderMpeg2Prop; 48 49 GstVaapiEncoder * 50 gst_vaapi_encoder_mpeg2_new (GstVaapiDisplay * display); 51 52 GPtrArray * 53 gst_vaapi_encoder_mpeg2_get_default_properties (void); 54 55 G_END_DECLS 56 57 #endif /* GST_VAAPI_ENCODER_MPEG2_H */ 58