comparison vc1.c @ 3781:8e79b099d354 libavcodec

dc_val should be signed
author mru
date Wed, 27 Sep 2006 22:13:44 +0000
parents 1843a85123b7
children 3a151ccc6ed7
comparison
equal deleted inserted replaced
3780:6741c0e88310 3781:8e79b099d354
2339 * @param[in] n block index in the current MB 2339 * @param[in] n block index in the current MB
2340 * @param dc_val_ptr Pointer to DC predictor 2340 * @param dc_val_ptr Pointer to DC predictor
2341 * @param dir_ptr Prediction direction for use in AC prediction 2341 * @param dir_ptr Prediction direction for use in AC prediction
2342 */ 2342 */
2343 static inline int vc1_i_pred_dc(MpegEncContext *s, int overlap, int pq, int n, 2343 static inline int vc1_i_pred_dc(MpegEncContext *s, int overlap, int pq, int n,
2344 uint16_t **dc_val_ptr, int *dir_ptr) 2344 int16_t **dc_val_ptr, int *dir_ptr)
2345 { 2345 {
2346 int a, b, c, wrap, pred, scale; 2346 int a, b, c, wrap, pred, scale;
2347 uint16_t *dc_val; 2347 int16_t *dc_val;
2348 static const uint16_t dcpred[32] = { 2348 static const uint16_t dcpred[32] = {
2349 -1, 1024, 512, 341, 256, 205, 171, 146, 128, 2349 -1, 1024, 512, 341, 256, 205, 171, 146, 128,
2350 114, 102, 93, 85, 79, 73, 68, 64, 2350 114, 102, 93, 85, 79, 73, 68, 64,
2351 60, 57, 54, 51, 49, 47, 45, 43, 2351 60, 57, 54, 51, 49, 47, 45, 43,
2352 41, 39, 38, 37, 35, 34, 33 2352 41, 39, 38, 37, 35, 34, 33
2400 * @param dc_val_ptr Pointer to DC predictor 2400 * @param dc_val_ptr Pointer to DC predictor
2401 * @param dir_ptr Prediction direction for use in AC prediction 2401 * @param dir_ptr Prediction direction for use in AC prediction
2402 */ 2402 */
2403 static inline int vc1_pred_dc(MpegEncContext *s, int overlap, int pq, int n, 2403 static inline int vc1_pred_dc(MpegEncContext *s, int overlap, int pq, int n,
2404 int a_avail, int c_avail, 2404 int a_avail, int c_avail,
2405 uint16_t **dc_val_ptr, int *dir_ptr) 2405 int16_t **dc_val_ptr, int *dir_ptr)
2406 { 2406 {
2407 int a, b, c, wrap, pred, scale; 2407 int a, b, c, wrap, pred, scale;
2408 uint16_t *dc_val; 2408 int16_t *dc_val;
2409 int mb_pos = s->mb_x + s->mb_y * s->mb_stride; 2409 int mb_pos = s->mb_x + s->mb_y * s->mb_stride;
2410 int q1, q2 = 0; 2410 int q1, q2 = 0;
2411 2411
2412 /* find prediction - wmv3_dc_scale always used here in fact */ 2412 /* find prediction - wmv3_dc_scale always used here in fact */
2413 if (n < 4) scale = s->y_dc_scale; 2413 if (n < 4) scale = s->y_dc_scale;
2576 { 2576 {
2577 GetBitContext *gb = &v->s.gb; 2577 GetBitContext *gb = &v->s.gb;
2578 MpegEncContext *s = &v->s; 2578 MpegEncContext *s = &v->s;
2579 int dc_pred_dir = 0; /* Direction of the DC prediction used */ 2579 int dc_pred_dir = 0; /* Direction of the DC prediction used */
2580 int run_diff, i; 2580 int run_diff, i;
2581 uint16_t *dc_val; 2581 int16_t *dc_val;
2582 int16_t *ac_val, *ac_val2; 2582 int16_t *ac_val, *ac_val2;
2583 int dcdiff; 2583 int dcdiff;
2584 2584
2585 /* Get DC differential */ 2585 /* Get DC differential */
2586 if (n < 4) { 2586 if (n < 4) {
2741 { 2741 {
2742 GetBitContext *gb = &v->s.gb; 2742 GetBitContext *gb = &v->s.gb;
2743 MpegEncContext *s = &v->s; 2743 MpegEncContext *s = &v->s;
2744 int dc_pred_dir = 0; /* Direction of the DC prediction used */ 2744 int dc_pred_dir = 0; /* Direction of the DC prediction used */
2745 int run_diff, i; 2745 int run_diff, i;
2746 uint16_t *dc_val; 2746 int16_t *dc_val;
2747 int16_t *ac_val, *ac_val2; 2747 int16_t *ac_val, *ac_val2;
2748 int dcdiff; 2748 int dcdiff;
2749 int a_avail = v->a_avail, c_avail = v->c_avail; 2749 int a_avail = v->a_avail, c_avail = v->c_avail;
2750 int use_pred = s->ac_pred; 2750 int use_pred = s->ac_pred;
2751 int scale; 2751 int scale;
2938 { 2938 {
2939 GetBitContext *gb = &v->s.gb; 2939 GetBitContext *gb = &v->s.gb;
2940 MpegEncContext *s = &v->s; 2940 MpegEncContext *s = &v->s;
2941 int dc_pred_dir = 0; /* Direction of the DC prediction used */ 2941 int dc_pred_dir = 0; /* Direction of the DC prediction used */
2942 int run_diff, i; 2942 int run_diff, i;
2943 uint16_t *dc_val; 2943 int16_t *dc_val;
2944 int16_t *ac_val, *ac_val2; 2944 int16_t *ac_val, *ac_val2;
2945 int dcdiff; 2945 int dcdiff;
2946 int mb_pos = s->mb_x + s->mb_y * s->mb_stride; 2946 int mb_pos = s->mb_x + s->mb_y * s->mb_stride;
2947 int a_avail = v->a_avail, c_avail = v->c_avail; 2947 int a_avail = v->a_avail, c_avail = v->c_avail;
2948 int use_pred = s->ac_pred; 2948 int use_pred = s->ac_pred;