[FFmpeg-cvslog] r20814 - trunk/libavcodec/mpeg12.c

Baptiste Coudurier baptiste.coudurier
Wed Dec 15 20:54:41 CET 2010


On 12/15/2010 05:42 AM, Michael Niedermayer wrote:
> On Mon, Dec 06, 2010 at 03:32:53PM -0800, Baptiste Coudurier wrote:
>> On 12/12/09 11:44 AM, michael wrote:
>>> Author: michael
>>> Date: Sat Dec 12 20:44:01 2009
>>> New Revision: 20814
>>>
>>> Log:
>>> Be less picky on invalid invalid frame_pred_frame_dct values.
>>> Fixed issue1615.
>>>
>>> Modified:
>>>     trunk/libavcodec/mpeg12.c
>>>
>>> Modified: trunk/libavcodec/mpeg12.c
>>> ==============================================================================
>>> --- trunk/libavcodec/mpeg12.c	Sat Dec 12 20:15:56 2009	(r20813)
>>> +++ trunk/libavcodec/mpeg12.c	Sat Dec 12 20:44:01 2009	(r20814)
>>> @@ -1557,7 +1557,7 @@ static void mpeg_decode_picture_coding_e
>>>           s->picture_structure= PICT_FRAME;
>>>       }
>>>
>>> -    if(s->progressive_frame&&  !s->frame_pred_frame_dct){
>>> +    if(s->progressive_sequence&&  !s->frame_pred_frame_dct){
>>>           av_log(s->avctx, AV_LOG_ERROR, "invalid frame_pred_frame_dct\n");
>>>           s->frame_pred_frame_dct= 1;
>>>       }
>>
>> This commit and 20654 are causing issues, see #2405.
>>
>> Since frame_pred_frame_dct is affecting the bitstream syntax, overriding
>> it seems unstable to me :/
>
> :/
> Not overriding it makes the state inconsistent, that is interlaced stuff in
> progressive_sequences.
>
> does this file decode correctly without the frame_pred_frame_dct overriding?

Yes.

> does it contain actual non progressive MBs ?

I didn't check that.

> is it free of issues in valgrind if the overridiing is removed and its fuzzed?

==9305== Memcheck, a memory error detector
==9305== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==9305== Using Valgrind-3.6.0-Debian and LibVEX; rerun with -h for 
copyright info
==9305== Command: /home/baptiste/Source/ffmpeg/svn/ffmpeg_g -i 
mpeg2video_yuv422p_unable_to_use_with_libavc_but_with_libmpeg2.mpg -f 
null /dev/null
==9305==
FFmpeg version SVN-r25859, Copyright (c) 2000-2010 the FFmpeg developers
   built on Dec 12 2010 21:45:42 with gcc 4.4.3
   configuration: --enable-gpl --enable-libx264 --enable-libmp3lame 
--disable-devices --disable-bzlib --enable-libvorbis --enable-libtheora 
--enable-libfaac --enable-nonfree --cc=gcc-4.4
   libavutil     50.33. 0 / 50.33. 0
   libavcore      0.14. 0 /  0.14. 0
   libavcodec    52.97. 2 / 52.97. 2
   libavformat   52.87. 1 / 52.87. 1
   libavdevice   52. 2. 2 / 52. 2. 2
   libavfilter    1.66. 0 /  1.66. 0
   libswscale     0.12. 0 /  0.12. 0
[mpeg2video @ 0x65e4cf0] invalid frame_pred_frame_dct
Input #0, mpeg, from 
'mpeg2video_yuv422p_unable_to_use_with_libavc_but_with_libmpeg2.mpg':
   Duration: 00:00:01.30, start: 0.040000, bitrate: 34053 kb/s
     Stream #0.0[0x1e0]: Video: mpeg2video, yuv422p, 1280x720 [PAR 1:1 
DAR 16:9], 100000 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc
     Stream #0.1[0x1c0]: Audio: mp2, 48000 Hz, 2 channels, s16, 384 kb/s
     Stream #0.2[0x1c1]: Audio: mp2, 48000 Hz, 2 channels, s16, 384 kb/s
[buffer @ 0x77e4290] w:1280 h:720 pixfmt:yuv422p
Output #0, null, to '/dev/null':
   Metadata:
     encoder         : Lavf52.87.1
     Stream #0.0: Video: rawvideo, yuv422p, 1280x720 [PAR 1:1 DAR 16:9], 
q=2-31, 200 kb/s, 90k tbn, 50 tbc
     Stream #0.1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Stream mapping:
   Stream #0.0 -> #0.0
   Stream #0.1 -> #0.1
Press [q] to stop encoding
[mpeg2video @ 0x65e4cf0] invalid frame_pred_frame_dct
     Last message repeated 65 times   -0kB time=1.30 bitrate= 
-0.1kbits/s
frame=   66 fps=  5 q=0.0 Lsize=      -0kB time=1.32 bitrate= 
-0.1kbits/s
video:0kB audio:248kB global headers:0kB muxing overhead -100.008681%
==9305==
==9305== HEAP SUMMARY:
==9305==     in use at exit: 0 bytes in 0 blocks
==9305==   total heap usage: 6,659 allocs, 6,659 frees, 157,370,013 
bytes allocated
==9305==
==9305== All heap blocks were freed -- no leaks are possible
==9305==
==9305== For counts of detected and suppressed errors, rerun with: -v
==9305== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)

-- 
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org



More information about the ffmpeg-cvslog mailing list