annotate libmpcodecs/dec_video.h @ 31246:cc6ee3017097

Limit buffered PTS only when we actually got a frame from the decoder. This avoids some issues with H.264 PAFF due to dropping PTS values too early because only every second packet actually produced output. Just keeping up to one additional pts value would have avoided this particular issue as well, but this is more generic.
author reimar
date Thu, 03 Jun 2010 20:59:40 +0000
parents bbb6ebec87a0
children 262d9759bfc5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30421
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
1 /*
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
2 * This file is part of MPlayer.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
3 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
5 * it under the terms of the GNU General Public License as published by
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
7 * (at your option) any later version.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
8 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
12 * GNU General Public License for more details.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
13 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
14 * You should have received a copy of the GNU General Public License along
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
17 */
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28051
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
19 #ifndef MPLAYER_DEC_VIDEO_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
20 #define MPLAYER_DEC_VIDEO_H
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
21
26147
41652035483c Add necessary header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
22 #include "libmpdemux/stheader.h"
41652035483c Add necessary header #includes to fix 'make checkheaders'.
diego
parents: 26029
diff changeset
23
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
24 // dec_video.c:
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
25 void vfm_help(void);
7191
1eadce15446c -afm/-vfm help implemenetd, some cosmetics of ad/vd codec names/comments
arpi
parents: 7180
diff changeset
26
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
27 int init_best_video_codec(sh_video_t *sh_video, char** video_codec_list, char** video_fm_list);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
28 void uninit_video(sh_video_t *sh_video);
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
29
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
30 void *decode_video(sh_video_t *sh_video, unsigned char *start, int in_size, int drop_frame, double pts);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
31 int filter_video(sh_video_t *sh_video, void *frame, double pts);
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
32
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
33 int get_video_quality_max(sh_video_t *sh_video);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
34 void set_video_quality(sh_video_t *sh_video, int quality);
2557
6a74454ea121 some cleanup
arpi
parents:
diff changeset
35
28051
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
36 int get_video_colors(sh_video_t *sh_video, const char *item, int *value);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
37 int set_video_colors(sh_video_t *sh_video, const char *item, int value);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
38 int set_rectangle(sh_video_t *sh_video, int param, int value);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
39 void resync_video_stream(sh_video_t *sh_video);
9e739bdb049c Get rid of pointless 'extern' keywords.
diego
parents: 26147
diff changeset
40 int get_current_video_decoder_lag(sh_video_t *sh_video);
2563
fc124f9db88e more cleanup, warnings fixed
arpi
parents: 2557
diff changeset
41
fc124f9db88e more cleanup, warnings fixed
arpi
parents: 2557
diff changeset
42 extern int divx_quality;
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 25326
diff changeset
43
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
44 #endif /* MPLAYER_DEC_VIDEO_H */