Opened 6 years ago

Last modified 6 years ago

#7053 new enhancement

bitpacked codec too limited

Reported by: chacha Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: rtp
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I am currently using ffplay to check RTP streams generated by third-party programs (along with their SDP files)
Currently, ffplay can only decode YUV422 8 and 10 bits, sent to the bitpacked codec.

However the RFC4175 (about RTP streams) submits far more formats :
YUV422 12bits,
YUV422 16bits,
RGB888,
RGB101010,
RGB121212, (with variants BGR/RGBA...)

it would be great if rtpdec_4175.c and bitpacked.c could be updated to handle those formats (that must be decoded somewhere else in libavformat with another codepath linked to another codec)

Attachments (2)

RTPGenerator.cpp (28.5 KB ) - added by chacha 6 years ago.
0001-added-12-14-16-bit-depth-variatiosn-to-YUV422-packed.patch (5.9 KB ) - added by chacha 6 years ago.
patch for ticket #7053

Download all attachments as: .zip

Change History (7)

comment:1 by Carl Eugen Hoyos, 6 years ago

Component: avcodecavformat
Keywords: rtp added
Priority: normalwish
Version: 3.4git-master

Where can I find sample streams?

by chacha, 6 years ago

Attachment: RTPGenerator.cpp added

comment:2 by chacha, 6 years ago

I have attached a program I made to genenerate such streams and their sdp files.
Currently it can generate RGB888, YUV422-8b, YUV422-10b, YUV422-12b, YUV422-14b, YUV422-16b
It can be compiled under Windows or Linux with a c++-11 compliant compiler

comment:3 by chacha, 6 years ago

The rtp streams can be displayed by ffplay (currently only with YUV422-8b or YUV422-10b) with such a command :
ffplay -protocol_whitelist "file,rtp,udp" -strict -2 -i rtpgenerator.sdp

comment:4 by chacha, 6 years ago

I have added a patch that adds 12, 14, 16 bit depths variations to YUV422 packed.

comment:5 by Carl Eugen Hoyos, 6 years ago

Please send your patch to the FFmpeg development mailing list where it can be reviewed.

Note: See TracTickets for help on using tickets.