Revision 0151a6f5 libavcodec/mpegvideo.h

View differences:

libavcodec/mpegvideo.h
41 41
#define ME_MAP_SHIFT 3
42 42
#define ME_MAP_MV_BITS 11
43 43

  
44
/* run length table */
45
#define MAX_RUN    64
46
#define MAX_LEVEL  64
47

  
44 48
typedef struct Predictor{
45 49
    double coeff;
46 50
    double count;
......
143 147
    int last_dc[3];              /* last DC values for MPEG1 */
144 148
    INT16 *dc_val[3];            /* used for mpeg4 DC prediction, all 3 arrays must be continuous */
145 149
    int y_dc_scale, c_dc_scale;
150
    UINT8 *y_dc_scale_table;     /* qscale -> y_dc_scale table */
151
    UINT8 *c_dc_scale_table;     /* qscale -> c_dc_scale table */
146 152
    UINT8 *coded_block;          /* used for coded block pattern prediction (msmpeg4v3, wmv1)*/
147 153
    INT16 (*ac_val[3])[16];      /* used for for mpeg4 AC prediction, all 3 arrays must be continuous */
148 154
    int ac_pred;
......
376 382
    int slice_height;      /* in macroblocks */
377 383
    int first_slice_line;  /* used in mpeg4 too to handle resync markers */
378 384
    int flipflop_rounding;
379
    int msmpeg4_version;   /* 0=not msmpeg4, 1=mp41, 2=mp42, 3=mp43/divx3 */
385
    int msmpeg4_version;   /* 0=not msmpeg4, 1=mp41, 2=mp42, 3=mp43/divx3 4=wmv1/7 5=wmv2/8*/
386
    int per_mb_rl_table;
387
    int esc3_level_length;
388
    int esc3_run_length;
389
    UINT8 *inter_scantable;
390
    UINT8 *intra_scantable;
391
    UINT8 *intra_v_scantable;
392
    UINT8 *intra_h_scantable;
393
    /* [mb_intra][isChroma][level][run][last] */
394
    int ac_stats[2][2][MAX_LEVEL+1][MAX_RUN+1][2];
395
    
396

  
380 397
    /* decompression specific */
381 398
    GetBitContext gb;
382 399

  
......
452 469
/* mpeg12.c */
453 470
extern INT16 default_intra_matrix[64];
454 471
extern INT16 default_non_intra_matrix[64];
472
extern UINT8 ff_mpeg1_dc_scale_table[128];
455 473

  
456 474
void mpeg1_encode_picture_header(MpegEncContext *s, int picture_number);
457 475
void mpeg1_encode_mb(MpegEncContext *s,
458 476
                     DCTELEM block[6][64],
459 477
                     int motion_x, int motion_y);
460
void mpeg1_encode_init(MpegEncContext *s);
478
void ff_mpeg1_encode_init(MpegEncContext *s);
461 479

  
462 480
/* h263enc.c */
463 481

  
464
/* run length table */
465
#define MAX_RUN    64
466
#define MAX_LEVEL  64
467

  
468 482
typedef struct RLTable {
469 483
    int n; /* number of entries of table_vlc minus 1 */
470 484
    int last; /* number of values for last = 0 */
......
491 505
    return index + level - 1;
492 506
}
493 507

  
508
extern UINT8 ff_mpeg4_y_dc_scale_table[32];
509
extern UINT8 ff_mpeg4_c_dc_scale_table[32];
494 510
void h263_encode_mb(MpegEncContext *s, 
495 511
                    DCTELEM block[6][64],
496 512
                    int motion_x, int motion_y);
......
499 515
                    int motion_x, int motion_y);
500 516
void h263_encode_picture_header(MpegEncContext *s, int picture_number);
501 517
int h263_encode_gob_header(MpegEncContext * s, int mb_line);
502
void h263_dc_scale(MpegEncContext *s);
503 518
INT16 *h263_pred_motion(MpegEncContext * s, int block, 
504 519
                        int *px, int *py);
505 520
void mpeg4_pred_ac(MpegEncContext * s, INT16 *block, int n, 
......
523 538
void ff_mpeg4_stuffing(PutBitContext * pbc);
524 539
void ff_mpeg4_init_partitions(MpegEncContext *s);
525 540
void ff_mpeg4_merge_partitions(MpegEncContext *s);
541
extern inline int ff_mpeg4_pred_dc(MpegEncContext * s, int n, UINT16 **dc_val_ptr, int *dir_ptr);
526 542

  
527 543
/* rv10.c */
528 544
void rv10_encode_picture_header(MpegEncContext *s, int picture_number);
......
538 554
int msmpeg4_decode_ext_header(MpegEncContext * s, int buf_size);
539 555
int msmpeg4_decode_mb(MpegEncContext *s, 
540 556
                      DCTELEM block[6][64]);
541
int msmpeg4_decode_init_vlc(MpegEncContext *s);
542
void ff_old_msmpeg4_dc_scale(MpegEncContext *s);
557
int ff_msmpeg4_decode_init(MpegEncContext *s);
558
void ff_msmpeg4_encode_init(MpegEncContext *s);
543 559

  
544 560
/* mjpegenc.c */
545 561

  

Also available in: Unified diff