Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-06-27 03:31:42 +0400
committerMichael Niedermayer <michaelni@gmx.at>2014-06-27 04:05:22 +0400
commit357168bcf63429e9472fb9fff1e1301f9514dca6 (patch)
tree04b94fe1d99e435cbe63d1b2ef06a728121f21e5 /libavcodec/ivi_common.h
parent826726b83fab660e45166bca476c4e91713c62aa (diff)
parent5ec6d152e26c570c0a16ec72c1f354db95708179 (diff)
Merge commit '5ec6d152e26c570c0a16ec72c1f354db95708179'
* commit '5ec6d152e26c570c0a16ec72c1f354db95708179': indeo4: B-frames decoding Conflicts: libavcodec/ivi_common.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/ivi_common.h')
-rw-r--r--libavcodec/ivi_common.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/libavcodec/ivi_common.h b/libavcodec/ivi_common.h
index a17641f9a7..9fec960e0b 100644
--- a/libavcodec/ivi_common.h
+++ b/libavcodec/ivi_common.h
@@ -117,6 +117,8 @@ typedef struct IVIMbInfo {
int8_t q_delta; ///< quant delta
int8_t mv_x; ///< motion vector (x component)
int8_t mv_y; ///< motion vector (y component)
+ int8_t b_mv_x; ///< second motion vector (x component)
+ int8_t b_mv_y; ///< second motion vector (y component)
} IVIMbInfo;
@@ -150,7 +152,8 @@ typedef struct IVIBandDesc {
int data_size; ///< size of the band data
int16_t *buf; ///< pointer to the output buffer for this band
int16_t *ref_buf; ///< pointer to the reference frame buffer (for motion compensation)
- int16_t *bufs[3]; ///< array of pointers to the band buffers
+ int16_t *b_ref_buf; ///< pointer to the second reference frame buffer (for motion compensation)
+ int16_t *bufs[4]; ///< array of pointers to the band buffers
int pitch; ///< pitch associated with the buffers above
int is_empty; ///< = 1 if this band doesn't contain any data
int mb_size; ///< macroblock size
@@ -232,6 +235,7 @@ typedef struct IVI45DecContext {
int dst_buf; ///< buffer index for the currently decoded frame
int ref_buf; ///< inter frame reference buffer index
int ref2_buf; ///< temporal storage for switching buffers
+ int b_ref_buf; ///< second reference frame buffer index
IVIHuffTab mb_vlc; ///< current macroblock table descriptor
IVIHuffTab blk_vlc; ///< current block table descriptor
@@ -261,7 +265,7 @@ typedef struct IVI45DecContext {
int (*is_nonnull_frame)(struct IVI45DecContext *ctx);
int gop_invalid;
- int buf_invalid[3];
+ int buf_invalid[4];
int is_indeo4;
@@ -316,11 +320,13 @@ int ff_ivi_dec_huff_desc(GetBitContext *gb, int desc_coded, int which_tab,
/**
* Initialize planes (prepares descriptors, allocates buffers etc).
*
- * @param[in,out] planes pointer to the array of the plane descriptors
- * @param[in] cfg pointer to the ivi_pic_config structure describing picture layout
+ * @param[in,out] planes pointer to the array of the plane descriptors
+ * @param[in] cfg pointer to the ivi_pic_config structure describing picture layout
+ * @param[in] is_indeo4 flag signalling if it is Indeo 4 or not
* @return result code: 0 - OK
*/
-int ff_ivi_init_planes(IVIPlaneDesc *planes, const IVIPicConfig *cfg);
+int ff_ivi_init_planes(IVIPlaneDesc *planes, const IVIPicConfig *cfg,
+ int is_indeo4);
/**
* Initialize tile and macroblock descriptors.