[FFmpeg-devel] [PATCH 2/5] h264_metadata: Add support for A/53 closed captions

James Almer jamrial at gmail.com
Tue Mar 27 04:08:05 EEST 2018


On 3/26/2018 9:31 PM, Mark Thompson wrote:
> On 27/03/18 01:20, Michael Niedermayer wrote:
>> On Sun, Mar 25, 2018 at 06:41:34PM +0100, Mark Thompson wrote:
>>> Allows insertion (from side data), extraction (to side data), and removal
>>> of closed captions in SEI messages.
>>> ---
>>>  libavcodec/Makefile            |   2 +-
>>>  libavcodec/h264_metadata_bsf.c | 138 +++++++++++++++++++++++++++++++++++++++++
>>>  2 files changed, 139 insertions(+), 1 deletion(-)
>>
>> This breaks build on mips-linux-gnu-gcc-4.4 (Debian 4.4.5-8) 4.4.5
>>
>>
>> In file included from src/libavcodec/cbs_misc.c:25:
>> src/libavcodec/cbs_misc.h:73: warning: declaration does not declare anything
>> src/libavcodec/cbs_misc.h:86: warning: declaration does not declare anything
>> In file included from src/libavcodec/cbs_misc.c:57:
>> src/libavcodec/cbs_misc_syntax_template.c: In function ‘cbs_misc_read_a53_atsc_user_data’:
>> src/libavcodec/cbs_misc_syntax_template.c:102: error: ‘A53ATSCUserData’ has no member named ‘cc_data’
>> src/libavcodec/cbs_misc_syntax_template.c:104: error: ‘A53ATSCUserData’ has no member named ‘bar_data’
>> src/libavcodec/cbs_misc_syntax_template.c: In function ‘cbs_misc_read_a53_user_data’:
>> src/libavcodec/cbs_misc_syntax_template.c:140: error: ‘A53UserData’ has no member named ‘atsc’
>> src/libavcodec/cbs_misc_syntax_template.c:142: error: ‘A53UserData’ has no member named ‘afd’
>> In file included from src/libavcodec/cbs_misc.c:82:
>> src/libavcodec/cbs_misc_syntax_template.c: In function ‘cbs_misc_write_a53_atsc_user_data’:
>> src/libavcodec/cbs_misc_syntax_template.c:102: error: ‘A53ATSCUserData’ has no member named ‘cc_data’
>> src/libavcodec/cbs_misc_syntax_template.c:104: error: ‘A53ATSCUserData’ has no member named ‘bar_data’
>> src/libavcodec/cbs_misc_syntax_template.c: In function ‘cbs_misc_write_a53_user_data’:
>> src/libavcodec/cbs_misc_syntax_template.c:140: error: ‘A53UserData’ has no member named ‘atsc’
>> src/libavcodec/cbs_misc_syntax_template.c:142: error: ‘A53UserData’ has no member named ‘afd’
>> src/libavcodec/cbs_misc.c: In function ‘ff_cbs_read_a53_cc_side_data’:
>> src/libavcodec/cbs_misc.c:153: error: unknown field ‘atsc’ specified in initializer
>> src/libavcodec/cbs_misc.c:153: error: extra brace group at end of initializer
>> src/libavcodec/cbs_misc.c:153: error: (near initialization for ‘(anonymous)’)
>> src/libavcodec/cbs_misc.c:156: error: extra brace group at end of initializer
>> src/libavcodec/cbs_misc.c:156: error: (near initialization for ‘(anonymous)’)
>> src/libavcodec/cbs_misc.c:165: warning: excess elements in struct initializer
>> src/libavcodec/cbs_misc.c:165: warning: (near initialization for ‘(anonymous)’)
>> src/libavcodec/cbs_misc.c:167: error: ‘A53UserData’ has no member named ‘atsc’
>> src/libavcodec/cbs_misc.c: In function ‘ff_cbs_write_a53_cc_side_data’:
>> src/libavcodec/cbs_misc.c:193: error: ‘A53UserData’ has no member named ‘atsc’
>> src/libavcodec/cbs_misc.c:196: error: ‘A53UserData’ has no member named ‘atsc’
>> CC	libavcodec/dpxenc.o
>> CC	libavcodec/dpx_parser.o
>> make: *** [libavcodec/cbs_misc.o] Error 1
>> make: *** Waiting for unfinished jobs....
>> src/libavcodec/dnxhddec.c:146: warning: ‘dnxhd_decode_init_thread_copy’ defined but not used
>> src/libavcodec/dnxhdenc.c: In function ‘dnxhd_encode_init’:
>> src/libavcodec/dnxhdenc.c:518: warning: ‘coded_frame’ is deprecated (declared at src/libavcodec/avcodec.h:2760)
>> src/libavcodec/dnxhdenc.c:519: warning: ‘coded_frame’ is deprecated (declared at src/libavcodec/avcodec.h:2760)
>> src/libavcodec/dnxhdenc.c: In function ‘dnxhd_load_picture’:
>> src/libavcodec/dnxhdenc.c:1272: warning: ‘coded_frame’ is deprecated (declared at src/libavcodec/avcodec.h:2760)
>> src/libavcodec/dnxhdenc.c: In function ‘dnxhd_encode_picture’:
>> src/libavcodec/dnxhdenc.c:1337: warning: ‘coded_frame’ is deprecated (declared at src/libavcodec/avcodec.h:2760)
>> src/libavcodec/dpxenc.c: In function ‘encode_frame’:
>> src/libavcodec/dpxenc.c:180: warning: ‘need_align’ may be used uninitialized in this function
>> src/libavcodec/dpxenc.c:180: warning: ‘len’ may be used uninitialized in this function
>>
>>
>> [...]
> 
> Do you happen to know what set of compilers lack anonymous union support like this?  It's quite tempting to add a configure option to just not build it for them.

Apparently, GCC prior to 4.6
See commit b93d96a07be40f8e5d267d55fe961285586c0fd7


More information about the ffmpeg-devel mailing list