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

Mark Thompson sw at jkqxz.net
Tue Mar 27 03:31:43 EEST 2018


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.

- Mark


More information about the ffmpeg-devel mailing list