diff options
Diffstat (limited to 'libavcodec/h264.h')
-rw-r--r-- | libavcodec/h264.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h index a8e1101aa5..1820ca5990 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -299,6 +299,9 @@ typedef struct H264Picture { typedef struct H264SliceContext { struct H264Context *h264; + int qscale; + int chroma_qp[2]; // QPc + // Weighted pred stuff int use_weight; int use_weight_chroma; @@ -332,7 +335,6 @@ typedef struct H264Context { int nb_slice_ctx; int pixel_shift; ///< 0 for 8-bit H264, 1 for high-bit-depth H264 - int chroma_qp[2]; // QPc int qp_thresh; ///< QP threshold to skip loopfilter @@ -341,7 +343,6 @@ typedef struct H264Context { ptrdiff_t linesize, uvlinesize; int chroma_x_shift, chroma_y_shift; - int qscale; int droppable; int coded_picture_number; int low_delay; @@ -804,15 +805,15 @@ void ff_h264_decode_init_vlc(void); * Decode a macroblock * @return 0 if OK, ER_AC_ERROR / ER_DC_ERROR / ER_MV_ERROR on error */ -int ff_h264_decode_mb_cavlc(H264Context *h); +int ff_h264_decode_mb_cavlc(H264Context *h, H264SliceContext *sl); /** * Decode a CABAC coded macroblock * @return 0 if OK, ER_AC_ERROR / ER_DC_ERROR / ER_MV_ERROR on error */ -int ff_h264_decode_mb_cabac(H264Context *h); +int ff_h264_decode_mb_cabac(H264Context *h, H264SliceContext *sl); -void ff_h264_init_cabac_states(H264Context *h); +void ff_h264_init_cabac_states(H264Context *h, H264SliceContext *sl); void h264_init_dequant_tables(H264Context *h); @@ -820,10 +821,10 @@ void ff_h264_direct_dist_scale_factor(H264Context *const h); void ff_h264_direct_ref_list_init(H264Context *const h); void ff_h264_pred_direct_motion(H264Context *const h, int *mb_type); -void ff_h264_filter_mb_fast(H264Context *h, int mb_x, int mb_y, +void ff_h264_filter_mb_fast(H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize); -void ff_h264_filter_mb(H264Context *h, int mb_x, int mb_y, +void ff_h264_filter_mb(H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize); |