[FFmpeg-trac] #9944(undetermined:new): Small update to sendcmd syntax

FFmpeg trac at avcodec.org
Mon Sep 26 11:37:20 EEST 2022


#9944: Small update to sendcmd syntax
-------------------------------------+-------------------------------------
             Reporter:  Jozef        |                     Type:
  Chutka                             |  enhancement
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  sendcmd      |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 I would like to propose a backward compatible improvement to `sendcmd`
 syntax.

 Currently as stated in doc:

 {{{
 COMMAND_FLAG  ::= "enter" | "leave"
 COMMAND_FLAGS ::= COMMAND_FLAG [(+|"|")COMMAND_FLAG]
 COMMAND       ::= ["[" COMMAND_FLAGS "]"] TARGET COMMAND [ARG]
 COMMANDS      ::= COMMAND [,COMMANDS]
 INTERVAL      ::= START[-END] COMMANDS
 INTERVALS     ::= INTERVAL[;INTERVALS]
 }}}

 Proposed (change on line 3)

 {{{
 COMMAND_FLAG  ::= "enter" | "leave"
 COMMAND_FLAGS ::= COMMAND_FLAG [(+|"|")COMMAND_FLAG]
 COMMAND       ::= ["[" COMMAND_FLAGS "]"] TARGET[(+|"|")TARGET] COMMAND
 [ARG]
 COMMANDS      ::= COMMAND [,COMMANDS]
 INTERVAL      ::= START[-END] COMMANDS
 INTERVALS     ::= INTERVAL[;INTERVALS]
 }}}

 With the modification in place, multiple `TARGET`s that requires the same
 value can be merged together. This will be useful for filters like
 `colorlevels` where it can reduce the amount of code/data needed.

 {{{
 sendcmd=c='0 [expr] colorlevels rimin XYZ,[expr] colorlevels gimin
 XYZ,[expr] colorlevels bimin XYZ'
 }}}

 into:

 {{{
 sendcmd=c='0 [expr] colorlevels rimin+gimin+bimin XYZ'
 sendcmd=c='0 [expr] colorlevels rimin|gimin|bimin XYZ'
 }}}

 Please also consider updating naming convention in the doc:

 {{{
 COMMAND       ::= ["[" COMMAND_FLAGS "]"] TARGET COMMAND [ARG]
 }}}

 As keyword `COMMAND` is used twice for two different things, I propose the
 following change:

 {{{
 COMMAND       ::= ["[" COMMAND_FLAGS "]"] TARGET VALUE [ARG]
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9944>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list