@@ -297,11 +297,13 @@ def Populate(self, filter=""):
297
297
value_list .remove (value_item )
298
298
299
299
# Remove hardware mode items which cannot decode the example video
300
+ log .debug ("Preparing to test hardware decoding: %s" % (value_list ))
300
301
for value_item in list (value_list ):
301
302
v = value_item ["value" ]
302
- if not self .testHardwareDecode (v , 0 ) and \
303
- not self .testHardwareDecode (v , 1 ):
303
+ if not self .testHardwareDecode (value_list , v , 0 ) and \
304
+ not self .testHardwareDecode (value_list , v , 1 ):
304
305
value_list .remove (value_item )
306
+ log .debug ("Completed hardware decoding testing" )
305
307
306
308
# Replace %s dropdown values for hardware acceleration
307
309
if param ["setting" ] in ("graca_number_en" , "graca_number_de" ):
@@ -536,10 +538,11 @@ def dropdown_index_changed(self, widget, param, index):
536
538
# Check for restart
537
539
self .check_for_restart (param )
538
540
539
- def testHardwareDecode (self , decoder , decoder_card = "0" ):
541
+ def testHardwareDecode (self , all_decoders , decoder , decoder_card = "0" ):
540
542
"""Test specific settings for hardware decode, so the UI can remove unsupported options."""
541
543
is_supported = False
542
544
example_media = os .path .join (info .RESOURCES_PATH , "hardware-example.mp4" )
545
+ decoder_name = next (item for item in all_decoders if item ["value" ] == str (decoder )).get ("name" , "Unknown" )
543
546
544
547
# Persist decoder card results
545
548
if decoder_card not in self .hardware_tests_cards :
@@ -552,6 +555,9 @@ def testHardwareDecode(self, decoder, decoder_card="0"):
552
555
# Keep track of previous settings
553
556
current_decoder = openshot .Settings .Instance ().HARDWARE_DECODER
554
557
current_decoder_card = openshot .Settings .Instance ().HW_DE_DEVICE_SET
558
+ current_decoder_name = \
559
+ next (item for item in all_decoders if item ["value" ] == str (current_decoder )).get ("name" , "Unknown" )
560
+ log .debug ("Current hardware decoder: %s (%s-%s)" % (current_decoder_name , current_decoder , current_decoder_card ))
555
561
556
562
try :
557
563
# Temp override hardware settings (to test them)
@@ -566,17 +572,21 @@ def testHardwareDecode(self, decoder, decoder_card="0"):
566
572
reader .Open ()
567
573
568
574
# Test decoded pixel values for a valid decode (based on hardware-example.mp4)
575
+ log .debug ("Testing hardware decoder: %s (%s-%s)" % (decoder_name , decoder , decoder_card ))
569
576
if reader .GetFrame (0 ).CheckPixel (0 , 0 , 2 , 133 , 255 , 255 , 5 ):
570
577
is_supported = True
571
578
self .hardware_tests_cards [decoder_card ].append (int (decoder ))
579
+ log .debug ("Successful hardware decoder! %s (%s-%s)" % (decoder_name , decoder , decoder_card ))
572
580
else :
573
- log .warning ("CheckPixel failed testing hardware decoding in preferences (i.e. wrong color found): %s-%s" % (decoder , decoder_card ))
581
+ log .debug ("CheckPixel failed testing hardware decoding (i.e. wrong color found): %s (%s-%s)" %
582
+ (decoder_name , decoder , decoder_card ))
574
583
575
584
reader .Close ()
576
585
clip .Close ()
577
586
578
587
except :
579
- log .warning ("Exception trying to test hardware decoding in preferences (this is expected): %s-%s" % (decoder , decoder_card ))
588
+ log .debug ("Exception trying to test hardware decoding (this is expected): %s (%s-%s)" %
589
+ (decoder_name , decoder , decoder_card ))
580
590
581
591
# Resume current settings
582
592
openshot .Settings .Instance ().HARDWARE_DECODER = current_decoder
0 commit comments