1
mirror of https://github.com/mpv-player/mpv synced 2025-01-05 03:06:28 +01:00
mpv/libmpcodecs/dec_video.h
Uoti Urpala 02efad79a2 Update OSD while paused
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.
2008-12-09 04:31:07 +02:00

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 */