Opened 11 years ago
Closed 11 years ago
#1914 closed defect (fixed)
libavcodec is unable to decode h264 created by "Unreal h264 encoder"
Reported by: | Kozlov Sergey | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | h264 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:
How to reproduce:
open file with Graph Studio Next
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Attachments (1)
Change History (6)
by , 11 years ago
Attachment: | test 8.mp4 added |
---|
comment:1 by , 11 years ago
Analyzed by developer: | unset |
---|---|
Keywords: | h264 added; libavcodec removed |
Priority: | important → normal |
Reproduced by developer: | unset |
Version: | unspecified → git-master |
follow-up: 4 comment:2 by , 11 years ago
Graph Studio Plays The File.
I found it:
the error is in mp4muxer or in mp4demuxer (both from GDCL).
I will write them.
You may also take a look at this file.
But it is not encoder or decoder error.
mp4muxer does not give video stream to decoder.
There is offset overflow while reading chanks (negative offset in long variable).
This may be causer by writer (mp4muxer) (wrong data written to file) or by reader mp4demuxer (wrong data reading place).
comment:3 by , 11 years ago
Hello.
I have figured out that in some cases mp4muxer and mp4demuxer work.
Now i suspect UXH264 video encoder and your avcodec.
mp4muxer works for direct stream copy and in case NV12 video format.
For NV12 video format coder, file can be displayer by "Super" player.
Also mp4demuxer works while playing file, created by "Super".
There left only video encoder UXH264 and your decoder.
video encoder is on major suspection.
The video encoder uses "libx264.a".
For this file i have got no source code.
Before conversion to h264 by "libx264.a"
function /* x264_encoder_encode: * encode one picture */ int x264_encoder_encode ( x264_t *, x264_nal_t **, int *, x264_picture_t *, x264_picture_t * );
declared in x364.h file) video has right YV12 format (i had checked).
I will try to check "libx264.a".
Also, could you explain, how to save picture (frame) coded by x264_encoder_encode, and how to view, if it has right?
comment:4 by , 11 years ago
Replying to Kozlov Sergey:
Graph Studio Plays The File.
Iiuc, Graph Studio does not contain a decoder, but uses a decoder installed on your system. Which decoder is installed?
comment:5 by , 11 years ago
Reproduced by developer: | set |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Which software plays the file?
(Is this a 3d / mvc stream?)