Mercurial > mplayer.hg
view libmpdemux/mpeg_hdr.h @ 28992:947ef23ba798
Test if create_vdp_decoder() might succeed by calling it from config()
with a small value for max_reference_frames.
This does not make automatic recovery by using software decoder possible,
but lets MPlayer fail more graciously on - actually existing - buggy
hardware that does not support certain H264 widths when using
hardware accelerated decoding (784, 864, 944, 1024, 1808, 1888 pixels on
NVIDIA G98) and if the user tries to hardware-decode more samples at
the same time than supported.
Might break playback of H264 Intra-Only samples on hardware with very
little video memory.
author | cehoyos |
---|---|
date | Sat, 21 Mar 2009 20:11:05 +0000 |
parents | 4129c8cfa742 |
children | d643e4643313 |
line wrap: on
line source
#ifndef MPLAYER_MPEG_HDR_H #define MPLAYER_MPEG_HDR_H typedef struct { // video info: int mpeg1; // 0=mpeg2 1=mpeg1 int display_picture_width; int display_picture_height; int aspect_ratio_information; int frame_rate_code; float fps; int bitrate; // 0x3FFFF==VBR // timing: int picture_structure; int progressive_sequence; int repeat_first_field; int progressive_frame; int top_field_first; int display_time; // secs*100 //the following are for mpeg4 unsigned int timeinc_resolution, timeinc_bits, timeinc_unit; int picture_type; } mp_mpeg_header_t; int mp_header_process_sequence_header (mp_mpeg_header_t * picture, const unsigned char * buffer); int mp_header_process_extension (mp_mpeg_header_t * picture, unsigned char * buffer); float mpeg12_aspect_info(mp_mpeg_header_t *picture); int mp4_header_process_vol(mp_mpeg_header_t * picture, unsigned char * buffer); void mp4_header_process_vop(mp_mpeg_header_t * picture, unsigned char * buffer); int h264_parse_sps(mp_mpeg_header_t * picture, unsigned char * buf, int len); int mp_vc1_decode_sequence_header(mp_mpeg_header_t * picture, unsigned char * buf, int len); #endif /* MPLAYER_MPEG_HDR_H */