other_video_transcoding 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +7 -0
 - data/bin/ask-ffmpeg-log +1 -1
 - data/bin/other-transcode +68 -105
 - data/other_video_transcoding-0.4.0.gem +0 -0
 - data/other_video_transcoding.gemspec +1 -1
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: e5caa1866dd6d3035704fb8977f21d682291ebfd46a6496974399a6876b13d33
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b7c206ee00b2162bfea7b9c27f7566c879225a32efcfbf7a09fd7a9fc88f8200
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d1c667e8c485d1ab70a4c035aa53915365aa6225cab6487f0488c37fa99eb7632e1ffc262ab3f256a55d8e43c71caaa20ed1d8dd64194a275972dbc1c65dee38
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a47799076252ff46103419e41def057edfc4e63ec299b477f2360f7aad0ed866c14d0ff5f5ac2f8a3d1aeaf7a40fc47a2e3f4d203bc88c128cd0ce893f6fd22d
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -2,6 +2,13 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            This single document contains all of the notes created for each [release](https://github.com/donmelton/other_video_transcoding/releases).
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            ## [0.5.0](https://github.com/donmelton/other_video_transcoding/releases/tag/0.5.0)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Tuesday, November 24, 2020
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            * Add `--qsv-decoder` and `--qsv-device` options to `other-transcode`, both of which enable the scoped use of the Intel Quick Sync Video (QSV) decoder instead of the generic hardware decoder. These options can significantly speed operation of the QSV encoder, invoked via `--qsv`. It's recommended that `--decode all` be included when using these options to decode all video input formats. The `--qsv-device` option allows selection of specific hardware by number or path depending on platform. Please note that deinterlacing, cropping, scaling or using other filters will disable QSV's format-specific decoders.
         
     | 
| 
      
 10 
     | 
    
         
            +
            * Remove all deprecated options and arguments from `other-transcode`.
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
       5 
12 
     | 
    
         
             
            ## [0.4.0](https://github.com/donmelton/other_video_transcoding/releases/tag/0.4.0)
         
     | 
| 
       6 
13 
     | 
    
         | 
| 
       7 
14 
     | 
    
         
             
            Sunday, November 1, 2020
         
     | 
    
        data/bin/ask-ffmpeg-log
    CHANGED
    
    
    
        data/bin/other-transcode
    CHANGED
    
    | 
         @@ -18,7 +18,7 @@ module Transcoding 
     | 
|
| 
       18 
18 
     | 
    
         
             
              class Command
         
     | 
| 
       19 
19 
     | 
    
         
             
                def about
         
     | 
| 
       20 
20 
     | 
    
         
             
                  <<-HERE
         
     | 
| 
       21 
     | 
    
         
            -
            other-transcode 0. 
     | 
| 
      
 21 
     | 
    
         
            +
            other-transcode 0.5.0
         
     | 
| 
       22 
22 
     | 
    
         
             
            Copyright (c) 2019-2020 Don Melton
         
     | 
| 
       23 
23 
     | 
    
         
             
                  HERE
         
     | 
| 
       24 
24 
     | 
    
         
             
                end
         
     | 
| 
         @@ -102,6 +102,10 @@ Video options: 
     | 
|
| 
       102 
102 
     | 
    
         
             
                                  instead of generic hardware decoder
         
     | 
| 
       103 
103 
     | 
    
         
             
                                  (default: enabled when using Nvidia video encoder,
         
     | 
| 
       104 
104 
     | 
    
         
             
                                            disabled when using other encoders)
         
     | 
| 
      
 105 
     | 
    
         
            +
                --qsv-decoder   enable scoped use of Intel Quick Sync video decoder
         
     | 
| 
      
 106 
     | 
    
         
            +
                                  instead of generic hardware decoder
         
     | 
| 
      
 107 
     | 
    
         
            +
                --qsv-device DEVICE
         
     | 
| 
      
 108 
     | 
    
         
            +
                                enable scoped use of QSV decoder for specific device
         
     | 
| 
       105 
109 
     | 
    
         
             
                  HERE
         
     | 
| 
       106 
110 
     | 
    
         
             
                end
         
     | 
| 
       107 
111 
     | 
    
         | 
| 
         @@ -310,7 +314,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       310 
314 
     | 
    
         
             
                  @preset = nil
         
     | 
| 
       311 
315 
     | 
    
         
             
                  @decode_scope = :vc1
         
     | 
| 
       312 
316 
     | 
    
         
             
                  @decode_method = nil
         
     | 
| 
       313 
     | 
    
         
            -
                  @ 
     | 
| 
      
 317 
     | 
    
         
            +
                  @qsv_device = nil
         
     | 
| 
       314 
318 
     | 
    
         
             
                  @target_2160p = nil
         
     | 
| 
       315 
319 
     | 
    
         
             
                  @target_1080p = nil
         
     | 
| 
       316 
320 
     | 
    
         
             
                  @target_720p  = nil
         
     | 
| 
         @@ -498,15 +502,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       498 
502 
     | 
    
         
             
                  end
         
     | 
| 
       499 
503 
     | 
    
         | 
| 
       500 
504 
     | 
    
         
             
                  opts.on '--preset ARG' do |arg|
         
     | 
| 
       501 
     | 
    
         
            -
                     
     | 
| 
       502 
     | 
    
         
            -
                      Kernel.warn '**********'
         
     | 
| 
       503 
     | 
    
         
            -
                      Kernel.warn 'Using deprecated `--preset` argument: none'
         
     | 
| 
       504 
     | 
    
         
            -
                      Kernel.warn '**********'
         
     | 
| 
       505 
     | 
    
         
            -
                      @preset = nil
         
     | 
| 
       506 
     | 
    
         
            -
                    else
         
     | 
| 
       507 
     | 
    
         
            -
                      @preset = arg
         
     | 
| 
       508 
     | 
    
         
            -
                    end
         
     | 
| 
       509 
     | 
    
         
            -
             
     | 
| 
      
 505 
     | 
    
         
            +
                    @preset = arg
         
     | 
| 
       510 
506 
     | 
    
         
             
                    @encoder = nil if @encoder == 'copy'
         
     | 
| 
       511 
507 
     | 
    
         
             
                  end
         
     | 
| 
       512 
508 
     | 
    
         | 
| 
         @@ -523,11 +519,13 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       523 
519 
     | 
    
         
             
                    @decode_method = arg ? 'cuda' : 'auto'
         
     | 
| 
       524 
520 
     | 
    
         
             
                  end
         
     | 
| 
       525 
521 
     | 
    
         | 
| 
       526 
     | 
    
         
            -
                  opts.on '-- 
     | 
| 
       527 
     | 
    
         
            -
                     
     | 
| 
       528 
     | 
    
         
            -
             
     | 
| 
       529 
     | 
    
         
            -
             
     | 
| 
       530 
     | 
    
         
            -
             
     | 
| 
      
 522 
     | 
    
         
            +
                  opts.on '--qsv-decoder' do
         
     | 
| 
      
 523 
     | 
    
         
            +
                    @decode_method = 'qsv'
         
     | 
| 
      
 524 
     | 
    
         
            +
                  end
         
     | 
| 
      
 525 
     | 
    
         
            +
             
     | 
| 
      
 526 
     | 
    
         
            +
                  opts.on '--qsv-device ARG' do |arg|
         
     | 
| 
      
 527 
     | 
    
         
            +
                    @qsv_device = arg
         
     | 
| 
      
 528 
     | 
    
         
            +
                    @decode_method = 'qsv'
         
     | 
| 
       531 
529 
     | 
    
         
             
                  end
         
     | 
| 
       532 
530 
     | 
    
         | 
| 
       533 
531 
     | 
    
         
             
                  opts.on '--target ARG' do |arg|
         
     | 
| 
         @@ -584,7 +582,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       584 
582 
     | 
    
         
             
                    @deinterlace = true
         
     | 
| 
       585 
583 
     | 
    
         
             
                    @detelecine = false
         
     | 
| 
       586 
584 
     | 
    
         
             
                    @enable_filters = false
         
     | 
| 
       587 
     | 
    
         
            -
                    @encoder = nil if @encoder == 'copy' 
     | 
| 
      
 585 
     | 
    
         
            +
                    @encoder = nil if @encoder == 'copy'
         
     | 
| 
       588 
586 
     | 
    
         
             
                  end
         
     | 
| 
       589 
587 
     | 
    
         | 
| 
       590 
588 
     | 
    
         
             
                  opts.on '--rate ARG' do |arg|
         
     | 
| 
         @@ -650,26 +648,14 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       650 
648 
     | 
    
         
             
                    @vt_allow_sw = true
         
     | 
| 
       651 
649 
     | 
    
         
             
                  end
         
     | 
| 
       652 
650 
     | 
    
         | 
| 
       653 
     | 
    
         
            -
                  opts.on '-- 
     | 
| 
       654 
     | 
    
         
            -
                    unless arg
         
     | 
| 
       655 
     | 
    
         
            -
                      Kernel.warn '**********'
         
     | 
| 
       656 
     | 
    
         
            -
                      Kernel.warn 'Using deprecated option: --no-nvenc-spatial-aq'
         
     | 
| 
       657 
     | 
    
         
            -
                      Kernel.warn '**********'
         
     | 
| 
       658 
     | 
    
         
            -
                    end
         
     | 
| 
       659 
     | 
    
         
            -
             
     | 
| 
      
 651 
     | 
    
         
            +
                  opts.on '--nvenc-spatial-aq' do
         
     | 
| 
       660 
652 
     | 
    
         
             
                    @encoder = @hevc ? 'hevc_nvenc' : 'h264_nvenc'
         
     | 
| 
       661 
     | 
    
         
            -
                    @nvenc_spatial_aq =  
     | 
| 
      
 653 
     | 
    
         
            +
                    @nvenc_spatial_aq = true
         
     | 
| 
       662 
654 
     | 
    
         
             
                  end
         
     | 
| 
       663 
655 
     | 
    
         | 
| 
       664 
     | 
    
         
            -
                  opts.on '-- 
     | 
| 
       665 
     | 
    
         
            -
                    unless arg
         
     | 
| 
       666 
     | 
    
         
            -
                      Kernel.warn '**********'
         
     | 
| 
       667 
     | 
    
         
            -
                      Kernel.warn 'Using deprecated option: --no-nvenc-temporal-aq'
         
     | 
| 
       668 
     | 
    
         
            -
                      Kernel.warn '**********'
         
     | 
| 
       669 
     | 
    
         
            -
                    end
         
     | 
| 
       670 
     | 
    
         
            -
             
     | 
| 
      
 656 
     | 
    
         
            +
                  opts.on '--nvenc-temporal-aq' do
         
     | 
| 
       671 
657 
     | 
    
         
             
                    @encoder = @hevc ? 'hevc_nvenc' : 'h264_nvenc'
         
     | 
| 
       672 
     | 
    
         
            -
                    @nvenc_temporal_aq =  
     | 
| 
      
 658 
     | 
    
         
            +
                    @nvenc_temporal_aq = true
         
     | 
| 
       673 
659 
     | 
    
         
             
                  end
         
     | 
| 
       674 
660 
     | 
    
         | 
| 
       675 
661 
     | 
    
         
             
                  opts.on '--nvenc-lookahead ARG', Integer do |arg|
         
     | 
| 
         @@ -1563,38 +1549,10 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       1563 
1549 
     | 
    
         
             
                end
         
     | 
| 
       1564 
1550 
     | 
    
         | 
| 
       1565 
1551 
     | 
    
         
             
                def get_video_options(media_info, video, burn_subtitle, crop)
         
     | 
| 
       1566 
     | 
    
         
            -
                  if @decoder_type == :cuvid
         
     | 
| 
       1567 
     | 
    
         
            -
                    cuvid_decoder = case video['codec_name']
         
     | 
| 
       1568 
     | 
    
         
            -
                    when 'mpeg1video'
         
     | 
| 
       1569 
     | 
    
         
            -
                      'mpeg1_cuvid'
         
     | 
| 
       1570 
     | 
    
         
            -
                    when 'mpeg2video'
         
     | 
| 
       1571 
     | 
    
         
            -
                      'mpeg2_cuvid'
         
     | 
| 
       1572 
     | 
    
         
            -
                    when 'mjpeg'
         
     | 
| 
       1573 
     | 
    
         
            -
                      'mjpeg_cuvid'
         
     | 
| 
       1574 
     | 
    
         
            -
                    when 'mpeg4'
         
     | 
| 
       1575 
     | 
    
         
            -
                      'mpeg4_cuvid'
         
     | 
| 
       1576 
     | 
    
         
            -
                    when 'h264'
         
     | 
| 
       1577 
     | 
    
         
            -
                      'h264_cuvid'
         
     | 
| 
       1578 
     | 
    
         
            -
                    when 'vc1'
         
     | 
| 
       1579 
     | 
    
         
            -
                      'vc1_cuvid'
         
     | 
| 
       1580 
     | 
    
         
            -
                    when 'vp8'
         
     | 
| 
       1581 
     | 
    
         
            -
                      'vp8_cuvid'
         
     | 
| 
       1582 
     | 
    
         
            -
                    when 'vp9'
         
     | 
| 
       1583 
     | 
    
         
            -
                      'vp9_cuvid'
         
     | 
| 
       1584 
     | 
    
         
            -
                    when 'hevc'
         
     | 
| 
       1585 
     | 
    
         
            -
                      'hevc_cuvid'
         
     | 
| 
       1586 
     | 
    
         
            -
                    end
         
     | 
| 
       1587 
     | 
    
         
            -
                  else
         
     | 
| 
       1588 
     | 
    
         
            -
                    cuvid_decoder = nil
         
     | 
| 
       1589 
     | 
    
         
            -
                  end
         
     | 
| 
       1590 
     | 
    
         
            -
             
     | 
| 
       1591 
     | 
    
         
            -
                  cuvid_options = []
         
     | 
| 
       1592 
     | 
    
         
            -
             
     | 
| 
       1593 
1552 
     | 
    
         
             
                  if burn_subtitle.nil?
         
     | 
| 
       1594 
1553 
     | 
    
         
             
                    overlay_filter = nil
         
     | 
| 
       1595 
1554 
     | 
    
         
             
                  else
         
     | 
| 
       1596 
1555 
     | 
    
         
             
                    overlay_filter = "[0:#{burn_subtitle['index']}]overlay"
         
     | 
| 
       1597 
     | 
    
         
            -
                    cuvid_decoder = nil
         
     | 
| 
       1598 
1556 
     | 
    
         
             
                  end
         
     | 
| 
       1599 
1557 
     | 
    
         | 
| 
       1600 
1558 
     | 
    
         
             
                  deinterlace = @deinterlace
         
     | 
| 
         @@ -1613,11 +1571,7 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       1613 
1571 
     | 
    
         
             
                  frame_rate_filter = nil
         
     | 
| 
       1614 
1572 
     | 
    
         | 
| 
       1615 
1573 
     | 
    
         
             
                  if deinterlace
         
     | 
| 
       1616 
     | 
    
         
            -
                     
     | 
| 
       1617 
     | 
    
         
            -
                      frame_rate_filter = 'yadif=deint=interlaced' unless @encoder == 'copy'
         
     | 
| 
       1618 
     | 
    
         
            -
                    else
         
     | 
| 
       1619 
     | 
    
         
            -
                      cuvid_options += ['-deint:v', 'adaptive']
         
     | 
| 
       1620 
     | 
    
         
            -
                    end
         
     | 
| 
      
 1574 
     | 
    
         
            +
                    frame_rate_filter = 'yadif=deint=interlaced' unless @encoder == 'copy'
         
     | 
| 
       1621 
1575 
     | 
    
         
             
                  end
         
     | 
| 
       1622 
1576 
     | 
    
         | 
| 
       1623 
1577 
     | 
    
         
             
                  unless rate.nil?
         
     | 
| 
         @@ -1628,7 +1582,6 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       1628 
1582 
     | 
    
         | 
| 
       1629 
1583 
     | 
    
         
             
                  if @detelecine
         
     | 
| 
       1630 
1584 
     | 
    
         
             
                    frame_rate_filter = 'fieldmatch=order=tff:combmatch=none,decimate'
         
     | 
| 
       1631 
     | 
    
         
            -
                    cuvid_decoder = nil
         
     | 
| 
       1632 
1585 
     | 
    
         
             
                  end
         
     | 
| 
       1633 
1586 
     | 
    
         | 
| 
       1634 
1587 
     | 
    
         
             
                  width   = video['width'].to_i
         
     | 
| 
         @@ -1643,21 +1596,9 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       1643 
1596 
     | 
    
         
             
                  if crop.nil? or (crop == {:width => width, :height => height, :x => 0, :y => 0})
         
     | 
| 
       1644 
1597 
     | 
    
         
             
                    crop_filter = nil
         
     | 
| 
       1645 
1598 
     | 
    
         
             
                  else
         
     | 
| 
       1646 
     | 
    
         
            -
                     
     | 
| 
       1647 
     | 
    
         
            -
                     
     | 
| 
       1648 
     | 
    
         
            -
                     
     | 
| 
       1649 
     | 
    
         
            -
                    height        = crop[:height]
         
     | 
| 
       1650 
     | 
    
         
            -
             
     | 
| 
       1651 
     | 
    
         
            -
                    if cuvid_decoder.nil?
         
     | 
| 
       1652 
     | 
    
         
            -
                      crop_filter = "crop=#{width}:#{height}:#{crop[:x]}:#{crop[:y]}"
         
     | 
| 
       1653 
     | 
    
         
            -
                    else
         
     | 
| 
       1654 
     | 
    
         
            -
                      crop_filter = nil
         
     | 
| 
       1655 
     | 
    
         
            -
                      top     = crop[:y]
         
     | 
| 
       1656 
     | 
    
         
            -
                      bottom  = media_height - (top + height)
         
     | 
| 
       1657 
     | 
    
         
            -
                      left    = crop[:x]
         
     | 
| 
       1658 
     | 
    
         
            -
                      right   = media_width - (left + width)
         
     | 
| 
       1659 
     | 
    
         
            -
                      cuvid_options += ['-crop:v', "#{top}x#{bottom}x#{left}x#{right}"]
         
     | 
| 
       1660 
     | 
    
         
            -
                    end
         
     | 
| 
      
 1599 
     | 
    
         
            +
                    width       = crop[:width]
         
     | 
| 
      
 1600 
     | 
    
         
            +
                    height      = crop[:height]
         
     | 
| 
      
 1601 
     | 
    
         
            +
                    crop_filter = "crop=#{width}:#{height}:#{crop[:x]}:#{crop[:y]}"
         
     | 
| 
       1661 
1602 
     | 
    
         
             
                  end
         
     | 
| 
       1662 
1603 
     | 
    
         | 
| 
       1663 
1604 
     | 
    
         
             
                  if @hevc
         
     | 
| 
         @@ -1672,14 +1613,8 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       1672 
1613 
     | 
    
         
             
                    scale = [(max_width.to_f / width), (max_height.to_f / height)].min
         
     | 
| 
       1673 
1614 
     | 
    
         
             
                    width   = ((width   * scale).ceil / 2) * 2
         
     | 
| 
       1674 
1615 
     | 
    
         
             
                    height  = ((height  * scale).ceil / 2) * 2
         
     | 
| 
       1675 
     | 
    
         
            -
             
     | 
| 
       1676 
     | 
    
         
            -
                     
     | 
| 
       1677 
     | 
    
         
            -
                      scale_filter = "scale=#{width}:#{height}"
         
     | 
| 
       1678 
     | 
    
         
            -
                      scale_filter += ':flags=bicubic' unless overlay_filter.nil?
         
     | 
| 
       1679 
     | 
    
         
            -
                    else
         
     | 
| 
       1680 
     | 
    
         
            -
                      scale_filter = nil
         
     | 
| 
       1681 
     | 
    
         
            -
                      cuvid_options += ['-resize:v', "#{width}x#{height}"]
         
     | 
| 
       1682 
     | 
    
         
            -
                    end
         
     | 
| 
      
 1616 
     | 
    
         
            +
                    scale_filter = "scale=#{width}:#{height}"
         
     | 
| 
      
 1617 
     | 
    
         
            +
                    scale_filter += ':flags=bicubic' unless overlay_filter.nil?
         
     | 
| 
       1683 
1618 
     | 
    
         
             
                  else
         
     | 
| 
       1684 
1619 
     | 
    
         
             
                    scale_filter = nil
         
     | 
| 
       1685 
1620 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -1690,24 +1625,52 @@ Requires `ffprobe`, `ffmpeg` and `mkvpropedit`. 
     | 
|
| 
       1690 
1625 
     | 
    
         
             
                    decode_options = []
         
     | 
| 
       1691 
1626 
     | 
    
         
             
                  end
         
     | 
| 
       1692 
1627 
     | 
    
         | 
| 
       1693 
     | 
    
         
            -
                  if  
     | 
| 
       1694 
     | 
    
         
            -
                    if  
     | 
| 
       1695 
     | 
    
         
            -
                       
     | 
| 
       1696 
     | 
    
         
            -
                         
     | 
| 
       1697 
     | 
    
         
            -
             
     | 
| 
       1698 
     | 
    
         
            -
             
     | 
| 
       1699 
     | 
    
         
            -
             
     | 
| 
       1700 
     | 
    
         
            -
             
     | 
| 
      
 1628 
     | 
    
         
            +
                  if (@decode_scope == :vc1 and video['codec_name'] == 'vc1') or @decode_scope == :all
         
     | 
| 
      
 1629 
     | 
    
         
            +
                    if @encoder =~ /vaapi$/
         
     | 
| 
      
 1630 
     | 
    
         
            +
                      decode_options = [
         
     | 
| 
      
 1631 
     | 
    
         
            +
                        '-hwaccel', 'vaapi',
         
     | 
| 
      
 1632 
     | 
    
         
            +
                        '-hwaccel_device', '/dev/dri/renderD128',
         
     | 
| 
      
 1633 
     | 
    
         
            +
                        '-hwaccel_output_format', 'vaapi'
         
     | 
| 
      
 1634 
     | 
    
         
            +
                      ]
         
     | 
| 
      
 1635 
     | 
    
         
            +
                    else
         
     | 
| 
      
 1636 
     | 
    
         
            +
                      if @decode_method == 'qsv' and @encoder != 'h264_qsv'
         
     | 
| 
      
 1637 
     | 
    
         
            +
                        decode_method = 'auto'
         
     | 
| 
       1701 
1638 
     | 
    
         
             
                      else
         
     | 
| 
       1702 
     | 
    
         
            -
                         
     | 
| 
      
 1639 
     | 
    
         
            +
                        decode_method = @decode_method
         
     | 
| 
       1703 
1640 
     | 
    
         
             
                      end
         
     | 
| 
       1704 
     | 
    
         
            -
                    end
         
     | 
| 
       1705 
     | 
    
         
            -
                  else
         
     | 
| 
       1706 
     | 
    
         
            -
                    Kernel.warn "video decoder = #{cuvid_decoder}"
         
     | 
| 
       1707 
1641 
     | 
    
         | 
| 
       1708 
     | 
    
         
            -
             
     | 
| 
       1709 
     | 
    
         
            -
             
     | 
| 
       1710 
     | 
    
         
            -
             
     | 
| 
      
 1642 
     | 
    
         
            +
                      decode_options += ['-hwaccel', decode_method]
         
     | 
| 
      
 1643 
     | 
    
         
            +
             
     | 
| 
      
 1644 
     | 
    
         
            +
                      if  decode_method == 'qsv' and
         
     | 
| 
      
 1645 
     | 
    
         
            +
                          overlay_filter.nil? and
         
     | 
| 
      
 1646 
     | 
    
         
            +
                          frame_rate_filter.nil? and
         
     | 
| 
      
 1647 
     | 
    
         
            +
                          crop_filter.nil? and
         
     | 
| 
      
 1648 
     | 
    
         
            +
                          scale_filter.nil?
         
     | 
| 
      
 1649 
     | 
    
         
            +
                        qsv_decoder = case video['codec_name']
         
     | 
| 
      
 1650 
     | 
    
         
            +
                        when 'av1'
         
     | 
| 
      
 1651 
     | 
    
         
            +
                          'av1_qsv'
         
     | 
| 
      
 1652 
     | 
    
         
            +
                        when 'h264'
         
     | 
| 
      
 1653 
     | 
    
         
            +
                          'h264_qsv'
         
     | 
| 
      
 1654 
     | 
    
         
            +
                        when 'hevc'
         
     | 
| 
      
 1655 
     | 
    
         
            +
                          'hevc_qsv'
         
     | 
| 
      
 1656 
     | 
    
         
            +
                        when 'mjpeg'
         
     | 
| 
      
 1657 
     | 
    
         
            +
                          'mjpeg_qsv'
         
     | 
| 
      
 1658 
     | 
    
         
            +
                        when 'mpeg2video'
         
     | 
| 
      
 1659 
     | 
    
         
            +
                          'mpeg2_qsv'
         
     | 
| 
      
 1660 
     | 
    
         
            +
                        when 'vc1'
         
     | 
| 
      
 1661 
     | 
    
         
            +
                          'vc1_qsv'
         
     | 
| 
      
 1662 
     | 
    
         
            +
                        when 'vp8'
         
     | 
| 
      
 1663 
     | 
    
         
            +
                          'vp8_qsv'
         
     | 
| 
      
 1664 
     | 
    
         
            +
                        when 'vp9'
         
     | 
| 
      
 1665 
     | 
    
         
            +
                          'vp9_qsv'
         
     | 
| 
      
 1666 
     | 
    
         
            +
                        else
         
     | 
| 
      
 1667 
     | 
    
         
            +
                          nil
         
     | 
| 
      
 1668 
     | 
    
         
            +
                        end
         
     | 
| 
      
 1669 
     | 
    
         
            +
             
     | 
| 
      
 1670 
     | 
    
         
            +
                        decode_options += ['-qsv_device', @qsv_device] unless @qsv_device.nil?
         
     | 
| 
      
 1671 
     | 
    
         
            +
                        decode_options += ['-c:v', qsv_decoder] unless qsv_decoder.nil?
         
     | 
| 
      
 1672 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1673 
     | 
    
         
            +
                    end
         
     | 
| 
       1711 
1674 
     | 
    
         
             
                  end
         
     | 
| 
       1712 
1675 
     | 
    
         | 
| 
       1713 
1676 
     | 
    
         
             
                  if @encoder =~ /vaapi$/ and not decode_options.include?('-hwaccel')
         
     | 
| 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: other_video_transcoding
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.5.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Don Melton
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2020-11- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2020-11-24 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       13 
13 
     | 
    
         
             
            description: "    Other Video Transcoding is a package of tools to transcode videos.\n"
         
     | 
| 
       14 
14 
     | 
    
         
             
            email: don@blivet.com
         
     | 
| 
         @@ -31,6 +31,7 @@ files: 
     | 
|
| 
       31 
31 
     | 
    
         
             
            - other_video_transcoding-0.3.0.gem
         
     | 
| 
       32 
32 
     | 
    
         
             
            - other_video_transcoding-0.3.1.gem
         
     | 
| 
       33 
33 
     | 
    
         
             
            - other_video_transcoding-0.3.2.gem
         
     | 
| 
      
 34 
     | 
    
         
            +
            - other_video_transcoding-0.4.0.gem
         
     | 
| 
       34 
35 
     | 
    
         
             
            - other_video_transcoding.gemspec
         
     | 
| 
       35 
36 
     | 
    
         
             
            homepage: https://github.com/donmelton/other_video_transcoding
         
     | 
| 
       36 
37 
     | 
    
         
             
            licenses:
         
     |