Changeset 797

Show
Ignore:
Timestamp:
02/06/08 00:21:28 (6 months ago)
Author:
astrange
Message:

Note Fraps version in the readme. Don't try to decode 4:2:2 H.264 in case anyone has any.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/perian-1.1/FFusionCodec.c

    r787 r797  
    691691                // XXX: at the moment ffmpeg can't handle interlaced H.264 right 
    692692                // specifically PAFF + spatial prediction 
    693                 if (codecID == CODEC_ID_H264 && ffusionIsParsedVideoInterlaced(glob->begin.parser)) 
     693                if (codecID == CODEC_ID_H264 && ffusionIsParsedVideoDecodable(glob->begin.parser)) 
    694694                        err = featureUnsupported; 
    695695                 
  • branches/perian-1.1/Release/Read Me.rtf

    r791 r797  
    2121        \'95 ffvhuff\ 
    2222        \'95 MPEG-1 & 2 Video\ 
    23         \'95 FRAPS
     23        \'95 Fraps (up to v4)
    2424        \'95 Windows Media Audio v1 & v2\ 
    2525        \'95 Flash ADPCM\ 
     
    8383\ 
    8484\ 
    85 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural 
    8685 
    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
    9088 
    91 \b0 \cf0                GNU LESSER GENERAL PUBLIC LICENSE\ 
     89\b0             GNU LESSER GENERAL PUBLIC LICENSE\ 
    9290                       Version 2.1, February 1999\ 
    9391\ 
  • branches/perian-1.1/bitstream_info.c

    r750 r797  
    250250        int num_ref_frames_in_pic_order_cnt_cycle; 
    251251        int sum_of_offset_for_ref_frames; 
     252         
     253        int chroma_format_idc; 
    252254}H264ParserContext; 
    253255 
     
    331333        if(profile_idc >= 100) 
    332334        { 
     335                context->chroma_format_idc = get_ue_golomb(gb); 
    333336                //high profile 
    334                 if(get_ue_golomb(gb) == 3)    //chroma_format_idc 
     337                if(context->chroma_format_idc == 3)   //chroma_format_idc 
    335338                        get_bits1(gb);                  //residual_color_transfrom_flag 
    336339                get_ue_golomb(gb);                      //bit_depth_luma_minus8 
     
    821824} 
    822825 
    823 int ffusionIsParsedVideoInterlaced(FFusionParserContext *parser) 
     826int ffusionIsParsedVideoDecodable(FFusionParserContext *parser) 
    824827{ 
    825828        if (parser->parserStructure == &ffusionH264Parser) { 
    826829                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); 
    828833        } 
    829834         
  • branches/perian-1.1/bitstream_info.h

    r744 r797  
    4343int ffusionParseExtraData(FFusionParserContext *parser, const uint8_t *buf, int buf_size); 
    4444int ffusionParse(FFusionParserContext *parser, const uint8_t *buf, int buf_size, int *out_buf_size, int *type, int *skippable); 
    45 int ffusionIsParsedVideoInterlaced(FFusionParserContext *parser); 
     45int ffusionIsParsedVideoDecodable(FFusionParserContext *parser); 
    4646 
    4747#ifdef __cplusplus