r20814 - trunk/libavcodec/mpeg12.c
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; }
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 :/ -- Baptiste COUDURIER Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA FFmpeg maintainer http://www.ffmpeg.org
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? does it contain actual non progressive MBs ? is it free of issues in valgrind if the overridiing is removed and its fuzzed? [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB It is dangerous to be right in matters on which the established authorities are wrong. -- Voltaire
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
participants (3)
-
baptiste.coudurier@gmail.com -
michaelni@gmx.at -
subversion@mplayerhq.hu