summaryrefslogtreecommitdiffstats
path: root/sec_mm/sec_omx/sec_codecs
diff options
context:
space:
mode:
authorSeungBeom Kim <sbcrux.kim@samsung.com>2010-09-21 15:36:08 -0700
committerAndreas Huber <andih@google.com>2010-09-27 10:57:00 -0700
commit4446949fada172a194be1f785e4bcc5dde1149d1 (patch)
tree4cef7d429b0b2d3d568ec67932527be9c8aaa997 /sec_mm/sec_omx/sec_codecs
parent550332aee52a0afaa5b26bdf7963c600ae71106c (diff)
downloaddevice_samsung_crespo-4446949fada172a194be1f785e4bcc5dde1149d1.zip
device_samsung_crespo-4446949fada172a194be1f785e4bcc5dde1149d1.tar.gz
device_samsung_crespo-4446949fada172a194be1f785e4bcc5dde1149d1.tar.bz2
S5PC11X: OMX: Change TimeStamp processing routine for Stagefright Seeking
Change-Id: I6a75b7a70013794e8c77bf43dd0ca288e9566235 Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
Diffstat (limited to 'sec_mm/sec_omx/sec_codecs')
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c22
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h8
-rw-r--r--sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/mfc_interface.h5
3 files changed, 35 insertions, 0 deletions
diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c
index abcc020..4293747 100644
--- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c
+++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c
@@ -178,6 +178,12 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecInit(void *openHandle, SSBSIP_MFC_CODEC_TYPE c
pCTX->decOutInfo.buf_width = DecArg.args.dec_init.out_buf_width;
pCTX->decOutInfo.buf_height = DecArg.args.dec_init.out_buf_height;
+ /* by RainAde : crop information */
+ pCTX->decOutInfo.crop_top_offset = DecArg.args.dec_init.out_crop_top_offset;
+ pCTX->decOutInfo.crop_bottom_offset = DecArg.args.dec_init.out_crop_bottom_offset;
+ pCTX->decOutInfo.crop_left_offset = DecArg.args.dec_init.out_crop_left_offset;
+ pCTX->decOutInfo.crop_right_offset = DecArg.args.dec_init.out_crop_right_offset;
+
pCTX->virFrmBuf.luma = DecArg.args.dec_init.out_u_addr.luma;
pCTX->virFrmBuf.chroma = DecArg.args.dec_init.out_u_addr.chroma;
@@ -358,6 +364,12 @@ SSBSIP_MFC_DEC_OUTBUF_STATUS SsbSipMfcDecGetOutBuf(void *openHandle, SSBSIP_MFC_
output_info->buf_width = pCTX->decOutInfo.buf_width;
output_info->buf_height= pCTX->decOutInfo.buf_height;
+ /* by RainAde : for crop information */
+ output_info->crop_top_offset = pCTX->decOutInfo.crop_top_offset;
+ output_info->crop_bottom_offset= pCTX->decOutInfo.crop_bottom_offset;
+ output_info->crop_left_offset = pCTX->decOutInfo.crop_left_offset;
+ output_info->crop_right_offset= pCTX->decOutInfo.crop_right_offset;
+
if (pCTX->displayStatus == 0)
return MFC_GETOUTBUF_DISPLAY_END;
else if (pCTX->displayStatus == 1)
@@ -432,6 +444,7 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
mfc_common_args DecArg;
SSBSIP_MFC_IMG_RESOLUTION *img_resolution;
+ SSBSIP_MFC_CROP_INFORMATION *crop_information;
MFC_CRC_DATA *crc_data;
if (openHandle == NULL) {
@@ -456,6 +469,15 @@ SSBSIP_MFC_ERROR_CODE SsbSipMfcDecGetConfig(void *openHandle, SSBSIP_MFC_DEC_CON
img_resolution->buf_height = pCTX->decOutInfo.buf_height;
break;
+ /* Added by RainAde */
+ case MFC_DEC_GETCONF_CROP_INFO:
+ crop_information = (SSBSIP_MFC_CROP_INFORMATION*)value;
+ crop_information->crop_top_offset = pCTX->decOutInfo.crop_top_offset;
+ crop_information->crop_bottom_offset= pCTX->decOutInfo.crop_bottom_offset;
+ crop_information->crop_left_offset = pCTX->decOutInfo.crop_left_offset;
+ crop_information->crop_right_offset= pCTX->decOutInfo.crop_right_offset;
+ break;
+
case MFC_DEC_GETCONF_CRC_DATA:
crc_data = (MFC_CRC_DATA *)value;
diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h
index f8aaddc..1d2c0e8 100644
--- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h
+++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/SsbSipMfcApi.h
@@ -72,6 +72,7 @@ typedef enum {
MFC_DEC_SETCONF_FRAME_TAG,
MFC_DEC_GETCONF_CRC_DATA,
MFC_DEC_GETCONF_BUF_WIDTH_HEIGHT,
+ MFC_DEC_GETCONF_CROP_INFO,
MFC_DEC_GETCONF_FRAME_TAG
} SSBSIP_MFC_DEC_CONF;
@@ -272,6 +273,13 @@ typedef struct {
int buf_height;
} SSBSIP_MFC_IMG_RESOLUTION;
+typedef struct {
+ int crop_top_offset;
+ int crop_bottom_offset;
+ int crop_left_offset;
+ int crop_right_offset;
+} SSBSIP_MFC_CROP_INFORMATION;
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/mfc_interface.h b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/mfc_interface.h
index ba7f537..e7e23c3 100644
--- a/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/mfc_interface.h
+++ b/sec_mm/sec_omx/sec_codecs/video/mfc_c110/include/mfc_interface.h
@@ -211,6 +211,11 @@ typedef struct {
int out_buf_height; /* [OUT] height of YUV420 frame */
int out_dpb_cnt; /* [OUT] the number of buffers which is nessary during decoding */
+ int out_crop_top_offset; /* [OUT] crop information, top offset */
+ int out_crop_bottom_offset; /* [OUT] crop information, bottom offset */
+ int out_crop_left_offset; /* [OUT] crop information, left offset */
+ int out_crop_right_offset; /* [OUT] crop information, right offset */
+
mfc_frame_buf_arg_t in_frm_buf; /* [IN] the address of dpb FRAME_BUF */
mfc_frame_buf_arg_t in_frm_size; /* [IN] size of dpb FRAME_BUF */
unsigned int in_mapped_addr;