File: h263coder.h

package info (click to toggle)
vic 2.8ucl4-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 5,864 kB
  • ctags: 9,033
  • sloc: ansic: 56,989; cpp: 44,560; tcl: 5,550; sh: 1,382; perl: 1,329; makefile: 357
file content (52 lines) | stat: -rw-r--r-- 1,294 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifdef __cplusplus
extern "C" {
#endif
#include "sim.h"
    
struct ENCODER_STATE {
    PictImage      *prev_image;
    PictImage      *curr_image;
    PictImage      *curr_recon;
    PictImage      *prev_recon;

    /* To be used for temporal scalability. */
    PictImage      *next_P_image;
    PictImage      *next_P_recon;
    PictImage      *prev_P_image;
    PictImage      *prev_P_recon;

    /* To be used for SNR/spatial scalability. */
    PictImage      *prev_enhancement_image;
    PictImage      *prev_enhancement_recon;
    PictImage      *curr_reference_recon;
    PictImage      *curr_enhancement_recon;
    DiffImage      *diff_image;
    DiffImage      *diff_recon;

    /* PB-frame specific */
    PictImage      *B_recon;
    PictImage      *B_image;

    Pict           *pic;
    unsigned char  *image;

    int             prev_I_P_quant;

    int             fixed_frameskip, True_B_frameskip, P_frameskip;

    int             TR_new, TR_old;

    float           DelayBetweenFramesInSeconds;

    PictImage      *stored_image;
};

struct ENCODER_STATE *h263_init_encoder_1();
void h263_init_encoder_2(struct ENCODER_STATE *s);
int h263_encode_one_frame(struct ENCODER_STATE *s, int i, int tr);
void h263_cleanup(struct ENCODER_STATE *s);

#ifdef __cplusplus
}
#endif