[FFmpeg-trac] #4000(undetermined:new): mpeg4: Magenta color shift in first GOP
FFmpeg
trac at avcodec.org
Fri Oct 3 11:19:11 CEST 2014
#4000: mpeg4: Magenta color shift in first GOP
-------------------------------------+-------------------------------------
Reporter: | Owner:
ErikCJohansson | Status: new
Type: defect | Component:
Priority: normal | undetermined
Version: unspecified | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by ErikCJohansson):
If I understand correctly, I've extracted the output of the libswscale
conversion as per below. Will attach the histogram which has a distinct
magenta shift, it's a bit rough around the edges since it uses a naive
reconstruction from 420 to 444. Now I'm intrigued how the codec can
perform so well on frames 0,12-
{{{
ffmpeg started on 2014-10-03 at 11:11:41
Report written to "ffmpeg-20141003-111141.log"
Command line:
./ffmpeg -i /mnt/pickles/media/images1/dpx/legal0.dpx -vcodec rawvideo
-pix_fmt yuv420p -report ../testyuv420p.yuv
ffmpeg version N-66581-g105654e Copyright (c) 2000-2014 the FFmpeg
developers
built on Oct 3 2014 08:07:25 with gcc 4.4.7 (GCC) 20120313 (Red Hat
4.4.7-3)
configuration:
libavutil 54. 9.100 / 54. 9.100
libavcodec 56. 2.101 / 56. 2.101
libavformat 56. 7.102 / 56. 7.102
libavdevice 56. 1.100 / 56. 1.100
libavfilter 5. 1.102 / 5. 1.102
libswscale 3. 1.100 / 3. 1.100
libswresample 1. 1.100 / 1. 1.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument
'/mnt/pickles/media/images1/dpx/legal0.dpx'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
('copy' to copy stream)) with argument 'rawvideo'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
format) with argument 'yuv420p'.
Reading option '-report' ... matched as option 'report' (generate a
report) with argument '1'.
Reading option '../testyuv420p.yuv' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file
/mnt/pickles/media/images1/dpx/legal0.dpx.
Successfully parsed a group of options.
Opening an input file: /mnt/pickles/media/images1/dpx/legal0.dpx.
[dpx_pipe @ 0x327b4e0] Format dpx_pipe probed with size=2048 and score=51
[dpx_pipe @ 0x327b4e0] Before avformat_find_stream_info() pos: 0 bytes
read:32768 seeks:0
[dpx_pipe @ 0x327b4e0] Probe buffer size limit of 5000000 bytes reached
[dpx_pipe @ 0x327b4e0] Stream #0: not enough frames to estimate rate;
consider increasing probesize
[dpx_pipe @ 0x327b4e0] After avformat_find_stream_info() pos: 8296448
bytes read:8296448 seeks:0 frames:1
Input #0, dpx_pipe, from '/mnt/pickles/media/images1/dpx/legal0.dpx':
Duration: N/A, bitrate: N/A
Stream #0:0, 1, 1/25: Video: dpx, gbrp10le, 1920x1080, 23.98 tbr, 25
tbn, 23.98 tbc
Successfully opened the file.
Parsing a group of options: output file ../testyuv420p.yuv.
Applying option vcodec (force video codec ('copy' to copy stream)) with
argument rawvideo.
Applying option pix_fmt (set pixel format) with argument yuv420p.
Successfully parsed a group of options.
Opening an output file: ../testyuv420p.yuv.
Successfully opened the file.
detected 2 logical cores
[graph 0 input from stream 0:0 @ 0x327aec0] Setting 'video_size' to value
'1920x1080'
[graph 0 input from stream 0:0 @ 0x327aec0] Setting 'pix_fmt' to value
'86'
[graph 0 input from stream 0:0 @ 0x327aec0] Setting 'time_base' to value
'1/25'
[graph 0 input from stream 0:0 @ 0x327aec0] Setting 'pixel_aspect' to
value '0/1'
[graph 0 input from stream 0:0 @ 0x327aec0] Setting 'sws_param' to value
'flags=2'
[graph 0 input from stream 0:0 @ 0x327aec0] Setting 'frame_rate' to value
'2997/125'
[graph 0 input from stream 0:0 @ 0x327aec0] w:1920 h:1080 pixfmt:gbrp10le
tb:1/25 fr:2997/125 sar:0/1 sws_param:flags=2
[format @ 0x327e440] compat: called with args=[yuv420p]
[format @ 0x327e440] Setting 'pix_fmts' to value 'yuv420p'
[auto-inserted scaler 0 @ 0x327efc0] Setting 'flags' to value '0x4'
[auto-inserted scaler 0 @ 0x327efc0] w:iw h:ih flags:'0x4' interl:0
[format @ 0x327e440] auto-inserting filter 'auto-inserted scaler 0'
between the filter 'Parsed_null_0' and the filter 'format'
[AVFilterGraph @ 0x326a5c0] query_formats: 4 queried, 2 merged, 1 already
done, 0 delayed
[auto-inserted scaler 0 @ 0x327efc0] w:1920 h:1080 fmt:gbrp10le sar:0/1 ->
w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0x4
Output #0, rawvideo, to '../testyuv420p.yuv':
Metadata:
encoder : Lavf56.7.102
Stream #0:0, 0, 125/2997: Video: rawvideo (I420 / 0x30323449),
yuv420p, 1920x1080, q=2-31, 200 kb/s, 23.98 fps, 23.98 tbn, 23.98 tbc
Metadata:
encoder : Lavc56.2.101 rawvideo
Stream mapping:
Stream #0:0 -> #0:0 (dpx (native) -> rawvideo (native))
Press [q] to stop, [?] for help
[output stream 0:0 @ 0x326a3c0] EOF on sink link output stream
0:0:default.
No more output streams to write to, finishing.
frame= 1 fps=0.0 q=0.0 Lsize= 3038kB time=00:00:00.04
bitrate=596605.0kbits/s
video:3038kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.000000%
Input file #0 (/mnt/pickles/media/images1/dpx/legal0.dpx):
Input stream #0:0 (video): 1 packets read (8296448 bytes); 1 frames
decoded;
Total: 1 packets (8296448 bytes) demuxed
Output file #0 (../testyuv420p.yuv):
Output stream #0:0 (video): 1 frames encoded; 1 packets muxed (3110400
bytes);
Total: 1 packets (3110400 bytes) muxed
1 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x327e260] Statistics: 0 seeks, 95 writeouts
[AVIOContext @ 0x327a720] Statistics: 8296448 bytes read, 0 seeks
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/4000#comment:7>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list