/*
|
* Copyright 2015 Rockchip Electronics Co. LTD
|
*
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
* you may not use this file except in compliance with the License.
|
* You may obtain a copy of the License at
|
*
|
* http://www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing, software
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* See the License for the specific language governing permissions and
|
* limitations under the License.
|
*/
|
|
#ifndef __JPEGE_SYNTAX_H__
|
#define __JPEGE_SYNTAX_H__
|
|
#include "mpp_frame.h"
|
#include "rk_venc_cmd.h"
|
|
typedef struct JpegeSyntax_t {
|
RK_U32 width;
|
RK_U32 height;
|
RK_U32 hor_stride;
|
RK_U32 ver_stride;
|
RK_U32 mcu_w;
|
RK_U32 mcu_h;
|
MppFrameFormat format;
|
MppFrameColorSpace color;
|
MppEncRotationCfg rotation;
|
RK_U32 offset_x;
|
RK_U32 offset_y;
|
|
/* For quantization table */
|
RK_U32 quality;
|
RK_S32 q_factor;
|
RK_S32 qf_min;
|
RK_S32 qf_max;
|
RK_U8 *qtable_y;
|
RK_U8 *qtable_c;
|
|
/*
|
* For color conversion
|
*
|
* 0 = bt601
|
* 1 = bt709
|
* 2 = user defined
|
*/
|
RK_U32 color_conversion_type;
|
RK_U32 coeffA;
|
RK_U32 coeffB;
|
RK_U32 coeffC;
|
RK_U32 coeffE;
|
RK_U32 coeffF;
|
|
/* For slice encoding mode */
|
RK_U32 slice_enable;
|
RK_U32 slice_size_mb_rows;
|
RK_U32 restart_interval;
|
|
/*
|
* For unit type and density
|
*
|
* units_type 0 - no unit
|
* 1 - dots per inch
|
* 2 - dots per cm
|
*
|
* X/Y density specify the pixel aspect ratio
|
*/
|
RK_U32 units_type;
|
RK_U32 density_x;
|
RK_U32 density_y;
|
|
/* For comment header */
|
RK_U32 comment_length;
|
RK_U8 *comment_data;
|
|
/* For jpeg low delay slice encoding */
|
RK_U32 low_delay;
|
RK_U32 part_rows;
|
RK_U32 restart_ri;
|
} JpegeSyntax;
|
|
typedef struct JpegeFeedback_t {
|
RK_U32 hw_status; /* zero -> correct; non-zero -> error */
|
RK_U32 stream_length;
|
} JpegeFeedback;
|
|
#endif
|