X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=libhb%2Fdemuxmpeg.c;h=a0c0102089ccce05d3d34302bd379efdb4f68554;hb=a0ed07535f9bb864d68f7a53e471d8069b89ebc9;hp=9e0a952ee941cd6beaadeb8ff2026686b99f2b94;hpb=de153e3050c5b55a54b0f34b8e2617fd8477a7e9;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/libhb/demuxmpeg.c b/libhb/demuxmpeg.c index 9e0a952e..a0c01020 100644 --- a/libhb/demuxmpeg.c +++ b/libhb/demuxmpeg.c @@ -73,7 +73,7 @@ int hb_demux_ps( hb_buffer_t * buf_ps, hb_list_t * list_es, hb_psdemux_t* state ((uint64_t)(d[pos+2] & 3) << 13) | ((uint64_t)(d[pos+3]) << 5) | (d[pos+4] >> 3); - check_mpeg_scr( state, scr, 100 ); + check_mpeg_scr( state, scr, 300 ); } pos += 9; /* pack_header */ @@ -106,6 +106,23 @@ int hb_demux_ps( hb_buffer_t * buf_ps, hb_list_t * list_es, hb_psdemux_t* state id = d[pos]; pos += 1; + /* pack_header */ + if( id == 0xBA) + { + pos += 10 + (d[pos+9] & 7); + continue; + } + + /* system_header */ + if( id == 0xBB ) + { + int header_length; + + header_length = ( d[pos] << 8 ) + d[pos+1]; + pos += 2 + header_length; + continue; + } + pes_packet_length = ( d[pos] << 8 ) + d[pos+1]; pos += 2; /* pes_packet_length */ pes_packet_end = pos + pes_packet_length;