Part Number: DRA750
Hello everyone,What is being tried: I am trying to execute "null_src_decode_display" usecase on TDA2xx setup.Steps followed to achieve:1. I tried with 1280x720_00.h264 and 1280x720_00.hdr files (e2e.ti.com/.../2391227. With which usecase in not dispplaying output(only green screen)2. Thinking that we can only use 1920x1080 resolution files I tried to covert mkv file into 1920x1080 resolution .h264 and .hdr files through below commands but 1. Generate index file( all info of video sample) with ffprobe command. ffprobe -show_packets ./H264_artifacts_motion.h264 >index.idx 2. Extract just "Size" from above generated index file with sed command. PAT=size sed -n "/$PAT/p" index.idx | cut -d' ' -f3 >> size_extracted.txt 3. Now generate binary file from size extracted file, with below command. Please note that " size_extracted.txt should not contain any string just numbers i.e size of frame " . cat size_extracted_jelly.txt | perl -n -e 'printf("%08x\n",$_)' | sed 's/\(..\)\(..\)\(..\)\(..\)/0x\4\n0x\3\n0x\2\n0x\1/' | xxd -r -p > Size_test.bin && du -b Size_test.bin It's giving me Size_test.bin file.Issues facing: Not able to create 1920x1080 resolution .h264 and .hdr filesThanks,Nitinwww.blackpeppertech.com/
Default use-case works with 1080P resolution but you can change it to work with 1280x720.
You need to edit use-case file to change below macros and data file names.
#define ENCDEC_MAX_FRAME_WIDTH (1920)#define ENCDEC_MAX_FRAME_HEIGHT (1080)
Do you want to test it only for 1920x1080 resolution?
Prasad JondhaleSr. Software Engineer, Automotive Processors, TI India
In reply to Prasad Jondhale:
Thank you for your prompt response.
I have done following experiments:
What and where you modified:
#define ENCDEC_MAX_FRAME_WIDTH (1280)
#define ENCDEC_MAX_FRAME_HEIGHT (720)
strncpy(pPrm->channelParams[chId].nameDataFile, "/home/1280x720_00.h264", 260);
strncpy(pPrm->channelParams[chId].nameIndexFile, "/home/1280x720_00.hdr", 260);
Current behavior: Not showing video on HDMI screen. log is attached.
What and where you changed:
I have tried changes same as above with 1920x1080 parameters and creating Size_test.bin from ffprobe command.
How to generate .h264 and .hdr file: But I have no idea of creating .h264 and .hdr files for 1920x1080 resolution.
In reply to Nitin Kumar:
The steps are mentioned in other e2e post. With 1280x720 resolution, can you try below images?
Also if you have windows machine steps to generate header and index files are easy as below
ffprobe.exe -show_packets inData.h264 > index.idx
sizeBin.exe index.idx inHeader
Thanks for your kind reply.
I am writing the following mail in continuation of the experiments done by my colleague Nitin :
We basically want to get nullSrc decode display working from the pipeline NullSrc->A15->IPU->Decode->VPE->Display.
We are using the usecase provided by vision SDK and have not modified anything the source code.
We want to try this using 1080p, .h264 video. We have downloaded h264 sample video from
Size of the video is 18MB, Bit rate is 5 Mbps.
We have used following commands as per your previous posts :
On Ubuntu 14.04 :
1. Generate index file( all info of video sample) with ffprobe command.
ffprobe -show_packets ./<video-file-name.h264 >index.idx
2. Extract just "Size" from above generated index file with sed command.
sed -n "/$PAT/p" index.idx | cut -d' ' -f3 >> size_extracted.txt
3. Now generate binary file from size extracted file, with below command.
cat size_extracted.txt | perl -n -e 'printf("%08x\n",$_)' | sed 's/\(..\)\(..\)\(..\)\(..\)/0x\4\n0x\3\n0x\2\n0x\1/' | xxd -r -p > Size_test.bin && du -b Size_test.bin
So, we get the following files :
Size_test.bin file, index.idx and size_extracted.txt files
On Windows :
C:\ffmpeg\bin>ffprobe.exe -show_packets jellyfish-5-mbps-hd.h264 > index.idx
ffprobe version N-89674-g57d0c24132 Copyright (c) 2007-2018 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
libavutil 56. 7.100 / 56. 7.100
libavcodec 58. 9.100 / 58. 9.100
libavformat 58. 3.100 / 58. 3.100
libavdevice 58. 0.100 / 58. 0.100
libavfilter 7. 8.100 / 7. 8.100
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
Input #0, matroska,webm, from 'jellyfish-5-mbps-hd.h264':
encoder : libebml v1.2.0 + libmatroska v1.1.0
creation_time : 2016-02-06T04:00:51.000000Z
Duration: 00:00:30.03, start: 0.000000, bitrate: 4976 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
C:\ffmpeg\bin>sizeBin.exe index.idx inHeader
'sizeBin.exe' is not recognized as an internal or external command,
operable program or batch file.
Issues we are facing :
1) In order to play the video, we need
a) .h264 video
b) .hdr file
So, how can we get the .hdr file from ffprobe command? We only see .bin, .idx and .txt files as mentioned above.
2) The chains_nullSrc_Display.c has following code
strncpy(pPrm->channelParams[chId].nameDataFile, "/home/1920x1080_00.h264", 260);
strncpy(pPrm->channelParams[chId].nameIndexFile, "/home/1920x1080_00.hdr", 260);
Do we need to modify the size - 260 parameters to play the video of 18MB?
Please let us know.
In reply to prabhuraj tavag20:
>>So, how can we get the .hdr file from ffprobe command? We only see .bin, .idx and .txt files as mentioned above.
For windows output of below command generated header file. You need to rename inHeader to 1280x720_00.hdr and put it into SD card.
From your logs I see you dont have sizeBin.exe, can you please mail me at firstname.lastname@example.org so i can share binary with you?
For Linux I have never tried method specified by e2e user but i guess the size_test.bin is the header file. I will confirm this. Can you please try that file meanwhile?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.