2 * gstvaapiencoder_mpeg2_priv.h - MPEG-2 encoder (private definitions)
4 * Copyright (C) 2013-2014 Intel Corporation
5 * Author: Guangxin Xu <guangxin.xu@intel.com>
6 * Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
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.
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.
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
24 #ifndef GST_VAAPI_ENCODER_MPEG2_PRIV_H
25 #define GST_VAAPI_ENCODER_MPEG2_PRIV_H
27 #include "gstvaapiencoder_priv.h"
28 #include "gstvaapiutils_mpeg2.h"
32 #define GST_VAAPI_ENCODER_MPEG2_CAST(encoder) \
33 ((GstVaapiEncoderMpeg2 *) (encoder))
35 #define START_CODE_PICUTRE 0x00000100
36 #define START_CODE_SLICE 0x00000101
37 #define START_CODE_USER 0x000001B2
38 #define START_CODE_SEQ 0x000001B3
39 #define START_CODE_EXT 0x000001B5
40 #define START_CODE_GOP 0x000001B8
42 struct _GstVaapiEncoderMpeg2
44 GstVaapiEncoder parent_instance;
46 GstVaapiProfile profile;
47 GstVaapiLevelMPEG2 level;
50 guint32 cqp; /* quantizer value for CQP mode */
59 GstVaapiSurfaceProxy *forward;
60 GstVaapiSurfaceProxy *backward;
61 guint32 frame_num; /* same value picture header, but it's not mod by 1024 */
66 #endif /* GST_VAAPI_ENCODER_MPEG2_PRIV_H */