mirror of
https://github.com/mpv-player/mpv
synced 2025-01-05 03:06:28 +01:00
02efad79a2
When OSD contents change while paused, try to change the OSD drawn in the currently visible frame. If such OSD updates are not supported then advance by one frame and draw the OSD normally. Add some support for OSD redrawing to vo xv. The new xv code makes a copy of the original frame contents before drawing the OSD if MPlayer is already paused when the frame is drawn. If such a copy of the current frame exists then the frame contents can be restored and a different OSD drawn on top of the same frame.
31 lines
1.0 KiB
C
31 lines
1.0 KiB
C
#ifndef MPLAYER_DEC_VIDEO_H
|
|
#define MPLAYER_DEC_VIDEO_H
|
|
|
|
#include "libmpdemux/stheader.h"
|
|
|
|
struct osd_state;
|
|
|
|
// dec_video.c:
|
|
void vfm_help(void);
|
|
|
|
int init_best_video_codec(sh_video_t *sh_video, char** video_codec_list, char** video_fm_list);
|
|
void uninit_video(sh_video_t *sh_video);
|
|
|
|
void *decode_video(sh_video_t *sh_video, unsigned char *start, int in_size, int drop_frame, double pts);
|
|
int filter_video(sh_video_t *sh_video, void *frame, double pts,
|
|
struct osd_state *osd);
|
|
|
|
int get_video_quality_max(sh_video_t *sh_video);
|
|
void set_video_quality(sh_video_t *sh_video, int quality);
|
|
|
|
int get_video_colors(sh_video_t *sh_video, const char *item, int *value);
|
|
int set_video_colors(sh_video_t *sh_video, const char *item, int value);
|
|
int set_rectangle(sh_video_t *sh_video, int param, int value);
|
|
int redraw_osd(struct sh_video *sh_video, struct osd_state *osd);
|
|
void resync_video_stream(sh_video_t *sh_video);
|
|
int get_current_video_decoder_lag(sh_video_t *sh_video);
|
|
|
|
extern int divx_quality;
|
|
|
|
#endif /* MPLAYER_DEC_VIDEO_H */
|