Tool/software: Linux
there is codec data (ffmpeg calls it extra_data) when h264 is contained in mp4 format.
(it contains SPS/PPS info, but not raw format of SPS/PPS)
how to pass these data to libdce?
thanks.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
there is codec data (ffmpeg calls it extra_data) when h264 is contained in mp4 format.
(it contains SPS/PPS info, but not raw format of SPS/PPS)
how to pass these data to libdce?
thanks.
Hi Halley,
I could not which extra_data you have mentioned. Can you please add more information?
IH264VDEC_NAL_UNIT_FORMAT bitStreamFormat is to indicate that stream doesn't have start codes for NAL units.
Ramprasad
Hi Halley,
Decoder itself detects and decodes SPS /PPS header from a IDR frame . You can try the .264 elementary stream present in /usr/share/ti/video of targetfs
Ramprasad
Hi Halley,
Halley Zhao said:1. the extradata from mp4 file format includes sps/pps information, but not raw sps/pps. sps/pps should be extracted from extradata:
github.com/.../h264_parse.c
Do you mean, its the extra data as in this link's section 19.5?
Halley Zhao said:so, I draw the conclusion that:
app need parse sps/pps from extradata, then prefix it to the first video frame data (before send the buffer to libdce).
when we talk about h264 decoding, usually, it is not about elementary stream; but contained in mp4 file format.
the sps/pps information is provided in file format in a different way.
Yes,your assumption is right if you are pointing to the extradata as in the above link or the data in the mp4 format, in this case application or the framework should parse all these extradata and provide the elementary format stream to the libdce which will in-turn send this to codec.
Codec accepts the data only in elementary format and it doesn't understand container/mp4 file format.
yes, we are talking about the same thing.
I challenge the interface design, why not support extra_data and nal_size+nalu data for libdce?
it can avoids some computation to pare element stream into multiple nal/slices -- I assume hardware process data slice by slice.