| rev |
line source |
|
nengel@2
|
1 #ifndef H264_MISC_H
|
|
nengel@2
|
2 #define H264_MISC_H
|
|
nengel@2
|
3
|
|
nengel@2
|
4 #include "avcodec.h"
|
|
nengel@2
|
5 #include "h264_types.h"
|
|
nengel@2
|
6
|
|
nengel@2
|
7 void start_timer(H264Context *h, int stage);
|
|
nengel@2
|
8 void stop_timer(H264Context *h, int stage);
|
|
nengel@2
|
9
|
|
nengel@2
|
10 void init_sb_entry(H264Context *h, SliceBufferEntry *sbe);
|
|
nengel@2
|
11 void free_sb_entry(SliceBufferEntry *sb);
|
|
nengel@2
|
12 SliceBufferEntry *get_sb_entry(H264Context *h);
|
|
nengel@2
|
13 void release_sb_entry(H264Context *h, SliceBufferEntry *sb);
|
|
nengel@2
|
14
|
|
nengel@2
|
15 DecodedPicture *get_dpb_entry(H264Context *h, H264Slice *s);
|
|
nengel@2
|
16 void release_dpb_entry(H264Context *h, DecodedPicture *pic, int mode);
|
|
nengel@2
|
17
|
|
nengel@2
|
18 void draw_edges(MBRecContext *d, H264Slice *s, int line);
|
|
nengel@2
|
19
|
|
nengel@2
|
20 int ff_init_slice(NalContext *n, H264Slice *s);
|
|
nengel@2
|
21 void free_picture(PictureInfo *pic);
|
|
nengel@2
|
22 void free_dp(DecodedPicture *pic);
|
|
nengel@2
|
23
|
|
nengel@2
|
24 void av_start_timer();
|
|
nengel@2
|
25 int copyEDtoH264Slice(H264Slice *ms, H264Slice *es);
|
|
nengel@2
|
26 void print_report(int frame_number, uint64_t video_size, int is_last_report, int verbose);
|
|
nengel@2
|
27
|
|
nengel@2
|
28 int ff_alloc_picture_info(NalContext *n, H264Slice *s, PictureInfo *pic);
|
|
nengel@2
|
29 DecodedPicture *output_frame(H264Context *h, OutputContext *oc, DecodedPicture *pic, int fd, int frame_width, int frame_height);
|
|
nengel@2
|
30 OutputContext *get_output_context(H264Context *h);
|
|
nengel@2
|
31 void free_output_context(OutputContext *oc);
|
|
nengel@2
|
32
|
|
nengel@2
|
33 void freeSuperMBContext(SuperMBContext *smbc);
|
|
nengel@2
|
34 SuperMBContext *getSuperMBContext(H264Context *h, int smb_width, int smb_height);
|
|
nengel@2
|
35 void release_smbc(H264Context *h, SuperMBContext *smbc);
|
|
nengel@2
|
36 SuperMBContext * acquire_smbc(H264Context *h );
|
|
nengel@2
|
37
|
|
nengel@2
|
38 #if HAVE_LIBSDL2
|
|
nengel@2
|
39 void signal_sdl_exit(H264Context *h);
|
|
nengel@2
|
40 void *sdl_thread(void *arg);
|
|
nengel@2
|
41 SDLContext *get_SDL_context(H264Context *h);
|
|
nengel@2
|
42 void free_SDL_context(SDLContext *sdlc);
|
|
nengel@2
|
43 #endif
|
|
nengel@2
|
44
|
|
nengel@2
|
45 /**
|
|
nengel@2
|
46 * gets the chroma qp.
|
|
nengel@2
|
47 */
|
|
nengel@2
|
48 static inline int get_chroma_qp(H264Slice *s, int t, int qscale){
|
|
nengel@2
|
49 return s->pps.chroma_qp_table[t][qscale];
|
|
nengel@2
|
50 }
|
|
nengel@2
|
51
|
|
nengel@2
|
52 #endif
|