Changeset 797
- Timestamp:
- 02/06/08 00:21:28 (6 months ago)
- Files:
-
- branches/perian-1.1/FFusionCodec.c (modified) (1 diff)
- branches/perian-1.1/Release/Read Me.rtf (modified) (2 diffs)
- branches/perian-1.1/bitstream_info.c (modified) (3 diffs)
- branches/perian-1.1/bitstream_info.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/perian-1.1/FFusionCodec.c
r787 r797 691 691 // XXX: at the moment ffmpeg can't handle interlaced H.264 right 692 692 // specifically PAFF + spatial prediction 693 if (codecID == CODEC_ID_H264 && ffusionIsParsedVideo Interlaced(glob->begin.parser))693 if (codecID == CODEC_ID_H264 && ffusionIsParsedVideoDecodable(glob->begin.parser)) 694 694 err = featureUnsupported; 695 695 branches/perian-1.1/Release/Read Me.rtf
r791 r797 21 21 \'95 ffvhuff\ 22 22 \'95 MPEG-1 & 2 Video\ 23 \'95 F RAPS\23 \'95 Fraps (up to v4)\ 24 24 \'95 Windows Media Audio v1 & v2\ 25 25 \'95 Flash ADPCM\ … … 83 83 \ 84 84 \ 85 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural86 85 87 \b \cf0 Licenses\ 88 \ 89 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural 86 \b Licenses\ 87 \ 90 88 91 \b0 \cf0GNU LESSER GENERAL PUBLIC LICENSE\89 \b0 GNU LESSER GENERAL PUBLIC LICENSE\ 92 90 Version 2.1, February 1999\ 93 91 \ branches/perian-1.1/bitstream_info.c
r750 r797 250 250 int num_ref_frames_in_pic_order_cnt_cycle; 251 251 int sum_of_offset_for_ref_frames; 252 253 int chroma_format_idc; 252 254 }H264ParserContext; 253 255 … … 331 333 if(profile_idc >= 100) 332 334 { 335 context->chroma_format_idc = get_ue_golomb(gb); 333 336 //high profile 334 if( get_ue_golomb(gb)== 3) //chroma_format_idc337 if(context->chroma_format_idc == 3) //chroma_format_idc 335 338 get_bits1(gb); //residual_color_transfrom_flag 336 339 get_ue_golomb(gb); //bit_depth_luma_minus8 … … 821 824 } 822 825 823 int ffusionIsParsedVideo Interlaced(FFusionParserContext *parser)826 int ffusionIsParsedVideoDecodable(FFusionParserContext *parser) 824 827 { 825 828 if (parser->parserStructure == &ffusionH264Parser) { 826 829 H264ParserContext *h264parser = parser->internalContext; 827 return !h264parser->frame_mbs_only_flag; 830 831 // don't try to decode interlaced or 4:2:2 H.264 832 return (!h264parser->frame_mbs_only_flag) && (h264parser->chroma_format_idc <= 1); 828 833 } 829 834 branches/perian-1.1/bitstream_info.h
r744 r797 43 43 int ffusionParseExtraData(FFusionParserContext *parser, const uint8_t *buf, int buf_size); 44 44 int ffusionParse(FFusionParserContext *parser, const uint8_t *buf, int buf_size, int *out_buf_size, int *type, int *skippable); 45 int ffusionIsParsedVideo Interlaced(FFusionParserContext *parser);45 int ffusionIsParsedVideoDecodable(FFusionParserContext *parser); 46 46 47 47 #ifdef __cplusplus
